From f8ab9775a46b1cc015c6544e011bf69d5e04ceae Mon Sep 17 00:00:00 2001 From: chuhanku Date: Tue, 4 Aug 2026 20:54:16 +0800 Subject: [PATCH 1/4] feat(studio): add GitHub CI/CD delivery integration --- tests/cli/test_github_cicd.py | 495 ++++++++++++++++++++++ tests/cli/test_studio_agentkit_deploy.py | 244 +++++++++++ veadk/cli/cli.py | 2 + veadk/cli/cli_frontend.py | 114 +++-- veadk/cli/cli_github_cicd_pipeline.py | 80 ++++ veadk/cli/github_cicd.py | 518 +++++++++++++++++++++++ veadk/cli/studio_agentkit_deploy.py | 405 ++++++++++++++++++ 7 files changed, 1792 insertions(+), 66 deletions(-) create mode 100644 tests/cli/test_github_cicd.py create mode 100644 tests/cli/test_studio_agentkit_deploy.py create mode 100644 veadk/cli/cli_github_cicd_pipeline.py create mode 100644 veadk/cli/github_cicd.py create mode 100644 veadk/cli/studio_agentkit_deploy.py diff --git a/tests/cli/test_github_cicd.py b/tests/cli/test_github_cicd.py new file mode 100644 index 00000000..0b6e1f0f --- /dev/null +++ b/tests/cli/test_github_cicd.py @@ -0,0 +1,495 @@ +# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import json +from pathlib import Path +from types import SimpleNamespace +from typing import Any + +import pytest +from click.testing import CliRunner +from fastapi import FastAPI +from fastapi.testclient import TestClient + +from veadk.cli.cli import veadk +from veadk.cli.cli_frontend import _run_frontend_server + + +PROJECT = { + "name": "demo_agent", + "files": [ + {"path": "app.py", "content": "app = object()\n"}, + {"path": "requirements.txt", "content": "veadk-python\n"}, + ], +} + + +def test_parse_github_repo_url_accepts_common_forms() -> None: + from veadk.cli.github_cicd import parse_github_repo_url + + assert parse_github_repo_url("https://github.com/acme/demo") == ("acme", "demo") + assert parse_github_repo_url("https://github.com/acme/demo.git") == ( + "acme", + "demo", + ) + assert parse_github_repo_url("git@github.com:acme/demo.git") == ( + "acme", + "demo", + ) + + +def test_create_github_cicd_pipeline_commits_pr_and_creates_runtime( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import create_github_cicd_pipeline + + github = FakeGitHubClient() + deploy_calls: list[dict[str, Any]] = [] + + def deployer(**kwargs: Any) -> dict[str, Any]: + deploy_calls.append(kwargs) + return { + "runtimeId": "rt-first", + "agentName": kwargs["project"]["name"], + "region": kwargs["region"], + "version": 1, + } + + result = create_github_cicd_pipeline( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + region="cn-beijing", + github_client=github, + deployer=deployer, + state_path=tmp_path / "state.json", + ) + + assert result["pipelineId"] == "github-acme-demo-studio-demo-agent" + assert result["github"]["branch"] == "studio/demo-agent" + assert result["github"]["commitSha"] == "commit-1" + assert result["github"]["pullRequestUrl"] == "https://github.com/acme/demo/pull/1" + assert result["deployment"]["runtimeId"] == "rt-first" + assert result["status"] == "succeeded" + assert result["phase"] == "ready" + assert isinstance(result["updatedAt"], str) + assert deploy_calls == [ + { + "project": PROJECT, + "region": "cn-beijing", + "runtime_id": "", + "description": "GitHub CI/CD deployment from acme/demo@studio/demo-agent", + } + ] + assert github.created_branch == ("main-sha", "studio/demo-agent") + assert github.committed_files == PROJECT["files"] + assert github.pull_request == ("studio/demo-agent", "main") + + state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) + assert state["github-acme-demo-studio-demo-agent"]["status"] == "succeeded" + assert state["github-acme-demo-studio-demo-agent"]["phase"] == "ready" + assert state["github-acme-demo-studio-demo-agent"]["runtimeId"] == "rt-first" + + +def test_create_github_cicd_pipeline_reports_progress(tmp_path: Path) -> None: + from veadk.cli.github_cicd import create_github_cicd_pipeline + + events: list[str] = [] + + def deployer(**kwargs: Any) -> dict[str, Any]: + return { + "runtimeId": kwargs["runtime_id"] or "rt-created", + "agentName": kwargs["project"]["name"], + "region": kwargs["region"], + "version": 1, + } + + create_github_cicd_pipeline( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + region="cn-beijing", + github_client=FakeGitHubClient(), + deployer=deployer, + state_path=tmp_path / "state.json", + progress=events.append, + ) + + assert events == [ + "Validating AgentProject...", + "Connecting GitHub repo acme/demo...", + "Reading base branch main...", + "Ensuring Studio branch studio/demo-agent...", + "Committing 2 file(s) to studio/demo-agent...", + "Ensuring pull request studio/demo-agent -> main...", + "Deploying AgentKit Runtime...", + "Saving GitHub CI/CD pipeline state...", + "GitHub CI/CD pipeline ready.", + ] + + +def test_default_deployer_uses_shared_studio_agentkit_deploy( + monkeypatch: pytest.MonkeyPatch, +) -> None: + from veadk.cli import github_cicd + + captured: dict[str, Any] = {} + + def deploy_agentkit_project(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return {"runtimeId": "rt-shared"} + + monkeypatch.setattr( + "veadk.cli.studio_agentkit_deploy.deploy_agentkit_project", + deploy_agentkit_project, + ) + + result = github_cicd._default_deployer( + project=PROJECT, + region="cn-beijing", + runtime_id="", + description="demo", + ) + + assert result == {"runtimeId": "rt-shared"} + assert captured["project"] == PROJECT + + +def test_create_github_cicd_pipeline_reuses_runtime_on_next_run( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import create_github_cicd_pipeline + + state_path = tmp_path / "state.json" + first_github = FakeGitHubClient(commit_sha="commit-1") + second_github = FakeGitHubClient(commit_sha="commit-2") + runtime_ids: list[str] = [] + + def deployer(**kwargs: Any) -> dict[str, Any]: + runtime_ids.append(kwargs["runtime_id"]) + return { + "runtimeId": kwargs["runtime_id"] or "rt-created", + "agentName": kwargs["project"]["name"], + "region": kwargs["region"], + "version": 1 if not kwargs["runtime_id"] else 2, + } + + create_github_cicd_pipeline( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + region="cn-beijing", + github_client=first_github, + deployer=deployer, + state_path=state_path, + ) + result = create_github_cicd_pipeline( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + region="cn-beijing", + github_client=second_github, + deployer=deployer, + state_path=state_path, + ) + + assert runtime_ids == ["", "rt-created"] + assert result["github"]["commitSha"] == "commit-2" + assert result["deployment"]["runtimeId"] == "rt-created" + assert result["deployment"]["version"] == 2 + + +def test_create_github_cicd_pipeline_persists_failed_deploy_state( + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import GitHubCicdError, create_github_cicd_pipeline + + def deployer(**_kwargs: Any) -> dict[str, Any]: + raise GitHubCicdError( + "Runtime status is Error. Initialization failed", + phase="deploy", + runtime_id="rt-failed", + log_path="/tmp/runtime.log", + ) + + with pytest.raises(GitHubCicdError) as exc: + create_github_cicd_pipeline( + project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", + region="cn-beijing", + github_client=FakeGitHubClient(), + deployer=deployer, + state_path=tmp_path / "state.json", + ) + + assert exc.value.phase == "deploy" + assert exc.value.runtime_id == "rt-failed" + assert exc.value.to_response() == { + "status": "failed", + "phase": "deploy", + "message": "Runtime status is Error. Initialization failed", + "runtimeId": "rt-failed", + "logPath": "/tmp/runtime.log", + } + state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) + failed = state["github-acme-demo-studio-demo-agent"] + assert failed["status"] == "failed" + assert failed["phase"] == "deploy" + assert failed["runtimeId"] == "rt-failed" + assert failed["latestCommitSha"] == "commit-1" + assert failed["pullRequestUrl"] == "https://github.com/acme/demo/pull/1" + assert failed["lastError"]["message"] == ( + "Runtime status is Error. Initialization failed" + ) + + +def test_github_cicd_pipeline_cli_reads_project_json_and_runs_github_cicd( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + captured: dict[str, Any] = {} + + def fake_create_github_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + kwargs["progress"]("Testing progress output...") + return { + "pipelineId": "github-acme-demo-studio-demo-agent", + "status": "succeeded", + "phase": "ready", + "github": {"pullRequestUrl": "https://github.com/acme/demo/pull/1"}, + "deployment": {"runtimeId": "rt-1"}, + } + + monkeypatch.setattr( + "veadk.cli.cli_github_cicd_pipeline.create_github_cicd_pipeline", + fake_create_github_cicd_pipeline, + ) + project_json = tmp_path / "agent-project.json" + project_json.write_text(json.dumps(PROJECT), encoding="utf-8") + + result = CliRunner().invoke( + veadk, + [ + "github-cicd-pipeline", + "--github-url", + "https://github.com/acme/demo", + "--github-token", + "ghp_secret", + "--github-branch", + "main", + "--project-json", + str(project_json), + "--region", + "cn-beijing", + ], + ) + + assert result.exit_code == 0 + assert captured["project"] == PROJECT + assert captured["github_url"] == "https://github.com/acme/demo" + assert captured["github_token"] == "ghp_secret" + assert captured["base_branch"] == "main" + assert captured["region"] == "cn-beijing" + assert callable(captured["progress"]) + assert "[github-cicd] Testing progress output..." in result.output + assert "ghp_secret" not in result.output + assert "github-acme-demo-studio-demo-agent" in result.output + assert '"status": "succeeded"' in result.output + + +def test_studio_endpoint_creates_github_cicd_pipeline( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + captured: dict[str, Any] = {} + + def fake_create_github_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "pipelineId": "github-acme-demo-studio-demo-agent", + "status": "succeeded", + "phase": "ready", + "github": {"branch": "studio/demo-agent"}, + "deployment": {"runtimeId": "rt-1"}, + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.create_github_cicd_pipeline", + fake_create_github_cicd_pipeline, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-cicd/pipelines", + headers={"X-VeADK-Local-User": "developer"}, + json={ + "project": PROJECT, + "githubUrl": "https://github.com/acme/demo", + "githubToken": "ghp_secret", + "baseBranch": "main", + "region": "cn-beijing", + }, + ) + + assert response.status_code == 200 + assert response.json()["pipelineId"] == "github-acme-demo-studio-demo-agent" + assert response.json()["status"] == "succeeded" + assert captured["project"] == PROJECT + assert captured["github_url"] == "https://github.com/acme/demo" + assert captured["github_token"] == "ghp_secret" + assert captured["base_branch"] == "main" + assert captured["region"] == "cn-beijing" + + +def test_studio_endpoint_returns_structured_github_cicd_errors( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + from veadk.cli.github_cicd import GitHubCicdError + + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + + def fake_create_github_cicd_pipeline(**_kwargs: Any) -> dict[str, Any]: + raise GitHubCicdError( + "GitHub token cannot create branches", + phase="github", + ) + + monkeypatch.setattr( + "veadk.cli.github_cicd.create_github_cicd_pipeline", + fake_create_github_cicd_pipeline, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-cicd/pipelines", + headers={"X-VeADK-Local-User": "developer"}, + json={ + "project": PROJECT, + "githubUrl": "https://github.com/acme/demo", + "githubToken": "ghp_secret", + "baseBranch": "main", + "region": "cn-beijing", + }, + ) + + assert response.status_code == 400 + assert response.json()["detail"] == { + "status": "failed", + "phase": "github", + "message": "GitHub token cannot create branches", + } + + +class FakeGitHubClient: + def __init__(self, commit_sha: str = "commit-1") -> None: + self.commit_sha = commit_sha + self.created_branch: tuple[str, str] | None = None + self.committed_files: list[dict[str, str]] = [] + self.pull_request: tuple[str, str] | None = None + + def ensure_repository_access(self, owner: str, repo: str) -> None: + assert (owner, repo) == ("acme", "demo") + + def get_branch_head(self, owner: str, repo: str, branch: str) -> str: + assert (owner, repo, branch) == ("acme", "demo", "main") + return "main-sha" + + def ensure_branch( + self, + owner: str, + repo: str, + *, + branch: str, + source_sha: str, + ) -> None: + assert (owner, repo) == ("acme", "demo") + self.created_branch = (source_sha, branch) + + def commit_files( + self, + owner: str, + repo: str, + *, + branch: str, + files: list[dict[str, str]], + message: str, + ) -> str: + assert (owner, repo, branch) == ("acme", "demo", "studio/demo-agent") + assert "Studio" in message + self.committed_files = files + return self.commit_sha + + def ensure_pull_request( + self, + owner: str, + repo: str, + *, + head_branch: str, + base_branch: str, + title: str, + body: str, + ) -> SimpleNamespace: + assert (owner, repo) == ("acme", "demo") + assert title + assert body + self.pull_request = (head_branch, base_branch) + return SimpleNamespace(number=1, url="https://github.com/acme/demo/pull/1") + + +def _create_studio_app( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, + *, + developers: str, +) -> FastAPI: + captured: dict[str, Any] = {} + monkeypatch.setattr("dotenv.find_dotenv", lambda *args, **kwargs: "") + monkeypatch.setenv("VOLCENGINE_ACCESS_KEY", "test-ak") + monkeypatch.setenv("VOLCENGINE_SECRET_KEY", "test-sk") + monkeypatch.setattr( + "uvicorn.run", + lambda app, **kwargs: captured.setdefault("app", app), + ) + _run_frontend_server( + agents_dir=str(tmp_path), + frontend_dir=None, + site_logo=None, + site_title=None, + host="127.0.0.1", + port=8765, + dev=True, + vite=True, + oauth2_user_pool=None, + oauth2_user_pool_client=None, + oauth2_user_pool_uid=None, + oauth2_user_pool_client_uid=None, + oauth2_redirect_uri=None, + oauth2_provider=None, + oauth2_provider_label=None, + auth_mode="frontend", + generated_agent_test_run_ttl=60, + studio_admins=None, + studio_developers=developers, + open_browser=False, + studio=True, + ) + return captured["app"] diff --git a/tests/cli/test_studio_agentkit_deploy.py b/tests/cli/test_studio_agentkit_deploy.py new file mode 100644 index 00000000..99037073 --- /dev/null +++ b/tests/cli/test_studio_agentkit_deploy.py @@ -0,0 +1,244 @@ +# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from pathlib import Path +from types import SimpleNamespace +from typing import Any + +import pytest +import yaml + +PROJECT = { + "name": "demo_agent", + "files": [{"path": "app.py", "content": "app = object()\n"}], +} + + +def test_deploy_agentkit_project_creates_runtime_with_studio_defaults( + monkeypatch: pytest.MonkeyPatch, +) -> None: + from agentkit.sdk.runtime.client import AgentkitRuntimeClient + from veadk.cli.studio_agentkit_deploy import deploy_agentkit_project + + captured_config: dict[str, Any] = {} + create_requests: list[Any] = [] + + def create_runtime(_self: Any, request: Any) -> SimpleNamespace: + create_requests.append(request) + return SimpleNamespace(runtime_id="rt-created") + + def launch(*, config_file: str, **_kwargs: Any) -> SimpleNamespace: + captured_config.update(yaml.safe_load(Path(config_file).read_text())) + request = SimpleNamespace(tags=[], apmplus_enable=True, description="demo") + created = AgentkitRuntimeClient.create_runtime(object(), request) + return SimpleNamespace( + success=True, + deploy_result=SimpleNamespace( + endpoint_url="https://runtime.example.com", + metadata={ + "runtime_id": created.runtime_id, + "runtime_name": "demo_agent", + }, + ), + ) + + monkeypatch.setattr(AgentkitRuntimeClient, "create_runtime", create_runtime) + monkeypatch.setattr("agentkit.toolkit.sdk.launch", launch) + monkeypatch.setattr( + "veadk.cli.studio_agentkit_deploy.runtime_version", + lambda runtime_id, region: 1, + ) + + result = deploy_agentkit_project( + project=PROJECT, + region="cn-beijing", + description="Created from GitHub CI/CD", + ) + + assert result["runtimeId"] == "rt-created" + assert captured_config["common"]["agent_name"] == "demo_agent" + assert captured_config["common"]["description"] == "Created from GitHub CI/CD" + cloud = captured_config["launch_types"]["cloud"] + assert cloud["region"] == "cn-beijing" + assert "runtime_id" not in cloud + request = create_requests[0] + assert request.apmplus_enable is False + assert [(tag.key, tag.value) for tag in request.tags] == [("veadk:managed", "true")] + + +def test_deploy_agentkit_project_reports_progress( + monkeypatch: pytest.MonkeyPatch, +) -> None: + from veadk.cli.studio_agentkit_deploy import deploy_agentkit_project + + events: list[str] = [] + + def launch(*, config_file: str, **_kwargs: Any) -> SimpleNamespace: + assert Path(config_file).name == "agentkit.yaml" + return SimpleNamespace( + success=True, + deploy_result=SimpleNamespace( + endpoint_url="https://runtime.example.com", + metadata={ + "runtime_id": "rt-created", + "runtime_name": "demo_agent", + }, + ), + ) + + monkeypatch.setattr("agentkit.toolkit.sdk.launch", launch) + monkeypatch.setattr( + "veadk.cli.studio_agentkit_deploy.runtime_version", + lambda runtime_id, region: 1, + ) + + deploy_agentkit_project( + project=PROJECT, + region="cn-beijing", + description="Created from GitHub CI/CD", + progress=events.append, + ) + + assert events == [ + "Writing AgentProject files...", + "Writing agentkit.yaml...", + "Launching AgentKit Runtime...", + "AgentKit Runtime deployed: runtimeId=rt-created", + ] + + +def test_deploy_agentkit_project_surfaces_failed_runtime_context( + monkeypatch: pytest.MonkeyPatch, +) -> None: + from agentkit.sdk.runtime.client import AgentkitRuntimeClient + from veadk.cli.studio_agentkit_deploy import ( + StudioAgentkitDeployError, + deploy_agentkit_project, + ) + + def create_runtime(_self: Any, _request: Any) -> SimpleNamespace: + return SimpleNamespace(runtime_id="rt-failed") + + def launch(**_kwargs: Any) -> SimpleNamespace: + request = SimpleNamespace(tags=[], apmplus_enable=True, description="demo") + AgentkitRuntimeClient.create_runtime(object(), request) + return SimpleNamespace( + success=False, + error="Runtime status is Error. Initialization failed", + deploy_result=SimpleNamespace(metadata={}), + ) + + monkeypatch.setattr(AgentkitRuntimeClient, "create_runtime", create_runtime) + monkeypatch.setattr("agentkit.toolkit.sdk.launch", launch) + + with pytest.raises(StudioAgentkitDeployError) as exc: + deploy_agentkit_project( + project=PROJECT, + region="cn-beijing", + description="Created from GitHub CI/CD", + ) + + assert str(exc.value) == "Runtime status is Error. Initialization failed" + assert exc.value.runtime_id == "rt-failed" + assert exc.value.phase == "deploy" + + +def test_deploy_agentkit_project_updates_existing_runtime( + monkeypatch: pytest.MonkeyPatch, +) -> None: + from veadk.cli.studio_agentkit_deploy import deploy_agentkit_project + + captured: dict[str, Any] = {} + + def launch(*, config_file: str, **_kwargs: Any) -> SimpleNamespace: + captured.update(yaml.safe_load(Path(config_file).read_text())) + return SimpleNamespace( + success=True, + deploy_result=SimpleNamespace( + endpoint_url="https://runtime.example.com", + metadata={ + "runtime_id": "rt-existing", + "runtime_name": "existing-runtime", + }, + ), + ) + + monkeypatch.setattr("agentkit.toolkit.sdk.launch", launch) + monkeypatch.setattr( + "veadk.cli.studio_agentkit_deploy.get_runtime", + lambda runtime_id, region: SimpleNamespace( + name="existing-runtime", + role_name="runtime-role", + current_version_number=3, + ), + ) + + result = deploy_agentkit_project( + project=PROJECT, + region="cn-beijing", + runtime_id="rt-existing", + description="Update from GitHub CI/CD", + ) + + assert result["runtimeId"] == "rt-existing" + cloud = captured["launch_types"]["cloud"] + assert cloud["runtime_id"] == "rt-existing" + assert cloud["runtime_name"] == "existing-runtime" + assert cloud["runtime_role_name"] == "runtime-role" + assert cloud["image_tag"] == "veadk-v4" + + +def test_launch_agentkit_config_can_be_used_by_frontend_deploy( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + from agentkit.sdk.runtime.client import AgentkitRuntimeClient + from veadk.cli.studio_agentkit_deploy import launch_agentkit_config + + config_file = tmp_path / "agentkit.yaml" + config_file.write_text("common: {}\n", encoding="utf-8") + seen: dict[str, Any] = {} + + def create_runtime(_self: Any, request: Any) -> SimpleNamespace: + seen["apmplus_enable"] = request.apmplus_enable + seen["tags"] = [(tag.key, tag.value) for tag in request.tags] + return SimpleNamespace(runtime_id="rt-frontend") + + def launch(**_kwargs: Any) -> SimpleNamespace: + request = SimpleNamespace(tags=[], apmplus_enable=True, description="demo") + created = AgentkitRuntimeClient.create_runtime(object(), request) + return SimpleNamespace( + success=True, + deploy_result=SimpleNamespace(metadata={"runtime_id": created.runtime_id}), + ) + + monkeypatch.setattr(AgentkitRuntimeClient, "create_runtime", create_runtime) + monkeypatch.setattr("agentkit.toolkit.sdk.launch", launch) + + result = launch_agentkit_config( + config_file=config_file, + runtime_tags=[ + {"Key": "veadk:managed", "Value": "true"}, + {"Key": "veadk:owner", "Value": "developer"}, + ], + ) + + assert result.success is True + assert seen == { + "apmplus_enable": False, + "tags": [ + ("veadk:managed", "true"), + ("veadk:owner", "developer"), + ], + } diff --git a/veadk/cli/cli.py b/veadk/cli/cli.py index df8cc2ba..8709bf22 100644 --- a/veadk/cli/cli.py +++ b/veadk/cli/cli.py @@ -49,6 +49,7 @@ def _bootstrap_serve_provider(argv: list[str] | None = None) -> None: from veadk.cli.cli_deploy import deploy from veadk.cli.cli_eval import eval from veadk.cli.cli_frontend import frontend, studio +from veadk.cli.cli_github_cicd_pipeline import github_cicd_pipeline from veadk.cli.cli_harness import harness from veadk.cli.cli_init import init from veadk.cli.cli_kb import kb @@ -82,6 +83,7 @@ def veadk(): veadk.add_command(frontend) veadk.add_command(studio) veadk.add_command(pipeline) +veadk.add_command(github_cicd_pipeline) veadk.add_command(eval) veadk.add_command(kb) veadk.add_command(uploadevalset) diff --git a/veadk/cli/cli_frontend.py b/veadk/cli/cli_frontend.py index 8770c86e..75022822 100644 --- a/veadk/cli/cli_frontend.py +++ b/veadk/cli/cli_frontend.py @@ -2322,6 +2322,36 @@ async def _generate_agent_project(request: Request): project = await _generate_project_from_request(data, debug=False) return project.model_dump() + @app.post("/web/github-cicd/pipelines") + async def _create_github_cicd_pipeline(request: Request): + """Create a GitHub CI/CD link and run the first AgentKit deployment.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + create_github_cicd_pipeline, + ) + + return create_github_cicd_pipeline( + project=data.get("project") or {}, + github_url=str(data.get("githubUrl") or ""), + github_token=str(data.get("githubToken") or ""), + base_branch=str(data.get("baseBranch") or "main"), + region=str(data.get("region") or "cn-beijing"), + ) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + except Exception as error: + logger.exception("Failed to create GitHub CI/CD pipeline") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=(str(data.get("githubToken") or ""),), + ), + ) from error + @app.post("/web/generated-agent-drafts") async def _generate_agent_draft(request: Request): _require_agent_management(request) @@ -3332,73 +3362,20 @@ def show_logs(self, title, lines, max_lines=100): result_box: dict = {} def _run(): - from agentkit.toolkit import sdk from agentkit.toolkit.models import PreflightMode + from veadk.cli.studio_agentkit_deploy import ( + launch_agentkit_config, + runtime_tags, + ) - with _deploy_lock: - # Tag the created runtime with the deploying user so "管理 Agent" - # can filter by author. Restored right after. - rt_client = None - orig_create = None - try: - from agentkit.sdk.runtime.client import ( - AgentkitRuntimeClient as rt_client, - ) - from agentkit.sdk.runtime import types as _rt - - orig_create = rt_client.create_runtime - extra = [ - _rt.TagsItemForCreateRuntime.model_validate( - {"Key": "veadk:managed", "Value": "true"} - ) - ] - if author: - extra.append( - _rt.TagsItemForCreateRuntime.model_validate( - {"Key": "veadk:author", "Value": author} - ) - ) - if owner_id: - extra.append( - _rt.TagsItemForCreateRuntime.model_validate( - {"Key": "veadk:owner", "Value": owner_id} - ) - ) - - def _tagged_create(self, req, _orig=orig_create, _extra=extra): - if task_state["cancel_event"].is_set(): - raise RuntimeError("Deployment cancelled") - req.tags = [*(req.tags or []), *_extra] - # The AgentKit runner hard-codes apmplus_enable=True on - # every runtime; force it off so the container doesn't - # try to fetch an APMPlus app-key with the deployer's - # AK/SK at boot (breaks for STS temp credentials). - req.apmplus_enable = False - created = _create_runtime_with_description_fallback( - _orig, self, req - ) - runtime_id = str( - getattr(created, "runtime_id", "") - or getattr( - getattr(created, "agent_kit_runtime", None), - "runtime_id", - "", - ) - ) - if runtime_id: - with _deploy_tasks_lock: - task_state["runtime_id"] = runtime_id - if task_state["cancel_event"].is_set(): - _destroy_deploy_task_runtime(task_state) - raise RuntimeError("Deployment cancelled") - return created + def _record_runtime_created(runtime_id: str, _created: object) -> None: + with _deploy_tasks_lock: + task_state["runtime_id"] = runtime_id - rt_client.create_runtime = _tagged_create - except Exception as e: - logger.error("Could not prepare Runtime ownership tags: %s", e) - result_box["error"] = str(e) - return + def _destroy_cancelled_runtime(_runtime_id: str, _created: object) -> None: + _destroy_deploy_task_runtime(task_state) + with _deploy_lock: try: result = None for attempt in range(1, 3): @@ -3412,10 +3389,17 @@ def _tagged_create(self, req, _orig=orig_create, _extra=extra): f"({attempt}/2)..." ), ) - result = sdk.launch( + result = launch_agentkit_config( config_file=str(base / "agentkit.yaml"), preflight_mode=PreflightMode.WARN, reporter=_QReporter(), + runtime_tags=runtime_tags( + author=author, + owner_id=owner_id, + ), + should_cancel=lambda: task_state["cancel_event"].is_set(), + on_runtime_created=_record_runtime_created, + on_cancel_created=_destroy_cancelled_runtime, ) if getattr(result, "success", False): break @@ -3456,8 +3440,6 @@ def _tagged_create(self, req, _orig=orig_create, _extra=extra): logger.error(f"AgentKit launch error: {e}", exc_info=True) result_box["error"] = str(e) finally: - if rt_client is not None and orig_create is not None: - rt_client.create_runtime = orig_create if task_state["cancel_event"].is_set(): try: _destroy_deploy_task_runtime(task_state) diff --git a/veadk/cli/cli_github_cicd_pipeline.py b/veadk/cli/cli_github_cicd_pipeline.py new file mode 100644 index 00000000..cc2b798f --- /dev/null +++ b/veadk/cli/cli_github_cicd_pipeline.py @@ -0,0 +1,80 @@ +# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""CLI wrapper for Studio GitHub CI/CD pipelines.""" + +from __future__ import annotations + +import json +from pathlib import Path +from typing import Any + +import click + +from veadk.cli.github_cicd import GitHubCicdError, create_github_cicd_pipeline + + +@click.command("github-cicd-pipeline") +@click.option("--github-url", required=True, help="GitHub repository URL.") +@click.option( + "--github-branch", + default="main", + show_default=True, + help="Base branch for the Studio pull request.", +) +@click.option( + "--github-token", + required=True, + help="GitHub token with repository contents and pull request permissions.", +) +@click.option( + "--project-json", + required=True, + type=click.Path(exists=True, dir_okay=False, path_type=Path), + help="Path to an AgentProject JSON file exported by Studio.", +) +@click.option( + "--region", + default="cn-beijing", + show_default=True, + help="AgentKit Runtime region.", +) +def github_cicd_pipeline( + github_url: str, + github_branch: str, + github_token: str, + project_json: Path, + region: str, +) -> None: + """Create a GitHub CI/CD link and deploy the generated Agent project.""" + + def progress(message: str) -> None: + click.echo(f"[github-cicd] {message}") + + try: + project: dict[str, Any] = json.loads(project_json.read_text(encoding="utf-8")) + result = create_github_cicd_pipeline( + project=project, + github_url=github_url, + github_token=github_token, + base_branch=github_branch, + region=region, + progress=progress, + ) + except json.JSONDecodeError as error: + raise click.ClickException(f"Invalid AgentProject JSON: {error}") from error + except GitHubCicdError as error: + raise click.ClickException(str(error)) from error + + click.echo(json.dumps(result, ensure_ascii=False, indent=2)) diff --git a/veadk/cli/github_cicd.py b/veadk/cli/github_cicd.py new file mode 100644 index 00000000..e5fea0f8 --- /dev/null +++ b/veadk/cli/github_cicd.py @@ -0,0 +1,518 @@ +# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""GitHub-backed CI/CD orchestration for Studio-generated Agent projects.""" + +from __future__ import annotations + +import json +import re +from collections.abc import Callable +from datetime import UTC, datetime +from pathlib import Path +from types import SimpleNamespace +from typing import Any +from urllib.parse import quote, urlparse + +import requests + +ProgressCallback = Callable[[str], None] + +DEFAULT_STATE_PATH = Path.home() / ".veadk" / "github-cicd-pipelines.json" +GITHUB_API = "https://api.github.com" +MAX_PROJECT_FILES = 800 +MAX_FILE_BYTES = 2 * 1024 * 1024 +MAX_TOTAL_BYTES = 25 * 1024 * 1024 + + +class GitHubCicdError(RuntimeError): + """User-facing CI/CD setup failure with credentials redacted.""" + + def __init__( + self, + message: str, + *, + phase: str = "validation", + runtime_id: str = "", + log_path: str = "", + ) -> None: + super().__init__(message) + self.phase = phase + self.runtime_id = runtime_id + self.log_path = log_path + + def to_response(self) -> dict[str, Any]: + payload: dict[str, Any] = { + "status": "failed", + "phase": self.phase, + "message": str(self), + } + if self.runtime_id: + payload["runtimeId"] = self.runtime_id + if self.log_path: + payload["logPath"] = self.log_path + return payload + + +def parse_github_repo_url(url: str) -> tuple[str, str]: + """Return ``(owner, repo)`` for common GitHub HTTPS and SSH URLs.""" + raw = url.strip() + if not raw: + raise GitHubCicdError("GitHub repository URL is required") + + if raw.startswith("git@github.com:"): + path = raw.removeprefix("git@github.com:") + else: + parsed = urlparse(raw) + if parsed.netloc.lower() != "github.com": + raise GitHubCicdError("Only github.com repository URLs are supported") + path = parsed.path.lstrip("/") + + parts = [part for part in path.split("/") if part] + if len(parts) < 2: + raise GitHubCicdError("GitHub repository URL must include owner and repo") + owner = parts[0] + repo = parts[1].removesuffix(".git") + if not owner or not repo: + raise GitHubCicdError("GitHub repository URL must include owner and repo") + return owner, repo + + +def create_github_cicd_pipeline( + *, + project: object, + github_url: str, + github_token: str, + base_branch: str = "main", + region: str = "cn-beijing", + github_client: Any | None = None, + deployer: Callable[..., dict[str, Any]] | None = None, + state_path: str | Path | None = None, + progress: ProgressCallback | None = None, +) -> dict[str, Any]: + """Create/update the GitHub branch and run the first AgentKit deployment.""" + _emit(progress, "Validating AgentProject...") + project = _validate_project(project) + token = github_token.strip() + if not token: + raise GitHubCicdError("GitHub token is required") + base_branch = (base_branch or "main").strip() + if not base_branch: + raise GitHubCicdError("GitHub base branch is required") + owner, repo = parse_github_repo_url(github_url) + + _emit(progress, f"Connecting GitHub repo {owner}/{repo}...") + client = github_client or GitHubClient(token) + state_file = Path(state_path) if state_path is not None else DEFAULT_STATE_PATH + state = _load_state(state_file) + studio_branch = f"studio/{_slug(project['name'])}" + pipeline_id = _pipeline_id(owner, repo, studio_branch) + pipeline_state = state.get(pipeline_id, {}) + + client.ensure_repository_access(owner, repo) + _emit(progress, f"Reading base branch {base_branch}...") + source_sha = client.get_branch_head(owner, repo, base_branch) + _emit(progress, f"Ensuring Studio branch {studio_branch}...") + client.ensure_branch( + owner, + repo, + branch=studio_branch, + source_sha=source_sha, + ) + _emit(progress, f"Committing {len(project['files'])} file(s) to {studio_branch}...") + commit_sha = client.commit_files( + owner, + repo, + branch=studio_branch, + files=project["files"], + message=f"Studio: update {project['name']} Agent project", + ) + _emit(progress, f"Ensuring pull request {studio_branch} -> {base_branch}...") + pr = client.ensure_pull_request( + owner, + repo, + head_branch=studio_branch, + base_branch=base_branch, + title=f"Update {project['name']} from Studio", + body=( + "Studio generated this Agent project and triggered a GitHub CI/CD " + "deployment to AgentKit Runtime." + ), + ) + + runtime_id = str(pipeline_state.get("runtimeId") or "") + deploy = deployer or _default_deployer + deploy_kwargs = { + "project": project, + "region": region, + "runtime_id": runtime_id, + "description": f"GitHub CI/CD deployment from {owner}/{repo}@{studio_branch}", + } + if progress is not None: + deploy_kwargs["progress"] = progress + _emit(progress, "Deploying AgentKit Runtime...") + try: + deployment = deploy(**deploy_kwargs) + except GitHubCicdError as error: + failed_runtime_id = error.runtime_id or runtime_id + _save_pipeline_state( + state_file, + state, + pipeline_id=pipeline_id, + github_url=github_url, + owner=owner, + repo=repo, + base_branch=base_branch, + studio_branch=studio_branch, + pull_request_url=pr.url, + runtime_id=failed_runtime_id, + region=region, + latest_commit_sha=commit_sha, + status="failed", + phase=error.phase, + last_error=error.to_response(), + ) + raise + runtime_id = str(deployment.get("runtimeId") or runtime_id) + + _emit(progress, "Saving GitHub CI/CD pipeline state...") + updated_at = _save_pipeline_state( + state_file, + state, + pipeline_id=pipeline_id, + github_url=github_url, + owner=owner, + repo=repo, + base_branch=base_branch, + studio_branch=studio_branch, + pull_request_url=pr.url, + runtime_id=runtime_id, + region=region, + latest_commit_sha=commit_sha, + status="succeeded", + phase="ready", + last_error=None, + ) + _emit(progress, "GitHub CI/CD pipeline ready.") + + return { + "pipelineId": pipeline_id, + "status": "succeeded", + "phase": "ready", + "updatedAt": updated_at, + "github": { + "owner": owner, + "repo": repo, + "baseBranch": base_branch, + "branch": studio_branch, + "commitSha": commit_sha, + "pullRequestUrl": pr.url, + "pullRequestNumber": pr.number, + }, + "deployment": deployment, + } + + +class GitHubClient: + """Small GitHub REST client for branch, commit, and PR operations.""" + + def __init__(self, token: str, *, session: requests.Session | None = None) -> None: + self._token = token + self._session = session or requests.Session() + + def ensure_repository_access(self, owner: str, repo: str) -> None: + self._request("GET", f"/repos/{owner}/{repo}") + + def get_branch_head(self, owner: str, repo: str, branch: str) -> str: + data = self._request( + "GET", + f"/repos/{owner}/{repo}/git/ref/heads/{quote(branch, safe='')}", + ) + sha = str(((data.get("object") or {}).get("sha")) or "") + if not sha: + raise GitHubCicdError(f"GitHub branch has no head commit: {branch}") + return sha + + def ensure_branch( + self, + owner: str, + repo: str, + *, + branch: str, + source_sha: str, + ) -> None: + try: + self.get_branch_head(owner, repo, branch) + return + except GitHubCicdError as error: + if "404" not in str(error): + raise + self._request( + "POST", + f"/repos/{owner}/{repo}/git/refs", + json={"ref": f"refs/heads/{branch}", "sha": source_sha}, + ) + + def commit_files( + self, + owner: str, + repo: str, + *, + branch: str, + files: list[dict[str, str]], + message: str, + ) -> str: + head_sha = self.get_branch_head(owner, repo, branch) + head_commit = self._request( + "GET", + f"/repos/{owner}/{repo}/git/commits/{quote(head_sha, safe='')}", + ) + base_tree = str(((head_commit.get("tree") or {}).get("sha")) or "") + if not base_tree: + raise GitHubCicdError("GitHub branch head commit has no tree") + + tree_entries = [] + for item in files: + blob = self._request( + "POST", + f"/repos/{owner}/{repo}/git/blobs", + json={"content": item["content"], "encoding": "utf-8"}, + ) + tree_entries.append( + { + "path": item["path"], + "mode": "100644", + "type": "blob", + "sha": blob["sha"], + } + ) + tree = self._request( + "POST", + f"/repos/{owner}/{repo}/git/trees", + json={"base_tree": base_tree, "tree": tree_entries}, + ) + commit = self._request( + "POST", + f"/repos/{owner}/{repo}/git/commits", + json={"message": message, "tree": tree["sha"], "parents": [head_sha]}, + ) + commit_sha = str(commit.get("sha") or "") + if not commit_sha: + raise GitHubCicdError("GitHub commit response did not include sha") + self._request( + "PATCH", + f"/repos/{owner}/{repo}/git/refs/heads/{quote(branch, safe='')}", + json={"sha": commit_sha, "force": False}, + ) + return commit_sha + + def ensure_pull_request( + self, + owner: str, + repo: str, + *, + head_branch: str, + base_branch: str, + title: str, + body: str, + ) -> SimpleNamespace: + pulls = self._request( + "GET", + f"/repos/{owner}/{repo}/pulls", + params={ + "state": "open", + "head": f"{owner}:{head_branch}", + "base": base_branch, + }, + ) + if isinstance(pulls, list) and pulls: + return _pull_namespace(pulls[0]) + created = self._request( + "POST", + f"/repos/{owner}/{repo}/pulls", + json={ + "title": title, + "head": head_branch, + "base": base_branch, + "body": body, + }, + ) + return _pull_namespace(created) + + def _request(self, method: str, path: str, **kwargs: Any) -> Any: + headers = { + "Accept": "application/vnd.github+json", + "Authorization": f"Bearer {self._token}", + "X-GitHub-Api-Version": "2022-11-28", + } + response = self._session.request( + method, + f"{GITHUB_API}{path}", + headers=headers, + timeout=30, + **kwargs, + ) + if response.status_code >= 400: + detail = response.text.strip() or response.reason + raise GitHubCicdError( + _redact( + f"GitHub API {method} {path} failed: " + f"{response.status_code} {detail}", + self._token, + ), + phase="github", + ) + if response.status_code == 204: + return {} + return response.json() + + +def _default_deployer(**kwargs: Any) -> dict[str, Any]: + from veadk.cli.studio_agentkit_deploy import ( + StudioAgentkitDeployError, + deploy_agentkit_project, + ) + + try: + return deploy_agentkit_project(**kwargs) + except StudioAgentkitDeployError as error: + raise GitHubCicdError( + str(error), + phase=error.phase, + runtime_id=error.runtime_id, + log_path=error.log_path, + ) from error + + +def _emit(progress: ProgressCallback | None, message: str) -> None: + if progress is not None: + progress(message) + + +def _pull_namespace(data: dict[str, Any]) -> SimpleNamespace: + return SimpleNamespace( + number=int(data.get("number") or 0), + url=str(data.get("html_url") or data.get("url") or ""), + ) + + +def _validate_project(project: object) -> dict[str, Any]: + if not isinstance(project, dict): + raise GitHubCicdError("AgentProject must be an object") + name = str(project.get("name") or "").strip() + if not name: + raise GitHubCicdError("AgentProject name is required") + files = project.get("files") + if not isinstance(files, list) or not files: + raise GitHubCicdError("AgentProject files are required") + if len(files) > MAX_PROJECT_FILES: + raise GitHubCicdError(f"AgentProject cannot exceed {MAX_PROJECT_FILES} files") + + normalized_files: list[dict[str, str]] = [] + total = 0 + for item in files: + if not isinstance(item, dict): + raise GitHubCicdError("AgentProject files must be objects") + path = str(item.get("path") or "") + content = item.get("content") + if not path or path.startswith("/") or "\x00" in path: + raise GitHubCicdError(f"Illegal file path: {path}") + parts = Path(path).parts + if any(part in ("", ".", "..") for part in parts): + raise GitHubCicdError(f"Illegal file path: {path}") + if not isinstance(content, str): + raise GitHubCicdError(f"Invalid file content: {path}") + encoded = content.encode("utf-8") + if len(encoded) > MAX_FILE_BYTES: + raise GitHubCicdError(f"File too large: {path}") + total += len(encoded) + if total > MAX_TOTAL_BYTES: + raise GitHubCicdError("AgentProject is too large") + normalized_files.append({"path": path, "content": content}) + return {"name": name, "files": normalized_files} + + +def _slug(value: str) -> str: + slug = re.sub(r"[^a-z0-9]+", "-", value.lower()).strip("-") + return slug or "agent" + + +def _pipeline_id(owner: str, repo: str, branch: str) -> str: + return _slug(f"github-{owner}-{repo}-{branch.replace('/', '-')}") + + +def _save_pipeline_state( + path: Path, + state: dict[str, Any], + *, + pipeline_id: str, + github_url: str, + owner: str, + repo: str, + base_branch: str, + studio_branch: str, + pull_request_url: str, + runtime_id: str, + region: str, + latest_commit_sha: str, + status: str, + phase: str, + last_error: dict[str, Any] | None, +) -> str: + updated_at = datetime.now(UTC).isoformat() + state[pipeline_id] = { + "pipelineId": pipeline_id, + "githubUrl": github_url, + "owner": owner, + "repo": repo, + "baseBranch": base_branch, + "branch": studio_branch, + "pullRequestUrl": pull_request_url, + "runtimeId": runtime_id, + "region": region, + "latestCommitSha": latest_commit_sha, + "status": status, + "phase": phase, + "updatedAt": updated_at, + } + if last_error is not None: + state[pipeline_id]["lastError"] = last_error + _save_state(path, state) + return updated_at + + +def _load_state(path: Path) -> dict[str, Any]: + try: + data = json.loads(path.read_text(encoding="utf-8")) + except FileNotFoundError: + return {} + except json.JSONDecodeError as error: + raise GitHubCicdError(f"GitHub CI/CD state file is invalid: {path}") from error + return data if isinstance(data, dict) else {} + + +def _save_state(path: Path, state: dict[str, Any]) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text( + json.dumps(state, ensure_ascii=False, indent=2, sort_keys=True), + encoding="utf-8", + ) + + +def _redact(text: str, *secrets: str) -> str: + result = text + for secret in secrets: + if secret: + result = result.replace(secret, "***") + return result diff --git a/veadk/cli/studio_agentkit_deploy.py b/veadk/cli/studio_agentkit_deploy.py new file mode 100644 index 00000000..aa3e6a30 --- /dev/null +++ b/veadk/cli/studio_agentkit_deploy.py @@ -0,0 +1,405 @@ +# Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Shared AgentKit Runtime deployment helpers for Studio-created projects.""" + +from __future__ import annotations + +import os +import shutil +import tempfile +from collections.abc import Callable, Iterable +from contextlib import contextmanager +from pathlib import Path +from typing import Any + +import yaml + +_ENV_PREFIXES = ( + "MODEL_", + "ARK_", + "VOLCENGINE_", + "TOOL_", + "DATABASE_", + "OBSERVABILITY_", +) + + +class StudioAgentkitDeployError(RuntimeError): + """User-facing AgentKit Runtime deployment failure.""" + + def __init__( + self, + message: str, + *, + phase: str = "deploy", + runtime_id: str = "", + log_path: str = "", + ) -> None: + super().__init__(message) + self.phase = phase + self.runtime_id = runtime_id + self.log_path = log_path + + +def deploy_agentkit_project( + *, + project: dict[str, Any], + region: str, + runtime_id: str = "", + description: str = "", + project_name: str = "default", + progress: Callable[[str], None] | None = None, + author: str = "", + owner_id: str = "", +) -> dict[str, Any]: + """Deploy Studio-generated project files to a new or existing Runtime.""" + temp_dir = tempfile.mkdtemp(prefix=f"studio_agentkit_{project['name']}_") + base = Path(temp_dir).resolve() + created_runtime_id = "" + + def _record_runtime_created(runtime_id: str, _created: Any) -> None: + nonlocal created_runtime_id + created_runtime_id = runtime_id + + try: + _emit(progress, "Writing AgentProject files...") + _write_project(project, base) + cloud_config: dict[str, Any] = { + "region": region, + "project_name": project_name, + "image_tag": "latest", + "runtime_envs": collect_runtime_envs(), + "python_version": "3.12", + } + if runtime_id: + cloud_config.update(runtime_update_config(runtime_id, region)) + elif region and region != "cn-beijing": + cloud_config["tos_bucket"] = tos_bucket_name(region) + + agentkit_config = { + "common": { + "agent_name": project["name"], + "entry_point": "app.py", + "description": description, + "python_version": "3.12", + "launch_type": "cloud", + }, + "launch_types": {"cloud": cloud_config}, + } + _emit(progress, "Writing agentkit.yaml...") + (base / "agentkit.yaml").write_text( + yaml.dump(agentkit_config, allow_unicode=True), + encoding="utf-8", + ) + + _emit(progress, "Launching AgentKit Runtime...") + result = launch_agentkit_config( + config_file=base / "agentkit.yaml", + reporter=ProgressReporter(progress) if progress else None, + runtime_tags=runtime_tags(author=author, owner_id=owner_id), + on_runtime_created=_record_runtime_created, + ) + if not getattr(result, "success", False): + error = getattr(result, "error", None) or result_error_text(result) + raise StudioAgentkitDeployError( + str(error or "AgentKit Runtime deployment failed"), + phase="deploy", + runtime_id=created_runtime_id or runtime_id, + ) + deploy_result = getattr(result, "deploy_result", None) + metadata = ( + (getattr(deploy_result, "metadata", None) or {}) if deploy_result else {} + ) + deployed_runtime_id = str(metadata.get("runtime_id") or runtime_id) + if not deployed_runtime_id: + raise StudioAgentkitDeployError( + "AgentKit deployment did not return runtimeId", + phase="deploy", + runtime_id=created_runtime_id or runtime_id, + ) + _emit(progress, f"AgentKit Runtime deployed: runtimeId={deployed_runtime_id}") + return { + "runtimeId": deployed_runtime_id, + "agentName": str(metadata.get("runtime_name") or project["name"]), + "region": region, + "url": getattr(deploy_result, "endpoint_url", "") if deploy_result else "", + "version": runtime_version(deployed_runtime_id, region), + "consoleUrl": ( + "https://console.volcengine.com/agentkit/" + f"region:agentkit+{region}/runtime?projectName={project_name}" + ), + } + finally: + shutil.rmtree(temp_dir, ignore_errors=True) + + +def launch_agentkit_config( + *, + config_file: str | Path, + preflight_mode: Any | None = None, + reporter: Any | None = None, + runtime_tags: Iterable[Any] | None = None, + disable_apmplus: bool = True, + should_cancel: Callable[[], bool] | None = None, + on_runtime_created: Callable[[str, Any], None] | None = None, + on_cancel_created: Callable[[str, Any], None] | None = None, +) -> Any: + """Launch an AgentKit config with Studio's Runtime creation safeguards.""" + from agentkit.sdk.runtime.client import AgentkitRuntimeClient + from agentkit.toolkit import sdk + from agentkit.toolkit.models import PreflightMode + + tags = normalize_runtime_tags(runtime_tags or []) + selected_preflight_mode = preflight_mode or PreflightMode.WARN + original_create = AgentkitRuntimeClient.create_runtime + + def _create_with_studio_defaults(self: Any, request: Any) -> Any: + if should_cancel is not None and should_cancel(): + raise RuntimeError("Deployment cancelled") + request.tags = [*(getattr(request, "tags", None) or []), *tags] + if disable_apmplus: + request.apmplus_enable = False + created = create_runtime_with_description_fallback( + original_create, self, request + ) + runtime_id = _created_runtime_id(created) + if runtime_id and on_runtime_created is not None: + on_runtime_created(runtime_id, created) + if should_cancel is not None and should_cancel(): + if runtime_id and on_cancel_created is not None: + on_cancel_created(runtime_id, created) + raise RuntimeError("Deployment cancelled") + return created + + try: + AgentkitRuntimeClient.create_runtime = _create_with_studio_defaults + kwargs: dict[str, Any] = { + "config_file": str(config_file), + "preflight_mode": selected_preflight_mode, + } + if reporter is not None: + kwargs["reporter"] = reporter + return sdk.launch(**kwargs) + finally: + AgentkitRuntimeClient.create_runtime = original_create + + +def create_runtime_with_description_fallback( + create_runtime: Callable[[Any, Any], Any], client: object, request: Any +) -> Any: + """Retry Runtime creation once without description if AgentKit rejects it.""" + try: + return create_runtime(client, request) + except Exception as error: + if not is_malformed_runtime_description_error(error) or not getattr( + request, "description", None + ): + raise + request.description = None + return create_runtime(client, request) + + +def is_malformed_runtime_description_error(error: object) -> bool: + return "invaliddescription.malformed" in str(error or "").lower() + + +def runtime_tags(*, author: str = "", owner_id: str = "") -> list[Any]: + tags = [{"Key": "veadk:managed", "Value": "true"}] + if author: + tags.append({"Key": "veadk:author", "Value": author}) + if owner_id: + tags.append({"Key": "veadk:owner", "Value": owner_id}) + return normalize_runtime_tags(tags) + + +def normalize_runtime_tags(tags: Iterable[Any]) -> list[Any]: + from agentkit.sdk.runtime import types as _rt + + normalized = [] + for tag in tags: + if isinstance(tag, dict): + normalized.append(_rt.TagsItemForCreateRuntime.model_validate(tag)) + else: + normalized.append(tag) + return normalized + + +def collect_runtime_envs(extra_envs: dict[str, str] | None = None) -> dict[str, str]: + envs = { + key: value + for key, value in os.environ.items() + if value and any(key.startswith(prefix) for prefix in _ENV_PREFIXES) + } + envs.setdefault("OTEL_SDK_DISABLED", "true") + envs.setdefault("VEADK_DISABLE_EXPIRE_AT", "true") + envs.setdefault("ENABLE_APMPLUS", "false") + envs.setdefault("ENABLE_COZELOOP", "false") + for key, value in (extra_envs or {}).items(): + envs[key] = value + return envs + + +def runtime_update_config(runtime_id: str, region: str) -> dict[str, Any]: + runtime = get_runtime(runtime_id, region) + version = int(getattr(runtime, "current_version_number", 0) or 0) + 1 + return { + "runtime_id": runtime_id, + "runtime_name": getattr(runtime, "name", "") or runtime_id, + "runtime_role_name": getattr(runtime, "role_name", "") or "Auto", + "image_tag": f"veadk-v{version}", + } + + +def runtime_version(runtime_id: str, region: str) -> int | None: + try: + return getattr(get_runtime(runtime_id, region), "current_version_number", None) + except Exception: + return None + + +def get_runtime(runtime_id: str, region: str) -> Any: + from agentkit.sdk.runtime import types as _rt + from agentkit.sdk.runtime.client import AgentkitRuntimeClient + + ak, sk, token = resolve_ve_credentials() + client = AgentkitRuntimeClient( + access_key=ak, + secret_key=sk, + session_token=token, + region=region, + ) + return client.get_runtime(_rt.GetRuntimeRequest(runtime_id=runtime_id)) + + +def resolve_ve_credentials() -> tuple[str, str, str]: + access_key = os.getenv("VOLCENGINE_ACCESS_KEY", "") + secret_key = os.getenv("VOLCENGINE_SECRET_KEY", "") + session_token = os.getenv("VOLCENGINE_SESSION_TOKEN") or os.getenv( + "VOLC_SESSIONTOKEN", + "", + ) + if not access_key or not secret_key: + raise StudioAgentkitDeployError( + "Volcengine credentials required: set VOLCENGINE_ACCESS_KEY/" + "VOLCENGINE_SECRET_KEY for AgentKit Runtime deployment." + ) + return access_key, secret_key, session_token + + +def tos_bucket_name(region: str) -> str: + region_suffix = region.split("-")[-1] + try: + from agentkit.utils.template_utils import render_template + + bucket_base = render_template("agentkit-platform-{{account_id}}") + except Exception: + bucket_base = "agentkit-platform" + return f"{bucket_base}-{region_suffix}" + + +def result_error_text(result: Any) -> str: + parts: list[str] = [] + for obj in ( + result, + getattr(result, "build_result", None), + getattr(result, "deploy_result", None), + ): + if obj is None: + continue + for attr in ("error", "error_code"): + value = getattr(obj, attr, None) + if value: + parts.append(str(value)) + return "\n".join(parts) + + +class ProgressReporter: + """AgentKit reporter that forwards SDK messages into a simple callback.""" + + def __init__(self, progress: Callable[[str], None]) -> None: + from agentkit.toolkit.reporter import Reporter + + class _Reporter(Reporter): + def info(self, message: object, **_kwargs: Any) -> None: + progress(str(message)) + + def success(self, message: object, **_kwargs: Any) -> None: + progress(str(message)) + + def warning(self, message: object, **_kwargs: Any) -> None: + progress(str(message)) + + def error(self, message: object, **_kwargs: Any) -> None: + progress(str(message)) + + def progress( + self, message: object, current: int, total: int = 100, **_kwargs: Any + ) -> None: + progress(str(message)) + + def confirm( + self, message: object, default: bool = False, **_kwargs: Any + ) -> bool: + return default + + @contextmanager + def long_task(self, description: object, total: int = 100): + progress(str(description)) + + class _Handle: + def update( + self, + description: object | None = None, + completed: int | None = None, + ) -> None: + if description: + progress(str(description)) + + yield _Handle() + + def show_logs( + self, title: object, lines: Iterable[object], max_lines: int = 100 + ) -> None: + progress(str(title)) + + self._reporter = _Reporter() + + def __getattr__(self, name: str) -> Any: + return getattr(self._reporter, name) + + +def _write_project(project: dict[str, Any], base: Path) -> None: + for item in project["files"]: + path = Path(item["path"]) + full = (base / path).resolve() + if not full.is_relative_to(base): + raise StudioAgentkitDeployError(f"Illegal file path: {item['path']}") + full.parent.mkdir(parents=True, exist_ok=True) + full.write_text(item["content"], encoding="utf-8") + if not (base / "app.py").exists(): + raise StudioAgentkitDeployError("AgentProject must contain app.py") + + +def _created_runtime_id(created: Any) -> str: + return str( + getattr(created, "runtime_id", "") + or getattr(getattr(created, "agent_kit_runtime", None), "runtime_id", "") + or "" + ) + + +def _emit(progress: Callable[[str], None] | None, message: str) -> None: + if progress is not None: + progress(message) From edcfd308ab5d8278a4ffd1bb5dad6bc936d9da75 Mon Sep 17 00:00:00 2001 From: chuhanku Date: Tue, 4 Aug 2026 23:24:48 +0800 Subject: [PATCH 2/4] feat(studio): refine GitHub CI/CD backend APIs and add tests --- tests/cli/test_github_cicd.py | 198 +++++++--------- veadk/cli/cli_frontend.py | 66 +++++- veadk/cli/cli_github_cicd_pipeline.py | 4 +- veadk/cli/github_cicd.py | 317 ++++++++++++++++++-------- 4 files changed, 379 insertions(+), 206 deletions(-) diff --git a/tests/cli/test_github_cicd.py b/tests/cli/test_github_cicd.py index 0b6e1f0f..03285214 100644 --- a/tests/cli/test_github_cicd.py +++ b/tests/cli/test_github_cicd.py @@ -49,22 +49,12 @@ def test_parse_github_repo_url_accepts_common_forms() -> None: ) -def test_create_github_cicd_pipeline_commits_pr_and_creates_runtime( +def test_create_github_cicd_pipeline_commits_pr_without_creating_runtime( tmp_path: Path, ) -> None: from veadk.cli.github_cicd import create_github_cicd_pipeline github = FakeGitHubClient() - deploy_calls: list[dict[str, Any]] = [] - - def deployer(**kwargs: Any) -> dict[str, Any]: - deploy_calls.append(kwargs) - return { - "runtimeId": "rt-first", - "agentName": kwargs["project"]["name"], - "region": kwargs["region"], - "version": 1, - } result = create_github_cicd_pipeline( project=PROJECT, @@ -73,7 +63,6 @@ def deployer(**kwargs: Any) -> dict[str, Any]: base_branch="main", region="cn-beijing", github_client=github, - deployer=deployer, state_path=tmp_path / "state.json", ) @@ -81,18 +70,10 @@ def deployer(**kwargs: Any) -> dict[str, Any]: assert result["github"]["branch"] == "studio/demo-agent" assert result["github"]["commitSha"] == "commit-1" assert result["github"]["pullRequestUrl"] == "https://github.com/acme/demo/pull/1" - assert result["deployment"]["runtimeId"] == "rt-first" assert result["status"] == "succeeded" assert result["phase"] == "ready" assert isinstance(result["updatedAt"], str) - assert deploy_calls == [ - { - "project": PROJECT, - "region": "cn-beijing", - "runtime_id": "", - "description": "GitHub CI/CD deployment from acme/demo@studio/demo-agent", - } - ] + assert "deployment" not in result assert github.created_branch == ("main-sha", "studio/demo-agent") assert github.committed_files == PROJECT["files"] assert github.pull_request == ("studio/demo-agent", "main") @@ -100,7 +81,8 @@ def deployer(**kwargs: Any) -> dict[str, Any]: state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) assert state["github-acme-demo-studio-demo-agent"]["status"] == "succeeded" assert state["github-acme-demo-studio-demo-agent"]["phase"] == "ready" - assert state["github-acme-demo-studio-demo-agent"]["runtimeId"] == "rt-first" + assert state["github-acme-demo-studio-demo-agent"]["runtimeId"] == "" + assert state["github-acme-demo-studio-demo-agent"]["githubToken"] == "ghp_secret" def test_create_github_cicd_pipeline_reports_progress(tmp_path: Path) -> None: @@ -108,14 +90,6 @@ def test_create_github_cicd_pipeline_reports_progress(tmp_path: Path) -> None: events: list[str] = [] - def deployer(**kwargs: Any) -> dict[str, Any]: - return { - "runtimeId": kwargs["runtime_id"] or "rt-created", - "agentName": kwargs["project"]["name"], - "region": kwargs["region"], - "version": 1, - } - create_github_cicd_pipeline( project=PROJECT, github_url="https://github.com/acme/demo", @@ -123,7 +97,6 @@ def deployer(**kwargs: Any) -> dict[str, Any]: base_branch="main", region="cn-beijing", github_client=FakeGitHubClient(), - deployer=deployer, state_path=tmp_path / "state.json", progress=events.append, ) @@ -135,57 +108,55 @@ def deployer(**kwargs: Any) -> dict[str, Any]: "Ensuring Studio branch studio/demo-agent...", "Committing 2 file(s) to studio/demo-agent...", "Ensuring pull request studio/demo-agent -> main...", - "Deploying AgentKit Runtime...", "Saving GitHub CI/CD pipeline state...", "GitHub CI/CD pipeline ready.", ] -def test_default_deployer_uses_shared_studio_agentkit_deploy( - monkeypatch: pytest.MonkeyPatch, +def test_bind_github_cicd_pipeline_to_runtime( + tmp_path: Path, ) -> None: - from veadk.cli import github_cicd - - captured: dict[str, Any] = {} - - def deploy_agentkit_project(**kwargs: Any) -> dict[str, Any]: - captured.update(kwargs) - return {"runtimeId": "rt-shared"} - - monkeypatch.setattr( - "veadk.cli.studio_agentkit_deploy.deploy_agentkit_project", - deploy_agentkit_project, + from veadk.cli.github_cicd import ( + bind_github_cicd_runtime, + create_github_cicd_pipeline, ) - result = github_cicd._default_deployer( + state_path = tmp_path / "state.json" + create_github_cicd_pipeline( project=PROJECT, + github_url="https://github.com/acme/demo", + github_token="ghp_secret", + base_branch="main", region="cn-beijing", - runtime_id="", - description="demo", + github_client=FakeGitHubClient(), + state_path=state_path, ) - assert result == {"runtimeId": "rt-shared"} - assert captured["project"] == PROJECT + binding = bind_github_cicd_runtime( + pipeline_id="github-acme-demo-studio-demo-agent", + runtime_id="rt-created", + region="cn-beijing", + state_path=state_path, + ) + + assert binding["runtimeId"] == "rt-created" + assert binding["github"]["pullRequestUrl"] == "https://github.com/acme/demo/pull/1" + state = json.loads(state_path.read_text(encoding="utf-8")) + assert state["github-acme-demo-studio-demo-agent"]["runtimeId"] == "rt-created" -def test_create_github_cicd_pipeline_reuses_runtime_on_next_run( +def test_sync_github_cicd_runtime_updates_bound_pr( tmp_path: Path, ) -> None: - from veadk.cli.github_cicd import create_github_cicd_pipeline + from veadk.cli.github_cicd import ( + bind_github_cicd_runtime, + create_github_cicd_pipeline, + sync_github_cicd_runtime, + ) state_path = tmp_path / "state.json" first_github = FakeGitHubClient(commit_sha="commit-1") second_github = FakeGitHubClient(commit_sha="commit-2") - runtime_ids: list[str] = [] - - def deployer(**kwargs: Any) -> dict[str, Any]: - runtime_ids.append(kwargs["runtime_id"]) - return { - "runtimeId": kwargs["runtime_id"] or "rt-created", - "agentName": kwargs["project"]["name"], - "region": kwargs["region"], - "version": 1 if not kwargs["runtime_id"] else 2, - } create_github_cicd_pipeline( project=PROJECT, @@ -194,70 +165,41 @@ def deployer(**kwargs: Any) -> dict[str, Any]: base_branch="main", region="cn-beijing", github_client=first_github, - deployer=deployer, state_path=state_path, ) - result = create_github_cicd_pipeline( - project=PROJECT, - github_url="https://github.com/acme/demo", - github_token="ghp_secret", - base_branch="main", + bind_github_cicd_runtime( + pipeline_id="github-acme-demo-studio-demo-agent", + runtime_id="rt-created", region="cn-beijing", + state_path=state_path, + ) + + result = sync_github_cicd_runtime( + runtime_id="rt-created", + project=PROJECT, github_client=second_github, - deployer=deployer, state_path=state_path, ) - assert runtime_ids == ["", "rt-created"] assert result["github"]["commitSha"] == "commit-2" - assert result["deployment"]["runtimeId"] == "rt-created" - assert result["deployment"]["version"] == 2 + assert result["runtimeId"] == "rt-created" + assert second_github.committed_files == PROJECT["files"] -def test_create_github_cicd_pipeline_persists_failed_deploy_state( +def test_sync_github_cicd_runtime_requires_bound_runtime( tmp_path: Path, ) -> None: - from veadk.cli.github_cicd import GitHubCicdError, create_github_cicd_pipeline - - def deployer(**_kwargs: Any) -> dict[str, Any]: - raise GitHubCicdError( - "Runtime status is Error. Initialization failed", - phase="deploy", - runtime_id="rt-failed", - log_path="/tmp/runtime.log", - ) + from veadk.cli.github_cicd import GitHubCicdError, sync_github_cicd_runtime with pytest.raises(GitHubCicdError) as exc: - create_github_cicd_pipeline( + sync_github_cicd_runtime( + runtime_id="rt-missing", project=PROJECT, - github_url="https://github.com/acme/demo", - github_token="ghp_secret", - base_branch="main", - region="cn-beijing", - github_client=FakeGitHubClient(), - deployer=deployer, state_path=tmp_path / "state.json", ) - assert exc.value.phase == "deploy" - assert exc.value.runtime_id == "rt-failed" - assert exc.value.to_response() == { - "status": "failed", - "phase": "deploy", - "message": "Runtime status is Error. Initialization failed", - "runtimeId": "rt-failed", - "logPath": "/tmp/runtime.log", - } - state = json.loads((tmp_path / "state.json").read_text(encoding="utf-8")) - failed = state["github-acme-demo-studio-demo-agent"] - assert failed["status"] == "failed" - assert failed["phase"] == "deploy" - assert failed["runtimeId"] == "rt-failed" - assert failed["latestCommitSha"] == "commit-1" - assert failed["pullRequestUrl"] == "https://github.com/acme/demo/pull/1" - assert failed["lastError"]["message"] == ( - "Runtime status is Error. Initialization failed" - ) + assert exc.value.phase == "binding" + assert "not bound" in str(exc.value) def test_github_cicd_pipeline_cli_reads_project_json_and_runs_github_cicd( @@ -274,7 +216,6 @@ def fake_create_github_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: "status": "succeeded", "phase": "ready", "github": {"pullRequestUrl": "https://github.com/acme/demo/pull/1"}, - "deployment": {"runtimeId": "rt-1"}, } monkeypatch.setattr( @@ -328,7 +269,6 @@ def fake_create_github_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: "status": "succeeded", "phase": "ready", "github": {"branch": "studio/demo-agent"}, - "deployment": {"runtimeId": "rt-1"}, } monkeypatch.setattr( @@ -359,6 +299,44 @@ def fake_create_github_cicd_pipeline(**kwargs: Any) -> dict[str, Any]: assert captured["region"] == "cn-beijing" +def test_studio_endpoint_syncs_bound_github_cicd_runtime( + monkeypatch: pytest.MonkeyPatch, + tmp_path: Path, +) -> None: + app = _create_studio_app(monkeypatch, tmp_path, developers="developer") + captured: dict[str, Any] = {} + + def fake_sync_github_cicd_runtime(**kwargs: Any) -> dict[str, Any]: + captured.update(kwargs) + return { + "pipelineId": "github-acme-demo-studio-demo-agent", + "status": "succeeded", + "phase": "ready", + "runtimeId": "rt-1", + "github": {"branch": "studio/demo-agent"}, + } + + monkeypatch.setattr( + "veadk.cli.github_cicd.sync_github_cicd_runtime", + fake_sync_github_cicd_runtime, + ) + + with TestClient(app) as client: + response = client.post( + "/web/github-cicd/runtime-sync", + headers={"X-VeADK-Local-User": "developer"}, + json={ + "runtimeId": "rt-1", + "project": PROJECT, + }, + ) + + assert response.status_code == 200 + assert response.json()["runtimeId"] == "rt-1" + assert captured["runtime_id"] == "rt-1" + assert captured["project"] == PROJECT + + def test_studio_endpoint_returns_structured_github_cicd_errors( monkeypatch: pytest.MonkeyPatch, tmp_path: Path, diff --git a/veadk/cli/cli_frontend.py b/veadk/cli/cli_frontend.py index 75022822..15e45698 100644 --- a/veadk/cli/cli_frontend.py +++ b/veadk/cli/cli_frontend.py @@ -2324,7 +2324,7 @@ async def _generate_agent_project(request: Request): @app.post("/web/github-cicd/pipelines") async def _create_github_cicd_pipeline(request: Request): - """Create a GitHub CI/CD link and run the first AgentKit deployment.""" + """Create or update the GitHub PR for Studio-generated Agent source.""" _require_agent_management(request) data = await request.json() try: @@ -2352,6 +2352,70 @@ async def _create_github_cicd_pipeline(request: Request): ), ) from error + @app.get("/web/github-cicd/runtime-binding") + async def _get_github_cicd_runtime_binding( + request: Request, + runtimeId: str = "", + ): + """Return the GitHub CI/CD binding for a Runtime, when present.""" + _require_agent_management(request) + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + get_github_cicd_runtime_binding, + ) + + return get_github_cicd_runtime_binding(runtime_id=runtimeId) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + + @app.post("/web/github-cicd/runtime-binding") + async def _bind_github_cicd_runtime(request: Request): + """Bind a GitHub CI/CD pipeline record to an AgentKit Runtime.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + bind_github_cicd_runtime, + ) + + return bind_github_cicd_runtime( + pipeline_id=str(data.get("pipelineId") or ""), + runtime_id=str(data.get("runtimeId") or ""), + region=str(data.get("region") or "cn-beijing"), + ) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + + @app.post("/web/github-cicd/runtime-sync") + async def _sync_github_cicd_runtime(request: Request): + """Sync current AgentProject files to the PR bound to a Runtime.""" + _require_agent_management(request) + data = await request.json() + try: + from veadk.cli.github_cicd import ( + GitHubCicdError, + sync_github_cicd_runtime, + ) + + return sync_github_cicd_runtime( + runtime_id=str(data.get("runtimeId") or ""), + project=data.get("project") or {}, + github_token=str(data.get("githubToken") or ""), + ) + except GitHubCicdError as error: + raise HTTPException(status_code=400, detail=error.to_response()) from error + except Exception as error: + logger.exception("Failed to sync GitHub CI/CD pipeline") + raise HTTPException( + status_code=502, + detail=_safe_exception_detail( + error, + secrets=(str(data.get("githubToken") or ""),), + ), + ) from error + @app.post("/web/generated-agent-drafts") async def _generate_agent_draft(request: Request): _require_agent_management(request) diff --git a/veadk/cli/cli_github_cicd_pipeline.py b/veadk/cli/cli_github_cicd_pipeline.py index cc2b798f..944bed13 100644 --- a/veadk/cli/cli_github_cicd_pipeline.py +++ b/veadk/cli/cli_github_cicd_pipeline.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""CLI wrapper for Studio GitHub CI/CD pipelines.""" +"""CLI wrapper for Studio GitHub CI/CD pull request setup.""" from __future__ import annotations @@ -57,7 +57,7 @@ def github_cicd_pipeline( project_json: Path, region: str, ) -> None: - """Create a GitHub CI/CD link and deploy the generated Agent project.""" + """Create or update the GitHub PR for the generated Agent project.""" def progress(message: str) -> None: click.echo(f"[github-cicd] {message}") diff --git a/veadk/cli/github_cicd.py b/veadk/cli/github_cicd.py index e5fea0f8..0b9dffff 100644 --- a/veadk/cli/github_cicd.py +++ b/veadk/cli/github_cicd.py @@ -97,11 +97,10 @@ def create_github_cicd_pipeline( base_branch: str = "main", region: str = "cn-beijing", github_client: Any | None = None, - deployer: Callable[..., dict[str, Any]] | None = None, state_path: str | Path | None = None, progress: ProgressCallback | None = None, ) -> dict[str, Any]: - """Create/update the GitHub branch and run the first AgentKit deployment.""" + """Create/update the GitHub branch and pull request for an Agent project.""" _emit(progress, "Validating AgentProject...") project = _validate_project(project) token = github_token.strip() @@ -118,74 +117,18 @@ def create_github_cicd_pipeline( state = _load_state(state_file) studio_branch = f"studio/{_slug(project['name'])}" pipeline_id = _pipeline_id(owner, repo, studio_branch) - pipeline_state = state.get(pipeline_id, {}) + existing = state.get(pipeline_id, {}) - client.ensure_repository_access(owner, repo) - _emit(progress, f"Reading base branch {base_branch}...") - source_sha = client.get_branch_head(owner, repo, base_branch) - _emit(progress, f"Ensuring Studio branch {studio_branch}...") - client.ensure_branch( - owner, - repo, - branch=studio_branch, - source_sha=source_sha, - ) - _emit(progress, f"Committing {len(project['files'])} file(s) to {studio_branch}...") - commit_sha = client.commit_files( - owner, - repo, - branch=studio_branch, - files=project["files"], - message=f"Studio: update {project['name']} Agent project", - ) - _emit(progress, f"Ensuring pull request {studio_branch} -> {base_branch}...") - pr = client.ensure_pull_request( - owner, - repo, - head_branch=studio_branch, + github = _sync_github_pr( + client=client, + owner=owner, + repo=repo, + project=project, base_branch=base_branch, - title=f"Update {project['name']} from Studio", - body=( - "Studio generated this Agent project and triggered a GitHub CI/CD " - "deployment to AgentKit Runtime." - ), + studio_branch=studio_branch, + progress=progress, ) - runtime_id = str(pipeline_state.get("runtimeId") or "") - deploy = deployer or _default_deployer - deploy_kwargs = { - "project": project, - "region": region, - "runtime_id": runtime_id, - "description": f"GitHub CI/CD deployment from {owner}/{repo}@{studio_branch}", - } - if progress is not None: - deploy_kwargs["progress"] = progress - _emit(progress, "Deploying AgentKit Runtime...") - try: - deployment = deploy(**deploy_kwargs) - except GitHubCicdError as error: - failed_runtime_id = error.runtime_id or runtime_id - _save_pipeline_state( - state_file, - state, - pipeline_id=pipeline_id, - github_url=github_url, - owner=owner, - repo=repo, - base_branch=base_branch, - studio_branch=studio_branch, - pull_request_url=pr.url, - runtime_id=failed_runtime_id, - region=region, - latest_commit_sha=commit_sha, - status="failed", - phase=error.phase, - last_error=error.to_response(), - ) - raise - runtime_id = str(deployment.get("runtimeId") or runtime_id) - _emit(progress, "Saving GitHub CI/CD pipeline state...") updated_at = _save_pipeline_state( state_file, @@ -196,10 +139,12 @@ def create_github_cicd_pipeline( repo=repo, base_branch=base_branch, studio_branch=studio_branch, - pull_request_url=pr.url, - runtime_id=runtime_id, + pull_request_url=github["pullRequestUrl"], + pull_request_number=int(github.get("pullRequestNumber") or 0), + runtime_id=str(existing.get("runtimeId") or ""), region=region, - latest_commit_sha=commit_sha, + latest_commit_sha=github["commitSha"], + github_token=token, status="succeeded", phase="ready", last_error=None, @@ -211,19 +156,130 @@ def create_github_cicd_pipeline( "status": "succeeded", "phase": "ready", "updatedAt": updated_at, - "github": { - "owner": owner, - "repo": repo, - "baseBranch": base_branch, - "branch": studio_branch, - "commitSha": commit_sha, - "pullRequestUrl": pr.url, - "pullRequestNumber": pr.number, - }, - "deployment": deployment, + "github": github, } +def bind_github_cicd_runtime( + *, + pipeline_id: str, + runtime_id: str, + region: str = "cn-beijing", + state_path: str | Path | None = None, +) -> dict[str, Any]: + """Bind an existing GitHub CI/CD pipeline record to an AgentKit Runtime.""" + pipeline_id = pipeline_id.strip() + runtime_id = runtime_id.strip() + if not pipeline_id: + raise GitHubCicdError("GitHub CI/CD pipelineId is required", phase="binding") + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="binding") + state_file = Path(state_path) if state_path is not None else DEFAULT_STATE_PATH + state = _load_state(state_file) + record = state.get(pipeline_id) + if not isinstance(record, dict): + raise GitHubCicdError( + f"GitHub CI/CD pipeline is not found: {pipeline_id}", + phase="binding", + ) + record["runtimeId"] = runtime_id + record["region"] = region + record["status"] = "bound" + record["phase"] = "ready" + record["updatedAt"] = datetime.now(UTC).isoformat() + _save_state(state_file, state) + return _state_to_response(record) + + +def get_github_cicd_runtime_binding( + *, + runtime_id: str, + state_path: str | Path | None = None, +) -> dict[str, Any]: + """Return the GitHub CI/CD binding for a Runtime, or an empty object.""" + runtime_id = runtime_id.strip() + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="binding") + state_file = Path(state_path) if state_path is not None else DEFAULT_STATE_PATH + record = _find_state_by_runtime_id(_load_state(state_file), runtime_id) + return _state_to_response(record) if record else {} + + +def sync_github_cicd_runtime( + *, + runtime_id: str, + project: object, + github_token: str = "", + github_client: Any | None = None, + state_path: str | Path | None = None, + progress: ProgressCallback | None = None, +) -> dict[str, Any]: + """Sync the current Agent project to the PR bound to ``runtime_id``.""" + runtime_id = runtime_id.strip() + if not runtime_id: + raise GitHubCicdError("Runtime ID is required", phase="binding") + _emit(progress, "Checking GitHub CI/CD binding...") + project = _validate_project(project) + state_file = Path(state_path) if state_path is not None else DEFAULT_STATE_PATH + state = _load_state(state_file) + record = _find_state_by_runtime_id(state, runtime_id) + if record is None: + raise GitHubCicdError( + f"Runtime is not bound to GitHub CI/CD: {runtime_id}", + phase="binding", + runtime_id=runtime_id, + ) + token = github_token.strip() or str(record.get("githubToken") or "").strip() + if not token: + raise GitHubCicdError( + "GitHub token is required to sync this Runtime", + phase="github", + runtime_id=runtime_id, + ) + owner = str(record.get("owner") or "") + repo = str(record.get("repo") or "") + base_branch = str(record.get("baseBranch") or "main") + studio_branch = str(record.get("branch") or "") + if not owner or not repo or not studio_branch: + raise GitHubCicdError( + "GitHub CI/CD binding is incomplete", + phase="binding", + runtime_id=runtime_id, + ) + client = github_client or GitHubClient(token) + github = _sync_github_pr( + client=client, + owner=owner, + repo=repo, + project=project, + base_branch=base_branch, + studio_branch=studio_branch, + progress=progress, + ) + updated_at = _save_pipeline_state( + state_file, + state, + pipeline_id=str(record["pipelineId"]), + github_url=str(record.get("githubUrl") or f"https://github.com/{owner}/{repo}"), + owner=owner, + repo=repo, + base_branch=base_branch, + studio_branch=studio_branch, + pull_request_url=github["pullRequestUrl"], + pull_request_number=int(github.get("pullRequestNumber") or 0), + runtime_id=runtime_id, + region=str(record.get("region") or "cn-beijing"), + latest_commit_sha=github["commitSha"], + github_token=token, + status="succeeded", + phase="ready", + last_error=None, + ) + result = _state_to_response(state[str(record["pipelineId"])]) + result["updatedAt"] = updated_at + return result + + class GitHubClient: """Small GitHub REST client for branch, commit, and PR operations.""" @@ -378,21 +434,55 @@ def _request(self, method: str, path: str, **kwargs: Any) -> Any: return response.json() -def _default_deployer(**kwargs: Any) -> dict[str, Any]: - from veadk.cli.studio_agentkit_deploy import ( - StudioAgentkitDeployError, - deploy_agentkit_project, +def _sync_github_pr( + *, + client: Any, + owner: str, + repo: str, + project: dict[str, Any], + base_branch: str, + studio_branch: str, + progress: ProgressCallback | None, +) -> dict[str, Any]: + client.ensure_repository_access(owner, repo) + _emit(progress, f"Reading base branch {base_branch}...") + source_sha = client.get_branch_head(owner, repo, base_branch) + _emit(progress, f"Ensuring Studio branch {studio_branch}...") + client.ensure_branch( + owner, + repo, + branch=studio_branch, + source_sha=source_sha, ) - - try: - return deploy_agentkit_project(**kwargs) - except StudioAgentkitDeployError as error: - raise GitHubCicdError( - str(error), - phase=error.phase, - runtime_id=error.runtime_id, - log_path=error.log_path, - ) from error + _emit(progress, f"Committing {len(project['files'])} file(s) to {studio_branch}...") + commit_sha = client.commit_files( + owner, + repo, + branch=studio_branch, + files=project["files"], + message=f"Studio: update {project['name']} Agent project", + ) + _emit(progress, f"Ensuring pull request {studio_branch} -> {base_branch}...") + pr = client.ensure_pull_request( + owner, + repo, + head_branch=studio_branch, + base_branch=base_branch, + title=f"Update {project['name']} from Studio", + body=( + "Studio generated this Agent project. The bound AgentKit Runtime " + "is updated through Studio deployment." + ), + ) + return { + "owner": owner, + "repo": repo, + "baseBranch": base_branch, + "branch": studio_branch, + "commitSha": commit_sha, + "pullRequestUrl": pr.url, + "pullRequestNumber": pr.number, + } def _emit(progress: ProgressCallback | None, message: str) -> None: @@ -463,9 +553,11 @@ def _save_pipeline_state( base_branch: str, studio_branch: str, pull_request_url: str, + pull_request_number: int, runtime_id: str, region: str, latest_commit_sha: str, + github_token: str, status: str, phase: str, last_error: dict[str, Any] | None, @@ -479,9 +571,11 @@ def _save_pipeline_state( "baseBranch": base_branch, "branch": studio_branch, "pullRequestUrl": pull_request_url, + "pullRequestNumber": pull_request_number, "runtimeId": runtime_id, "region": region, "latestCommitSha": latest_commit_sha, + "githubToken": github_token, "status": status, "phase": phase, "updatedAt": updated_at, @@ -502,12 +596,49 @@ def _load_state(path: Path) -> dict[str, Any]: return data if isinstance(data, dict) else {} +def _find_state_by_runtime_id( + state: dict[str, Any], + runtime_id: str, +) -> dict[str, Any] | None: + for record in state.values(): + if ( + isinstance(record, dict) + and str(record.get("runtimeId") or "") == runtime_id + ): + return record + return None + + +def _state_to_response(record: dict[str, Any]) -> dict[str, Any]: + return { + "pipelineId": str(record.get("pipelineId") or ""), + "status": str(record.get("status") or ""), + "phase": str(record.get("phase") or ""), + "updatedAt": str(record.get("updatedAt") or ""), + "runtimeId": str(record.get("runtimeId") or ""), + "region": str(record.get("region") or ""), + "github": { + "owner": str(record.get("owner") or ""), + "repo": str(record.get("repo") or ""), + "baseBranch": str(record.get("baseBranch") or ""), + "branch": str(record.get("branch") or ""), + "commitSha": str(record.get("latestCommitSha") or ""), + "pullRequestUrl": str(record.get("pullRequestUrl") or ""), + "pullRequestNumber": int(record.get("pullRequestNumber") or 0), + }, + } + + def _save_state(path: Path, state: dict[str, Any]) -> None: path.parent.mkdir(parents=True, exist_ok=True) path.write_text( json.dumps(state, ensure_ascii=False, indent=2, sort_keys=True), encoding="utf-8", ) + try: + path.chmod(0o600) + except OSError: + pass def _redact(text: str, *secrets: str) -> str: From f043d4cc10438495634bff42757cc848893222e6 Mon Sep 17 00:00:00 2001 From: chuhanku Date: Tue, 4 Aug 2026 23:25:05 +0800 Subject: [PATCH 3/4] feat(studio): add Studio GitHub CI/CD frontend panel --- frontend/src/adk/client.ts | 140 ++++++++++ frontend/src/ui/GithubCicdPanel.tsx | 266 +++++++++++++++++++ frontend/src/ui/ProjectPreview.css | 195 ++++++++++++++ frontend/src/ui/ProjectPreview.tsx | 96 ++++++- frontend/tests/githubCicdPanel.test.mjs | 41 +++ frontend/tests/runtimeScalingDeploy.test.mjs | 2 +- 6 files changed, 737 insertions(+), 3 deletions(-) create mode 100644 frontend/src/ui/GithubCicdPanel.tsx create mode 100644 frontend/tests/githubCicdPanel.test.mjs diff --git a/frontend/src/adk/client.ts b/frontend/src/adk/client.ts index 24b0be6e..717dc272 100644 --- a/frontend/src/adk/client.ts +++ b/frontend/src/adk/client.ts @@ -1672,6 +1672,31 @@ export interface DeployAgentkitResult { }; } +export interface GithubCicdPipelineResult { + pipelineId?: string; + status?: string; + phase?: string; + updatedAt?: string; + runtimeId?: string; + region?: string; + github?: { + owner?: string; + repo?: string; + baseBranch?: string; + branch?: string; + commitSha?: string; + pullRequestUrl?: string; + pullRequestNumber?: number; + }; +} + +export interface GithubCicdPipelineErrorDetail { + message: string; + phase?: string; + runtimeId?: string; + logPath?: string; +} + export interface DeployBuildLogSnapshot { source: "code-pipeline"; status: "running" | "complete" | "error"; @@ -1709,6 +1734,121 @@ interface DeployFrame extends Partial { const deploymentControllers = new Map(); +function parseGithubCicdErrorDetail(detail: unknown): GithubCicdPipelineErrorDetail | null { + if (typeof detail === "string") return detail ? { message: detail } : null; + if (!detail || typeof detail !== "object" || Array.isArray(detail)) return null; + const record = detail as Record; + const message = + typeof record.message === "string" + ? record.message + : typeof record.error === "string" + ? record.error + : ""; + if (!message) return null; + return { + message, + phase: typeof record.phase === "string" ? record.phase : undefined, + runtimeId: typeof record.runtimeId === "string" ? record.runtimeId : undefined, + logPath: typeof record.logPath === "string" ? record.logPath : undefined, + }; +} + +export class GithubCicdPipelineError extends Error { + constructor(readonly detail: GithubCicdPipelineErrorDetail) { + super(detail.message); + this.name = "GithubCicdPipelineError"; + } +} + +async function githubCicdErrorFromResponse( + res: Response, +): Promise { + const text = await res.text().catch(() => ""); + if (text) { + try { + const data = JSON.parse(text) as { detail?: unknown; error?: unknown }; + const detail = parseGithubCicdErrorDetail(data.detail ?? data.error); + if (detail) return new GithubCicdPipelineError(detail); + } catch { + return new GithubCicdPipelineError({ message: text }); + } + } + return new GithubCicdPipelineError({ message: `创建持续交付失败 (${res.status})` }); +} + +export async function createGithubCicdPipeline(params: { + project: { name: string; files: { path: string; content: string }[] }; + githubUrl: string; + githubToken: string; + baseBranch: string; + region: string; +}): Promise { + const res = await apiFetch( + "/web/github-cicd/pipelines", + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + project: params.project, + githubUrl: params.githubUrl, + githubToken: params.githubToken, + baseBranch: params.baseBranch, + region: params.region, + }), + }, + {}, + 0, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + +export async function getGithubCicdRuntimeBinding( + runtimeId: string, +): Promise { + const res = await apiFetch( + `/web/github-cicd/runtime-binding?runtimeId=${encodeURIComponent(runtimeId)}`, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + const data = (await res.json()) as GithubCicdPipelineResult; + return data.pipelineId ? data : null; +} + +export async function bindGithubCicdRuntime(params: { + pipelineId: string; + runtimeId: string; + region: string; +}): Promise { + const res = await apiFetch("/web/github-cicd/runtime-binding", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(params), + }); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + +export async function syncGithubCicdRuntime(params: { + runtimeId: string; + project: { name: string; files: { path: string; content: string }[] }; +}): Promise { + const res = await apiFetch( + "/web/github-cicd/runtime-sync", + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + runtimeId: params.runtimeId, + project: params.project, + }), + }, + {}, + 0, + ); + if (!res.ok) throw await githubCicdErrorFromResponse(res); + return res.json() as Promise; +} + /** Deploy to AgentKit, consuming the server's SSE progress stream. `onStage` * is called for each build/deploy/publish step; resolves with the connection * info once the terminal frame arrives. */ diff --git a/frontend/src/ui/GithubCicdPanel.tsx b/frontend/src/ui/GithubCicdPanel.tsx new file mode 100644 index 00000000..799635b0 --- /dev/null +++ b/frontend/src/ui/GithubCicdPanel.tsx @@ -0,0 +1,266 @@ +import { useEffect, useMemo, useState, type FormEvent } from "react"; +import { ExternalLink, Loader2 } from "lucide-react"; +import { + bindGithubCicdRuntime, + createGithubCicdPipeline, + getGithubCicdRuntimeBinding, + GithubCicdPipelineError, + type GithubCicdPipelineErrorDetail, + type GithubCicdPipelineResult, +} from "../adk/client"; +import type { AgentProject } from "../create/project"; + +interface GithubCicdPanelProps { + project: AgentProject; + region: string; + runtimeId?: string; + disabled?: boolean; + onBindingChange?: (binding: GithubCicdPipelineResult | null) => void; +} + +function githubRepoLabel(url: string): string { + const trimmed = url.trim(); + if (!trimmed) return "GitHub 仓库"; + const match = trimmed.match( + /github\.com[:/](?[^/\s]+)\/(?[^/\s#?]+?)(?:\.git)?(?:[/?#].*)?$/, + ); + if (!match?.groups) return trimmed; + return `${match.groups.owner}/${match.groups.repo}`; +} + +function normalizeBranch(value: string): string { + const trimmed = value.trim(); + return trimmed || "main"; +} + +function errorDetailFromUnknown(error: unknown): GithubCicdPipelineErrorDetail { + if (error instanceof GithubCicdPipelineError) return error.detail; + if (error instanceof Error) return { message: error.message }; + return { message: String(error || "创建持续交付失败") }; +} + +export function GithubCicdPanel({ + project, + region, + runtimeId, + disabled = false, + onBindingChange, +}: GithubCicdPanelProps) { + const [githubUrl, setGithubUrl] = useState(""); + const [githubToken, setGithubToken] = useState(""); + const [baseBranch, setBaseBranch] = useState("main"); + const [submitting, setSubmitting] = useState(false); + const [loadingBinding, setLoadingBinding] = useState(false); + const [result, setResult] = useState(null); + const [error, setError] = useState(null); + + useEffect(() => { + let cancelled = false; + if (!runtimeId) { + setResult(null); + onBindingChange?.(null); + return; + } + setLoadingBinding(true); + getGithubCicdRuntimeBinding(runtimeId) + .then((binding) => { + if (cancelled) return; + setResult(binding); + onBindingChange?.(binding); + }) + .catch((caught) => { + if (!cancelled) setError(errorDetailFromUnknown(caught)); + }) + .finally(() => { + if (!cancelled) setLoadingBinding(false); + }); + return () => { + cancelled = true; + }; + }, [onBindingChange, runtimeId]); + + const repoLabel = useMemo(() => githubRepoLabel(githubUrl), [githubUrl]); + const resultGithub = result?.github; + const resultRepo = + resultGithub?.owner && resultGithub.repo + ? `${resultGithub.owner}/${resultGithub.repo}` + : resultGithub?.repo ?? repoLabel; + const resultBranch = resultGithub?.branch ?? normalizeBranch(baseBranch); + const resultRuntimeId = result?.runtimeId; + const canSubmit = + !disabled && + !submitting && + githubUrl.trim().length > 0 && + githubToken.trim().length > 0 && + project.files.length > 0; + + async function handleSubmit(event: FormEvent) { + event.preventDefault(); + if (!canSubmit) return; + setSubmitting(true); + setResult(null); + setError(null); + try { + const nextResult = await createGithubCicdPipeline({ + project, + githubUrl: githubUrl.trim(), + githubToken, + baseBranch: normalizeBranch(baseBranch), + region, + }); + const boundResult = + runtimeId && nextResult.pipelineId + ? await bindGithubCicdRuntime({ + pipelineId: nextResult.pipelineId, + runtimeId, + region, + }) + : nextResult; + setResult(boundResult); + onBindingChange?.(boundResult); + setGithubToken(""); + } catch (caught) { + setError(errorDetailFromUnknown(caught)); + } finally { + setSubmitting(false); + } + } + + return ( +
+
+ GitHub 持续交付 + {(submitting || loadingBinding) && ( + + + {loadingBinding ? "读取中" : "执行中"} + + )} +
+

+ 提交当前 Agent 源码到 GitHub,并创建或更新 PR。Runtime 仍由部署按钮发布。 +

+ +
+ + + + +
+ + {result && ( +
+
+ {resultRuntimeId ? "已绑定 GitHub" : "PR 已创建"} + {result.status ?? "succeeded"} +
+
+
+
仓库
+
{resultRepo}
+
+
+
分支
+
{resultBranch}
+
+ {resultRuntimeId && ( +
+
Runtime
+
{resultRuntimeId}
+
+ )} + {resultGithub?.commitSha && ( +
+
Commit
+
{resultGithub.commitSha.slice(0, 12)}
+
+ )} +
+
+ {resultGithub?.pullRequestUrl && ( + + + 查看 PR + + )} +
+ {resultRuntimeId && ( +

+ 更新并发布时会先同步当前源码到这个 PR。 +

+ )} +
+ )} + + {error && ( +
+ 创建失败 +

{error.message}

+ {(error.phase || error.runtimeId || error.logPath) && ( +
+ {error.phase && ( +
+
阶段
+
{error.phase}
+
+ )} + {error.runtimeId && ( +
+
Runtime
+
{error.runtimeId}
+
+ )} + {error.logPath && ( +
+
日志
+
{error.logPath}
+
+ )} +
+ )} +
+ )} +
+ ); +} diff --git a/frontend/src/ui/ProjectPreview.css b/frontend/src/ui/ProjectPreview.css index 94491ca3..a296c87a 100644 --- a/frontend/src/ui/ProjectPreview.css +++ b/frontend/src/ui/ProjectPreview.css @@ -878,6 +878,188 @@ line-height: 1.5; } +.pp-github-cicd-title { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} + +.pp-github-cicd-copy { + margin: -4px 0 12px; + color: hsl(var(--muted-foreground)); + font-size: 12.5px; + line-height: 1.5; +} + +.pp-github-cicd-status { + display: inline-flex; + align-items: center; + gap: 5px; + color: hsl(var(--primary)); + font-size: 11.5px; + font-weight: 560; + white-space: nowrap; +} + +.pp-github-cicd-status .pp-ic { + width: 13px; + height: 13px; +} + +.pp-github-cicd-form { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 0.84fr); + gap: 10px; +} + +.pp-github-cicd-field { + min-width: 0; + display: flex; + flex-direction: column; + gap: 6px; + color: hsl(var(--muted-foreground)); + font-size: 12.5px; +} + +.pp-github-cicd-field:first-child { + grid-column: 1 / -1; +} + +.pp-github-cicd-field > span { + color: hsl(var(--foreground)); + font-weight: 560; +} + +.pp-github-cicd-submit { + grid-column: 1 / -1; + align-self: end; + min-width: 0; + height: 34px; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 0 12px; + border: 1px solid hsl(var(--primary)); + border-radius: 6px; + background: hsl(var(--primary)); + color: hsl(var(--primary-foreground)); + font: inherit; + font-size: 12.5px; + font-weight: 620; + cursor: pointer; + white-space: nowrap; +} + +.pp-github-cicd-submit:disabled { + opacity: 0.52; + cursor: default; +} + +.pp-github-cicd-result, +.pp-github-cicd-error { + margin-top: 14px; + padding-top: 12px; + border-top: 1px solid hsl(var(--border) / 0.72); +} + +.pp-github-cicd-result-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + margin-bottom: 10px; +} + +.pp-github-cicd-result-head strong, +.pp-github-cicd-error strong { + color: hsl(var(--foreground)); + font-size: 13px; + font-weight: 650; +} + +.pp-github-cicd-result-head span { + color: hsl(var(--primary)); + font-size: 11.5px; + font-weight: 620; +} + +.pp-github-cicd-result-grid, +.pp-github-cicd-error dl { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 8px 12px; + margin: 0; +} + +.pp-github-cicd-result-grid div, +.pp-github-cicd-error dl div { + min-width: 0; +} + +.pp-github-cicd-result dt, +.pp-github-cicd-error dt { + margin-bottom: 3px; + color: hsl(var(--muted-foreground)); + font-size: 11.5px; +} + +.pp-github-cicd-result dd, +.pp-github-cicd-error dd { + margin: 0; + overflow-wrap: anywhere; + color: hsl(var(--foreground)); + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; + font-size: 12px; +} + +.pp-github-cicd-links { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + gap: 8px; + margin-top: 12px; +} + +.pp-github-cicd-links a { + min-height: 30px; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 0 10px; + border: 1px solid hsl(var(--border)); + border-radius: 5px; + background: hsl(var(--background)); + color: hsl(var(--foreground)); + font-size: 12px; + font-weight: 600; + text-decoration: none; +} + +.pp-github-cicd-error { + color: hsl(var(--destructive)); +} + +.pp-github-cicd-error p { + margin: 6px 0 10px; + color: hsl(var(--destructive)); + font-size: 12.5px; + line-height: 1.5; +} + +.pp-github-cicd-error dd { + color: hsl(var(--destructive)); +} + +.pp-github-cicd-bound-note { + margin: 10px 0 0; + color: hsl(var(--muted-foreground)); + font-size: 12px; + line-height: 1.5; +} + .pp-instance-note { margin: 10px 0 0; color: hsl(42 96% 43%); @@ -909,6 +1091,7 @@ .pp-config-select, .pp-channel-fields input, +.pp-github-cicd-field input, .pp-instance-fields input, .pp-network-fields input, .pp-env-row input { @@ -937,6 +1120,7 @@ .pp-config-select:focus, .pp-channel-fields input:focus, +.pp-github-cicd-field input:focus, .pp-instance-fields input:focus, .pp-network-fields input:focus, .pp-env-row input:focus { @@ -946,6 +1130,7 @@ .pp-config-select:disabled, .pp-channel-fields input:disabled, +.pp-github-cicd-field input:disabled, .pp-instance-fields input:disabled, .pp-network-fields input:disabled, .pp-env-row input:disabled { @@ -1822,6 +2007,16 @@ } @media (max-width: 520px) { + .pp-github-cicd-form, + .pp-github-cicd-result-grid, + .pp-github-cicd-error dl { + grid-template-columns: minmax(0, 1fr); + } + + .pp-github-cicd-submit { + width: 100%; + } + .pp-network-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; diff --git a/frontend/src/ui/ProjectPreview.tsx b/frontend/src/ui/ProjectPreview.tsx index 13121847..4f9312b3 100644 --- a/frontend/src/ui/ProjectPreview.tsx +++ b/frontend/src/ui/ProjectPreview.tsx @@ -4,6 +4,7 @@ import { type ReactNode, useEffect, useLayoutEffect, + useCallback, useMemo, useRef, useState, @@ -67,15 +68,19 @@ import { runtimeEnvVars, } from "../create/deploymentEnv"; import { + bindGithubCicdRuntime, + syncGithubCicdRuntime, RuntimeProbeError, type DeployBuildLogSnapshot, type DeployStage, + type GithubCicdPipelineResult, } from "../adk/client"; import feishuLogo from "../assets/feishu-logo.svg"; import { buildZip } from "./zip"; import { ProjectCodeBrowser } from "./CodeBrowserDialog"; import { DeploymentErrorMessage } from "./DeploymentErrorMessage"; import { mergeDeployBuildLog } from "./deployBuildLog"; +import { GithubCicdPanel } from "./GithubCicdPanel"; import "./ProjectPreview.css"; const CodeEditor = lazy(() => import("./CodeEditor")); @@ -265,6 +270,7 @@ const DEPLOY_STEPS: { phase: string; label: string }[] = [ { phase: "deploy", label: "部署" }, { phase: "publish", label: "发布" }, ]; +const GITHUB_SYNC_STEP = { phase: "github", label: "同步 PR" }; const CODE_PACKAGE_DEPLOY_STEPS: { phase: string; label: string }[] = [ { phase: "upload", label: "上传代码包" }, @@ -556,6 +562,8 @@ export function ProjectPreview({ const [feishuUpdating, setFeishuUpdating] = useState(false); const [deployError, setDeployError] = useState(null); const [deployResult, setDeployResult] = useState(null); + const [githubCicdBinding, setGithubCicdBinding] = + useState(null); // Latest progress frame per deploy phase + the phase currently in flight, // driving the build/deploy/publish stepper. const [stageMap, setStageMap] = useState>({}); @@ -579,9 +587,13 @@ export function ProjectPreview({ const baseDeploymentSteps = deploymentPrimaryPane ? CODE_PACKAGE_DEPLOY_STEPS : DEPLOY_STEPS; + const githubAwareDeploymentSteps = + deploymentRuntimeId && githubCicdBinding?.pipelineId + ? [GITHUB_SYNC_STEP, ...baseDeploymentSteps] + : baseDeploymentSteps; const deploymentSteps = needsInstanceUpdate - ? [...baseDeploymentSteps, INSTANCE_UPDATE_STEP] - : baseDeploymentSteps; + ? [...githubAwareDeploymentSteps, INSTANCE_UPDATE_STEP] + : githubAwareDeploymentSteps; useEffect(() => { if (!deploymentActionTargetId) { @@ -808,6 +820,13 @@ export function ProjectPreview({ } } + const handleGithubCicdBindingChange = useCallback( + (binding: GithubCicdPipelineResult | null) => { + setGithubCicdBinding(binding); + }, + [], + ); + async function requestDeploymentConfirmation() { if (!onDeploy || deploying || deployDisabled) return; if (!instanceRange.valid) { @@ -918,6 +937,46 @@ export function ProjectPreview({ return latestBuildLog; }; try { + if (deploymentRuntimeId && githubCicdBinding?.pipelineId) { + const githubSyncStage: DeployStage = { + level: "info", + phase: "github", + message: "正在同步当前源码到 GitHub PR", + pct: 0, + }; + if (mountedRef.current) { + setStageMap((prev) => ({ ...prev, github: githubSyncStage })); + setActivePhase("github"); + } + onDeploymentTaskChange?.({ + id: taskId, + runtimeName: taskRuntimeName, + runtimeId: deploymentRuntimeId, + region: deployRegion, + startedAt: taskStartedAt, + status: "running", + phase: "github", + label: "同步 GitHub PR", + message: githubSyncStage.message, + pct: 0, + }); + const synced = await syncGithubCicdRuntime({ + runtimeId: deploymentRuntimeId, + project, + }); + if (mountedRef.current) { + setGithubCicdBinding(synced); + setStageMap((prev) => ({ + ...prev, + github: { + level: "success", + phase: "github", + message: "GitHub PR 已同步", + pct: 100, + }, + })); + } + } const result = await onDeploy( project, (s) => { @@ -969,6 +1028,24 @@ export function ProjectPreview({ setDeployResult(result); setActivePhase(null); } + if (!deploymentRuntimeId && githubCicdBinding?.pipelineId && result.runtimeId) { + try { + const bound = await bindGithubCicdRuntime({ + pipelineId: githubCicdBinding.pipelineId, + runtimeId: result.runtimeId, + region: result.region || deployRegion, + }); + if (mountedRef.current) setGithubCicdBinding(bound); + } catch (error) { + if (mountedRef.current) { + setDeployError( + `部署成功,但绑定 GitHub 失败:${ + error instanceof Error ? error.message : String(error) + }`, + ); + } + } + } onDeploymentTaskChange?.({ id: taskId, runtimeName: result.agentName || taskRuntimeName, @@ -1428,6 +1505,21 @@ export function ProjectPreview({ )} + {!deploymentPrimaryPane && ( + + )} + {!deploymentPrimaryPane && (
消息渠道
diff --git a/frontend/tests/githubCicdPanel.test.mjs b/frontend/tests/githubCicdPanel.test.mjs new file mode 100644 index 00000000..a424e8ac --- /dev/null +++ b/frontend/tests/githubCicdPanel.test.mjs @@ -0,0 +1,41 @@ +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import test from "node:test"; + +const clientSource = readFileSync( + new URL("../src/adk/client.ts", import.meta.url), + "utf8", +); +const projectPreviewSource = readFileSync( + new URL("../src/ui/ProjectPreview.tsx", import.meta.url), + "utf8", +); +const panelSource = readFileSync( + new URL("../src/ui/GithubCicdPanel.tsx", import.meta.url), + "utf8", +); + +test("exposes a GitHub CICD pipeline client without persisting tokens", () => { + assert.match(clientSource, /createGithubCicdPipeline/); + assert.match(clientSource, /\/web\/github-cicd\/pipelines/); + assert.match(clientSource, /bindGithubCicdRuntime/); + assert.match(clientSource, /syncGithubCicdRuntime/); + assert.match(clientSource, /\/web\/github-cicd\/runtime-sync/); + assert.match(clientSource, /github\?:/); + assert.match(clientSource, /githubToken/); + assert.doesNotMatch(clientSource, /localStorage[\s\S]{0,160}githubToken/); + assert.doesNotMatch(clientSource, /sessionStorage[\s\S]{0,160}githubToken/); +}); + +test("renders the GitHub CICD panel from the project deployment sidebar", () => { + assert.match(projectPreviewSource, /GithubCicdPanel/); + assert.match(panelSource, /GitHub 持续交付/); + assert.match(panelSource, /githubUrl/); + assert.match(panelSource, /githubToken/); + assert.match(panelSource, /baseBranch/); + assert.match(panelSource, /result\?\.github/); + assert.match(panelSource, /bindGithubCicdRuntime/); + assert.match(panelSource, /createGithubCicdPipeline/); + assert.doesNotMatch(projectPreviewSource, /&& !isRuntimeUpdate && \(\s* { assert.match( projectPreviewSource, - /needsInstanceUpdate[\s\S]*?\[\.\.\.baseDeploymentSteps, INSTANCE_UPDATE_STEP\][\s\S]*?: baseDeploymentSteps/, + /needsInstanceUpdate[\s\S]*?\[\.\.\.\w+, INSTANCE_UPDATE_STEP\][\s\S]*?: \w+DeploymentSteps/, ); assert.match( workspaceSource, From 8b88d17f0ea03dbc392ff930ad30ab7f403dc539 Mon Sep 17 00:00:00 2001 From: chuhanku Date: Wed, 5 Aug 2026 10:46:53 +0800 Subject: [PATCH 4/4] chore(studio): rebuild frontend assets --- ...tor-CLGn6cuM.js => CodeEditor-DQ_dOZqz.js} | 2 +- ...bW.js => MarkdownPromptEditor-B3-Bt3Nm.js} | 2 +- .../{index-CIx14VGv.js => index-B1u7gmBB.js} | 442 +++++++++--------- ...{index-BifCkzti.css => index-DJv6-8d-.css} | 2 +- veadk/webui/index.html | 4 +- 5 files changed, 226 insertions(+), 226 deletions(-) rename veadk/webui/assets/{CodeEditor-CLGn6cuM.js => CodeEditor-DQ_dOZqz.js} (99%) rename veadk/webui/assets/{MarkdownPromptEditor-2EDV3NbW.js => MarkdownPromptEditor-B3-Bt3Nm.js} (99%) rename veadk/webui/assets/{index-CIx14VGv.js => index-B1u7gmBB.js} (59%) rename veadk/webui/assets/{index-BifCkzti.css => index-DJv6-8d-.css} (67%) diff --git a/veadk/webui/assets/CodeEditor-CLGn6cuM.js b/veadk/webui/assets/CodeEditor-DQ_dOZqz.js similarity index 99% rename from veadk/webui/assets/CodeEditor-CLGn6cuM.js rename to veadk/webui/assets/CodeEditor-DQ_dOZqz.js index 1c622d5b..8682ca83 100644 --- a/veadk/webui/assets/CodeEditor-CLGn6cuM.js +++ b/veadk/webui/assets/CodeEditor-DQ_dOZqz.js @@ -1,4 +1,4 @@ -import{L as xe,D as sf}from"./index-CIx14VGv.js";const of=1024;let Zm=0,Le=class{constructor(e,t){this.from=e,this.to=t}};class M{constructor(e={}){this.id=Zm++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}}M.closedBy=new M({deserialize:i=>i.split(" ")});M.openedBy=new M({deserialize:i=>i.split(" ")});M.group=new M({deserialize:i=>i.split(" ")});M.isolate=new M({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});M.contextHash=new M({perNode:!0});M.lookAhead=new M({perNode:!0});M.mounted=new M({perNode:!0});class Ri{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[M.mounted.id]}}const Am=Object.create(null);class Oe{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):Am,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Oe(e.name||"",t,e.id,n);if(e.props){for(let s of e.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");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.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(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(M.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(M.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}}Oe.none=new Oe("",Object.create(null),0,8);class Kn{constructor(e){this.types=e;for(let t=0;t0;for(let a=this.cursor(o|I.IncludeAnonymous);;){let h=!1;if(a.from<=s&&a.to>=r&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&n&&(l||!a.type.isAnonymous)&&n(a),!a.nextSibling();){if(!a.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:na(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new U(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new U(Oe.none,t,n,r)))}static build(e){return zm(e)}}U.empty=new U(Oe.none,[],[],0);class ta{constructor(e,t){this.buffer=e,this.index=t}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 ta(this.buffer,this.index)}}class It{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));a=o[a+3]);return l}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let l=e,a=0;l=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function vn(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?l.length:-1;e!=h;e+=t){let c=l[e],O=a[e]+o.from,f;if(!(!(s&I.EnterBracketed&&c instanceof U&&(f=Ri.get(c))&&!f.overlay&&f.bracketed&&n>=O&&n<=O+c.length)&&!lf(r,n,O,O+c.length))){if(c instanceof It){if(s&I.ExcludeBuffers)continue;let u=c.findChild(0,c.buffer.length,t,n-O,r);if(u>-1)return new dt(new qm(o,c,e,O),null,u)}else if(s&I.IncludeAnonymous||!c.type.isAnonymous||ia(c)){let u;if(!(s&I.IgnoreMounts)&&(u=Ri.get(c))&&!u.overlay)return new Pe(u.tree,O,e,o);let d=new Pe(c,O,e,o);return s&I.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?c.children.length-1:0,t,n,r,s)}}}if(s&I.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))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(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&I.IgnoreOverlays)&&(r=Ri.get(this._tree))&&r.overlay){let s=e-this.from,o=n&I.EnterBracketed&&r.bracketed;for(let{from:l,to:a}of r.overlay)if((t>0||o?l<=s:l=s:a>s))return new Pe(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}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 ch(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Go(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}class qm{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}}class dt extends af{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(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new dt(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&I.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new dt(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new dt(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new dt(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new U(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function hf(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let l=new Pe(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(vn(l,e,t,!1))}}return r?hf(r):n}class Ur{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~I.EnterBracketed,e instanceof Pe)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Pe?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);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(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&I.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&I.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&I.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let l=n._tree.children[s];if(this.mode&I.IncludeAnonymous||l instanceof It||!l.type.isAnonymous||ia(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Go(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}}function ia(i){return i.children.some(e=>e instanceof It||!e.type.isAnonymous||ia(e))}function zm(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=of,reused:s=[],minRepeatType:o=n.types.length}=i,l=Array.isArray(t)?new ta(t,t.length):t,a=n.types,h=0,c=0;function O(x,k,$,q,_,B){let{id:z,start:A,end:V,size:E}=l,G=c,oe=h;if(E<0)if(l.next(),E==-1){let me=s[z];$.push(me),q.push(A-x);return}else if(E==-3){h=z;return}else if(E==-4){c=z;return}else throw new RangeError(`Unrecognized record size: ${E}`);let fe=a[z],we,ie,pe=A-x;if(V-A<=r&&(ie=g(l.pos-k,_))){let me=new Uint16Array(ie.size-ie.skip),ve=l.pos-ie.size,Me=me.length;for(;l.pos>ve;)Me=Q(ie.start,me,Me);we=new It(me,V-ie.start,n),pe=ie.start-x}else{let me=l.pos-E;l.next();let ve=[],Me=[],H=z>=o?z:-1,Fe=0,ni=V;for(;l.pos>me;)H>=0&&l.id==H&&l.size>=0?(l.end<=ni-r&&(d(ve,Me,A,Fe,l.end,ni,H,G,oe),Fe=ve.length,ni=l.end),l.next()):B>2500?f(A,me,ve,Me):O(A,me,ve,Me,H,B+1);if(H>=0&&Fe>0&&Fe-1&&Fe>0){let ki=u(fe,oe);we=na(fe,ve,Me,0,ve.length,0,V-A,ki,ki)}else we=m(fe,ve,Me,V-A,G-V,oe)}$.push(we),q.push(pe)}function f(x,k,$,q){let _=[],B=0,z=-1;for(;l.pos>k;){let{id:A,start:V,end:E,size:G}=l;if(G>4)l.next();else{if(z>-1&&V=0;E-=3)A[G++]=_[E],A[G++]=_[E+1]-V,A[G++]=_[E+2]-V,A[G++]=G;$.push(new It(A,_[2]-V,n)),q.push(V-x)}}function u(x,k){return($,q,_)=>{let B=0,z=$.length-1,A,V;if(z>=0&&(A=$[z])instanceof U){if(!z&&A.type==x&&A.length==_)return A;(V=A.prop(M.lookAhead))&&(B=q[z]+A.length+V)}return m(x,$,q,_,B,k)}}function d(x,k,$,q,_,B,z,A,V){let E=[],G=[];for(;x.length>q;)E.push(x.pop()),G.push(k.pop()+$-_);x.push(m(n.types[z],E,G,B-_,A-B,V)),k.push(_-$)}function m(x,k,$,q,_,B,z){if(B){let A=[M.contextHash,B];z=z?[A].concat(z):[A]}if(_>25){let A=[M.lookAhead,_];z=z?[A].concat(z):[A]}return new U(x,k,$,q,z)}function g(x,k){let $=l.fork(),q=0,_=0,B=0,z=$.end-r,A={size:0,start:0,skip:0};e:for(let V=$.pos-x;$.pos>V;){let E=$.size;if($.id==k&&E>=0){A.size=q,A.start=_,A.skip=B,B+=4,q+=4,$.next();continue}let G=$.pos-E;if(E<0||G=o?4:0,fe=$.start;for($.next();$.pos>G;){if($.size<0)if($.size==-3||$.size==-4)oe+=4;else break e;else $.id>=o&&(oe+=4);$.next()}_=fe,q+=E,B+=oe}return(k<0||q==x)&&(A.size=q,A.start=_,A.skip=B),A.size>4?A:void 0}function Q(x,k,$){let{id:q,start:_,end:B,size:z}=l;if(l.next(),z>=0&&q4){let V=l.pos-(z-4);for(;l.pos>V;)$=Q(x,k,$)}k[--$]=A,k[--$]=B-x,k[--$]=_-x,k[--$]=q}else z==-3?h=q:z==-4&&(c=q);return $}let S=[],y=[];for(;l.pos>0;)O(i.start||0,i.bufferStart||0,S,y,-1,0);let w=(e=i.length)!==null&&e!==void 0?e:S.length?y[0]+S[0].length:0;return new U(a[i.topID],S.reverse(),y.reverse(),w)}const Oh=new WeakMap;function Wr(i,e){if(!i.isAnonymous||e instanceof It||e.type!=i)return 1;let t=Oh.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof U)){t=1;break}t+=Wr(i,n)}Oh.set(e,t)}return t}function na(i,e,t,n,r,s,o,l,a){let h=0;for(let d=n;d=c)break;k+=$}if(y==w+1){if(k>c){let $=d[w];u($.children,$.positions,0,$.children.length,m[w]+S);continue}O.push(d[w])}else{let $=m[y-1]+d[y-1].length-x;O.push(na(i,d,m,w,y,x,$,null,a))}f.push(x+S-s)}}return u(e,t,n,r,0),(l||a)(O,f,o)}class ra{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof dt?this.setBuffer(e.context.buffer,e.index,t):e instanceof Pe&&this.map.set(e.tree,t)}get(e){return e instanceof dt?this.getBuffer(e.context.buffer,e.index):e instanceof Pe?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Xt{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new Xt(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,h=0;;l++){let c=l=n)for(;o&&o.from=f.from||O<=f.to||h){let u=Math.max(f.from,a)-h,d=Math.min(f.to,O)-h;f=u>=d?null:new Xt(u,d,f.tree,f.offset+h,l>0,!!c)}if(f&&r.push(f),o.to>O)break;o=snew Le(r.from,r.to)):[new Le(0,0)]:[new Le(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}}class _m{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function cf(i){return(e,t,n,r)=>new jm(e,i,t,n,r)}class fh{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}}function uh(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}class Em{constructor(e,t,n,r,s,o,l,a){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=l,this.prev=a,this.depth=0,this.ranges=[]}}const Io=new M({perNode:!0});class jm{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new U(n.type,n.children,n.positions,n.length,n.propValues.concat([[Io,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[M.mounted.id]=new Ri(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)l=!1;else if(e.hasNode(r)){if(t){let h=t.mounts.find(c=>c.frag.from<=r.from&&c.frag.to>=r.to&&c.mount.overlay);if(h)for(let c of h.mount.overlay){let O=c.from+h.pos,f=c.to+h.pos;O>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromO)&&t.ranges.push({from:O,to:f})}}l=!1}else if(n&&(o=Vm(n.ranges,r.from,r.to)))l=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Le(O.from-r.from,O.to-r.from)):null,!!s.bracketed,r.tree,c.length?c[0].from:r.from)),s.overlay?c.length&&(n={ranges:c,depth:0,prev:n}):l=!1}}else if(t&&(a=t.predicate(r))&&(a===!0&&(a=new Le(r.from,r.to)),a.from=0&&t.ranges[h].to==a.from?t.ranges[h]={from:t.ranges[h].from,to:a.to}:t.ranges.push(a)}if(l&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let h=mh(this.ranges,t.ranges);h.length&&(uh(h),this.inner.splice(t.index,0,new fh(t.parser,t.parser.startParse(this.input,gh(t.mounts,h),h),t.ranges.map(c=>new Le(c.from-t.start,c.to-t.start)),t.bracketed,t.target,h[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}}function Vm(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function dh(i,e,t,n,r,s){if(e=e&&t.enter(n,1,I.IgnoreOverlays|I.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof U)t=t.children[0];else break}return!1}}let Lm=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Io))!==null&&t!==void 0?t:n.to,this.inner=new ph(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Io))!==null&&e!==void 0?e:t.to,this.inner=new ph(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(M.mounted);if(o&&o.parser==t)for(let l=this.fragI;l=s.to)break;a.tree==this.curFrag.tree&&r.push({frag:a,pos:s.from-a.offset,mount:o})}}}return r}};function mh(i,e){let t=null,n=e;for(let r=1,s=0;r=l)break;a.to<=o||(t||(n=t=e.slice()),a.froml&&t.splice(s+1,0,new Le(l,a.to))):a.to>l?t[s--]=new Le(l,a.to):t.splice(s--,1))}}return n}function Dm(i,e,t,n){let r=0,s=0,o=!1,l=!1,a=-1e9,h=[];for(;;){let c=r==i.length?1e9:o?i[r].to:i[r].from,O=s==e.length?1e9:l?e[s].to:e[s].from;if(o!=l){let f=Math.max(a,t),u=Math.min(c,O,n);fnew Le(f.from+n,f.to+n)),O=Dm(e,c,a,h);for(let f=0,u=a;;f++){let d=f==O.length,m=d?h:O[f].from;if(m>u&&t.push(new Xt(u,m,r.tree,-o,s.from>=u||s.openStart,s.to<=m||s.openEnd)),d)break;u=O[f].to}}else t.push(new Xt(a,h,r.tree,-o,s.from>=o||s.openStart,s.to<=l||s.openEnd))}return t}var Qh={};class Nr{constructor(e,t,n,r,s,o,l,a,h,c=0,O){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=h,this.lookAhead=c,this.parent=O}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new Nr(e,[],t,n,n,0,[],0,r?new Sh(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(r,h)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>n;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let s=e,{parser:o}=this.p;this.pos=r;let l=o.stateFlag(s,1);!l&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,l?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new Nr(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Bm(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sa&1&&l==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-s;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&e.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=n(o,s+1);if(l!=null)return l}})};return n(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:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}}class Sh{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Bm{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}}class Fr{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Fr(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.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 Fr(this.stack,this.pos,this.index)}}function un(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),s+=a,l)break;s*=46}t?t[r++]=s:t=new e(s)}return t}class Mr{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const bh=new Mr;class Gm{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=bh,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&nl.to&&(this.chunk2=this.chunk2.slice(0,l.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,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(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,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(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=bh,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}}class Zi{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Of(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}Zi.prototype.contextual=Zi.prototype.fallback=Zi.prototype.extend=!1;class Hr{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?un(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Of(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}}Hr.prototype.contextual=Zi.prototype.fallback=Zi.prototype.extend=!1;class ae{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Of(i,e,t,n,r,s){let o=0,l=1<0){let d=i[u];if(a.allows(d)&&(e.token.value==-1||e.token.value==d||Im(d,e.token.value,r,s))){e.acceptToken(d);break}}let c=e.next,O=0,f=i[o+2];if(e.next<0&&f>O&&i[h+f*3-3]==65535){o=i[h+f*3-1];continue e}for(;O>1,d=h+u+(u<<1),m=i[d],g=i[d+1]||65536;if(c=g)O=u+1;else{o=i[d+2],e.advance();continue e}}break}}function yh(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Im(i,e,t,n){let r=yh(t,n,e);return r<0||yh(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}let Um=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?xh(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?xh(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof U){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}};class Nm{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Mr)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let h=0;hO.end+25&&(a=Math.max(O.lookAhead,a)),O.value!=0)){let f=t;if(O.extended>-1&&(t=this.addActions(e,O.extended,O.end,t)),t=this.addActions(e,O.value,O.end,t),!c.extend&&(n=O,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Mr,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Mr,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new Um(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(l);else{if(this.advanceStack(l,n,e))continue;{r||(r=[],s=[]),r.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!n.length){let o=r&&Km(r);if(o)return ze&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw ze&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return ze&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((l,a)=>a.score-l.score);n.length>o;)n.pop();n.some(l=>l.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)n.splice(a--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,l)=>l.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,c=h?e.curContext.hash:0;for(let O=this.fragments.nodeAt(r);O;){let f=this.parser.nodeSet.types[O.type.id]==O.type?s.getGoto(e.state,O.type.id):-1;if(f>-1&&O.length&&(!h||(O.prop(M.contextHash)||0)==c))return e.useNode(O,f),ze&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(O.type.id)})`),!0;if(!(O instanceof U)||O.children.length==0||O.positions[0]>0)break;let u=O.children[0];if(u instanceof U&&O.positions[0]==0)O=u;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),ze&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let h=0;hr?t.push(d):n.push(d)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return kh(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),ze&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let O=l.split(),f=c;for(let u=0;u<10&&O.forceReduce()&&(ze&&console.log(f+this.stackID(O)+" (via force-reduce)"),!this.advanceFully(O,n));u++)ze&&(f=this.stackID(O)+" -> ");for(let u of l.recoverByInsert(a))ze&&console.log(c+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,n);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),ze&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),kh(l,n)):(!r||r.scorei;class Ts{constructor(e){this.start=e.start,this.shift=e.shift||Us,this.reduce=e.reduce||Us,this.reuse=e.reuse||Us,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Rt extends sa{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;le.topRules[l][1]),r=[];for(let l=0;l=0)s(c,a,l[h++]);else{let O=l[h+-c];for(let f=-c;f>0;f--)s(l[h++],a,O);h++}}}this.nodeSet=new Kn(t.map((l,a)=>Oe.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:r[a],top:n.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=of;let o=un(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new Zi(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new Fm(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],l=o&1,a=r[s++];if(l&&n)return a;for(let h=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=vt(this.data,s+2);else break;r=t(vt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=vt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(Rt.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(l=>l.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=Ph(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}let Jm=0,ct=class Uo{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=Jm++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof Uo&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let r=new Uo(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Kr(e);return n=>n.modified.indexOf(t)>-1?n:Kr.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},eg=0;class Kr{constructor(e){this.name=e,this.instances=[],this.id=eg++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(l=>l.base==e&&tg(t,l.modified));if(n)return n;let r=[],s=new ct(e.name,r,e,t);for(let l of t)l.instances.push(s);let o=ig(t);for(let l of e.set)if(!l.modified.length)for(let a of o)r.push(Kr.get(l,a));return s}}function tg(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function ig(i){let e=[[]];for(let t=0;tn.length-t.length)}function zt(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,l=r;for(let O=0;;){if(l=="..."&&O>0&&O+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),O+=f[0].length,O==r.length)break;let u=r[O++];if(O==r.length&&u=="!"){o=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);l=r.slice(O)}let a=s.length-1,h=s[a];if(!h)throw new RangeError("Invalid path: "+r);let c=new Tn(n,o,a>0?s.slice(0,a):null);e[h]=c.sort(e[h])}}return ff.add(e)}const ff=new M({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Tn(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}});class Tn{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let l of s)for(let a of l.set){let h=t[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:n}}function ng(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function rg(i,e,t,n=0,r=i.length){let s=new sg(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}class sg{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:l,to:a}=e;if(l>=n||a<=t)return;o.isTop&&(s=this.highlighters.filter(u=>!u.scope||u.scope(o)));let h=r,c=og(e)||Tn.empty,O=ng(s,c.tags);if(O&&(h&&(h+=" "),h+=O,c.mode==1&&(r+=(r?" ":"")+O)),this.startSpan(Math.max(t,l),h),c.opaque)return;let f=e.tree&&e.tree.prop(M.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+l,1),d=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,Q=l;;g++){let S=g=y||!e.nextSibling())););if(!S||y>n)break;Q=S.to+l,Q>t&&(this.highlightRange(u.cursor(),Math.max(t,S.from+l),Math.min(n,Q),"",d),this.startSpan(Math.min(n,Q),h))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),h)}while(e.nextSibling());e.parent()}}}function og(i){let e=i.type.prop(ff);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}const T=ct.define,cr=T(),Vt=T(),$h=T(Vt),wh=T(Vt),Yt=T(),Or=T(Yt),Ns=T(Yt),ht=T(),oi=T(ht),ot=T(),lt=T(),No=T(),sn=T(No),fr=T(),p={comment:cr,lineComment:T(cr),blockComment:T(cr),docComment:T(cr),name:Vt,variableName:T(Vt),typeName:$h,tagName:T($h),propertyName:wh,attributeName:T(wh),className:T(Vt),labelName:T(Vt),namespace:T(Vt),macroName:T(Vt),literal:Yt,string:Or,docString:T(Or),character:T(Or),attributeValue:T(Or),number:Ns,integer:T(Ns),float:T(Ns),bool:T(Yt),regexp:T(Yt),escape:T(Yt),color:T(Yt),url:T(Yt),keyword:ot,self:T(ot),null:T(ot),atom:T(ot),unit:T(ot),modifier:T(ot),operatorKeyword:T(ot),controlKeyword:T(ot),definitionKeyword:T(ot),moduleKeyword:T(ot),operator:lt,derefOperator:T(lt),arithmeticOperator:T(lt),logicOperator:T(lt),bitwiseOperator:T(lt),compareOperator:T(lt),updateOperator:T(lt),definitionOperator:T(lt),typeOperator:T(lt),controlOperator:T(lt),punctuation:No,separator:T(No),bracket:sn,angleBracket:T(sn),squareBracket:T(sn),paren:T(sn),brace:T(sn),content:ht,heading:oi,heading1:T(oi),heading2:T(oi),heading3:T(oi),heading4:T(oi),heading5:T(oi),heading6:T(oi),contentSeparator:T(ht),list:T(ht),quote:T(ht),emphasis:T(ht),strong:T(ht),link:T(ht),monospace:T(ht),strikethrough:T(ht),inserted:T(),deleted:T(),changed:T(),invalid:T(),meta:fr,documentMeta:T(fr),annotation:T(fr),processingInstruction:T(fr),definition:ct.defineModifier("definition"),constant:ct.defineModifier("constant"),function:ct.defineModifier("function"),standard:ct.defineModifier("standard"),local:ct.defineModifier("local"),special:ct.defineModifier("special")};for(let i in p){let e=p[i];e instanceof ct&&(e.name=i)}uf([{tag:p.link,class:"tok-link"},{tag:p.heading,class:"tok-heading"},{tag:p.emphasis,class:"tok-emphasis"},{tag:p.strong,class:"tok-strong"},{tag:p.keyword,class:"tok-keyword"},{tag:p.atom,class:"tok-atom"},{tag:p.bool,class:"tok-bool"},{tag:p.url,class:"tok-url"},{tag:p.labelName,class:"tok-labelName"},{tag:p.inserted,class:"tok-inserted"},{tag:p.deleted,class:"tok-deleted"},{tag:p.literal,class:"tok-literal"},{tag:p.string,class:"tok-string"},{tag:p.number,class:"tok-number"},{tag:[p.regexp,p.escape,p.special(p.string)],class:"tok-string2"},{tag:p.variableName,class:"tok-variableName"},{tag:p.local(p.variableName),class:"tok-variableName tok-local"},{tag:p.definition(p.variableName),class:"tok-variableName tok-definition"},{tag:p.special(p.variableName),class:"tok-variableName2"},{tag:p.definition(p.propertyName),class:"tok-propertyName tok-definition"},{tag:p.typeName,class:"tok-typeName"},{tag:p.namespace,class:"tok-namespace"},{tag:p.className,class:"tok-className"},{tag:p.macroName,class:"tok-macroName"},{tag:p.propertyName,class:"tok-propertyName"},{tag:p.operator,class:"tok-operator"},{tag:p.comment,class:"tok-comment"},{tag:p.meta,class:"tok-meta"},{tag:p.invalid,class:"tok-invalid"},{tag:p.punctuation,class:"tok-punctuation"}]);const lg=316,ag=317,vh=1,hg=2,cg=3,Og=4,fg=318,ug=320,dg=321,pg=5,mg=6,gg=0,Fo=[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],df=125,Qg=59,Ho=47,Sg=42,bg=43,yg=45,xg=60,kg=44,Pg=63,$g=46,wg=91,vg=new Ts({start:!1,shift(i,e){return e==pg||e==mg||e==ug?i:e==dg},strict:!1}),Tg=new ae((i,e)=>{let{next:t}=i;(t==df||t==-1||e.context)&&i.acceptToken(fg)},{contextual:!0,fallback:!0}),Xg=new ae((i,e)=>{let{next:t}=i,n;Fo.indexOf(t)>-1||t==Ho&&((n=i.peek(1))==Ho||n==Sg)||t!=df&&t!=Qg&&t!=-1&&!e.context&&i.acceptToken(lg)},{contextual:!0}),Cg=new ae((i,e)=>{i.next==wg&&!e.context&&i.acceptToken(ag)},{contextual:!0}),Rg=new ae((i,e)=>{let{next:t}=i;if(t==bg||t==yg){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(vh);i.acceptToken(n?vh:hg)}}else t==Pg&&i.peek(1)==$g&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(cg))},{contextual:!0});function Fs(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}const Zg=new ae((i,e)=>{if(i.next!=xg||!e.dialectEnabled(gg)||(i.advance(),i.next==Ho))return;let t=0;for(;Fo.indexOf(i.next)>-1;)i.advance(),t++;if(Fs(i.next,!0)){for(i.advance(),t++;Fs(i.next,!1);)i.advance(),t++;for(;Fo.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==kg)return;for(let n=0;;n++){if(n==7){if(!Fs(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Og,-t)}),Ag=zt({"get set async static":p.modifier,"for while do if else switch try catch finally return throw break continue default case defer":p.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":p.operatorKeyword,"let var const using function class extends":p.definitionKeyword,"import export from":p.moduleKeyword,"with debugger new":p.keyword,TemplateString:p.special(p.string),super:p.atom,BooleanLiteral:p.bool,this:p.self,null:p.null,Star:p.modifier,VariableName:p.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":p.function(p.variableName),VariableDefinition:p.definition(p.variableName),Label:p.labelName,PropertyName:p.propertyName,PrivatePropertyName:p.special(p.propertyName),"CallExpression/MemberExpression/PropertyName":p.function(p.propertyName),"FunctionDeclaration/VariableDefinition":p.function(p.definition(p.variableName)),"ClassDeclaration/VariableDefinition":p.definition(p.className),"NewExpression/VariableName":p.className,PropertyDefinition:p.definition(p.propertyName),PrivatePropertyDefinition:p.definition(p.special(p.propertyName)),UpdateOp:p.updateOperator,"LineComment Hashbang":p.lineComment,BlockComment:p.blockComment,Number:p.number,String:p.string,Escape:p.escape,ArithOp:p.arithmeticOperator,LogicOp:p.logicOperator,BitOp:p.bitwiseOperator,CompareOp:p.compareOperator,RegExp:p.regexp,Equals:p.definitionOperator,Arrow:p.function(p.punctuation),": Spread":p.punctuation,"( )":p.paren,"[ ]":p.squareBracket,"{ }":p.brace,"InterpolationStart InterpolationEnd":p.special(p.brace),".":p.derefOperator,", ;":p.separator,"@":p.meta,TypeName:p.typeName,TypeDefinition:p.definition(p.typeName),"type enum interface implements namespace module declare":p.definitionKeyword,"abstract global Privacy readonly override":p.modifier,"is keyof unique infer asserts":p.operatorKeyword,JSXAttributeValue:p.attributeValue,JSXText:p.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":p.angleBracket,"JSXIdentifier JSXNameSpacedName":p.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":p.attributeName,"JSXBuiltin/JSXIdentifier":p.standard(p.tagName)}),qg={__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},Wg={__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},Mg={__proto__:null,"<":193},zg=Rt.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:vg,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:[Ag],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:[Xg,Cg,Rg,Zg,2,3,4,5,6,7,8,9,10,11,12,13,14,Tg,new Hr("$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 Hr("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:i=>qg[i]||-1},{term:343,get:i=>Wg[i]||-1},{term:95,get:i=>Mg[i]||-1}],tokenPrec:15201});let Ko=[],pf=[];(()=>{let i="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(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=pf[n])e=n+1;else return!0;if(e==t)return!1}}function Th(i){return i>=127462&&i<=127487}const Xh=8205;function Eg(i,e,t=!0,n=!0){return(t?mf:jg)(i,e,n)}function mf(i,e,t){if(e==i.length)return e;e&&gf(i.charCodeAt(e))&&Qf(i.charCodeAt(e-1))&&e--;let n=Hs(i,e);for(e+=Ch(n);e=0&&Th(Hs(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function jg(i,e,t){for(;e>1;){let n=mf(i,e-2,t);if(n=56320&&i<57344}function Qf(i){return i>=55296&&i<56320}function Ch(i){return i<65536?1:2}class D{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=Vi(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),Ot.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Vi(this,e,t);let n=[];return this.decompose(e,t,n,0),Ot.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new gn(this),s=new gn(e);for(let o=t,l=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(l+=r.value.length,r.done||l>=n)return!0}}iter(e=1){return new gn(this,e)}iterRange(e,t=this.length){return new Sf(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new bf(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?D.empty:e.length<=32?new le(e):Ot.from(le.split(e,[]))}}class le extends D{constructor(e,t=Vg(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],l=r+o.length;if((t?n:l)>=e)return new Yg(r,l,n,o);r=l+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new le(Rh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),l=zr(s.text,o.text.slice(),0,s.length);if(l.length<=32)n.push(new le(l,o.length+s.length));else{let a=l.length>>1;n.push(new le(l.slice(0,a)),new le(l.slice(a)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof le))return super.replace(e,t,n);[e,t]=Vi(this,e,t);let r=zr(this.text,zr(n.text,Rh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new le(r,s):Ot.from(le.split(r,[]),s)}sliceString(e,t=this.length,n=` +import{L as xe,D as sf}from"./index-B1u7gmBB.js";const of=1024;let Zm=0,Le=class{constructor(e,t){this.from=e,this.to=t}};class M{constructor(e={}){this.id=Zm++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Oe.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}}M.closedBy=new M({deserialize:i=>i.split(" ")});M.openedBy=new M({deserialize:i=>i.split(" ")});M.group=new M({deserialize:i=>i.split(" ")});M.isolate=new M({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});M.contextHash=new M({perNode:!0});M.lookAhead=new M({perNode:!0});M.mounted=new M({perNode:!0});class Ri{constructor(e,t,n,r=!1){this.tree=e,this.overlay=t,this.parser=n,this.bracketed=r}static get(e){return e&&e.props&&e.props[M.mounted.id]}}const Am=Object.create(null);class Oe{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):Am,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new Oe(e.name||"",t,e.id,n);if(e.props){for(let s of e.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");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.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(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(M.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(M.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}}Oe.none=new Oe("",Object.create(null),0,8);class Kn{constructor(e){this.types=e;for(let t=0;t0;for(let a=this.cursor(o|I.IncludeAnonymous);;){let h=!1;if(a.from<=s&&a.to>=r&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&n&&(l||!a.type.isAnonymous)&&n(a),!a.nextSibling();){if(!a.parent())return;h=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:na(Oe.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new U(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new U(Oe.none,t,n,r)))}static build(e){return zm(e)}}U.empty=new U(Oe.none,[],[],0);class ta{constructor(e,t){this.buffer=e,this.index=t}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 ta(this.buffer,this.index)}}class It{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Oe.none}toString(){let e=[];for(let t=0;t0));a=o[a+3]);return l}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let l=e,a=0;l=e&&te;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function vn(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?l.length:-1;e!=h;e+=t){let c=l[e],O=a[e]+o.from,f;if(!(!(s&I.EnterBracketed&&c instanceof U&&(f=Ri.get(c))&&!f.overlay&&f.bracketed&&n>=O&&n<=O+c.length)&&!lf(r,n,O,O+c.length))){if(c instanceof It){if(s&I.ExcludeBuffers)continue;let u=c.findChild(0,c.buffer.length,t,n-O,r);if(u>-1)return new dt(new qm(o,c,e,O),null,u)}else if(s&I.IncludeAnonymous||!c.type.isAnonymous||ia(c)){let u;if(!(s&I.IgnoreMounts)&&(u=Ri.get(c))&&!u.overlay)return new Pe(u.tree,O,e,o);let d=new Pe(c,O,e,o);return s&I.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?c.children.length-1:0,t,n,r,s)}}}if(s&I.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))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(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,n=0){let r;if(!(n&I.IgnoreOverlays)&&(r=Ri.get(this._tree))&&r.overlay){let s=e-this.from,o=n&I.EnterBracketed&&r.bracketed;for(let{from:l,to:a}of r.overlay)if((t>0||o?l<=s:l=s:a>s))return new Pe(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}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 ch(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Go(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}class qm{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}}class dt extends af{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(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new dt(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,n=0){if(n&I.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new dt(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new dt(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new dt(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new U(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function hf(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let l=new Pe(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(vn(l,e,t,!1))}}return r?hf(r):n}class Ur{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~I.EnterBracketed,e instanceof Pe)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Pe?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);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(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&I.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&I.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&I.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let l=n._tree.children[s];if(this.mode&I.IncludeAnonymous||l instanceof It||!l.type.isAnonymous||ia(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r=0;s--){if(s<0)return Go(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}}function ia(i){return i.children.some(e=>e instanceof It||!e.type.isAnonymous||ia(e))}function zm(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=of,reused:s=[],minRepeatType:o=n.types.length}=i,l=Array.isArray(t)?new ta(t,t.length):t,a=n.types,h=0,c=0;function O(x,k,$,q,_,B){let{id:z,start:A,end:V,size:E}=l,G=c,oe=h;if(E<0)if(l.next(),E==-1){let me=s[z];$.push(me),q.push(A-x);return}else if(E==-3){h=z;return}else if(E==-4){c=z;return}else throw new RangeError(`Unrecognized record size: ${E}`);let fe=a[z],we,ie,pe=A-x;if(V-A<=r&&(ie=g(l.pos-k,_))){let me=new Uint16Array(ie.size-ie.skip),ve=l.pos-ie.size,Me=me.length;for(;l.pos>ve;)Me=Q(ie.start,me,Me);we=new It(me,V-ie.start,n),pe=ie.start-x}else{let me=l.pos-E;l.next();let ve=[],Me=[],H=z>=o?z:-1,Fe=0,ni=V;for(;l.pos>me;)H>=0&&l.id==H&&l.size>=0?(l.end<=ni-r&&(d(ve,Me,A,Fe,l.end,ni,H,G,oe),Fe=ve.length,ni=l.end),l.next()):B>2500?f(A,me,ve,Me):O(A,me,ve,Me,H,B+1);if(H>=0&&Fe>0&&Fe-1&&Fe>0){let ki=u(fe,oe);we=na(fe,ve,Me,0,ve.length,0,V-A,ki,ki)}else we=m(fe,ve,Me,V-A,G-V,oe)}$.push(we),q.push(pe)}function f(x,k,$,q){let _=[],B=0,z=-1;for(;l.pos>k;){let{id:A,start:V,end:E,size:G}=l;if(G>4)l.next();else{if(z>-1&&V=0;E-=3)A[G++]=_[E],A[G++]=_[E+1]-V,A[G++]=_[E+2]-V,A[G++]=G;$.push(new It(A,_[2]-V,n)),q.push(V-x)}}function u(x,k){return($,q,_)=>{let B=0,z=$.length-1,A,V;if(z>=0&&(A=$[z])instanceof U){if(!z&&A.type==x&&A.length==_)return A;(V=A.prop(M.lookAhead))&&(B=q[z]+A.length+V)}return m(x,$,q,_,B,k)}}function d(x,k,$,q,_,B,z,A,V){let E=[],G=[];for(;x.length>q;)E.push(x.pop()),G.push(k.pop()+$-_);x.push(m(n.types[z],E,G,B-_,A-B,V)),k.push(_-$)}function m(x,k,$,q,_,B,z){if(B){let A=[M.contextHash,B];z=z?[A].concat(z):[A]}if(_>25){let A=[M.lookAhead,_];z=z?[A].concat(z):[A]}return new U(x,k,$,q,z)}function g(x,k){let $=l.fork(),q=0,_=0,B=0,z=$.end-r,A={size:0,start:0,skip:0};e:for(let V=$.pos-x;$.pos>V;){let E=$.size;if($.id==k&&E>=0){A.size=q,A.start=_,A.skip=B,B+=4,q+=4,$.next();continue}let G=$.pos-E;if(E<0||G=o?4:0,fe=$.start;for($.next();$.pos>G;){if($.size<0)if($.size==-3||$.size==-4)oe+=4;else break e;else $.id>=o&&(oe+=4);$.next()}_=fe,q+=E,B+=oe}return(k<0||q==x)&&(A.size=q,A.start=_,A.skip=B),A.size>4?A:void 0}function Q(x,k,$){let{id:q,start:_,end:B,size:z}=l;if(l.next(),z>=0&&q4){let V=l.pos-(z-4);for(;l.pos>V;)$=Q(x,k,$)}k[--$]=A,k[--$]=B-x,k[--$]=_-x,k[--$]=q}else z==-3?h=q:z==-4&&(c=q);return $}let S=[],y=[];for(;l.pos>0;)O(i.start||0,i.bufferStart||0,S,y,-1,0);let w=(e=i.length)!==null&&e!==void 0?e:S.length?y[0]+S[0].length:0;return new U(a[i.topID],S.reverse(),y.reverse(),w)}const Oh=new WeakMap;function Wr(i,e){if(!i.isAnonymous||e instanceof It||e.type!=i)return 1;let t=Oh.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof U)){t=1;break}t+=Wr(i,n)}Oh.set(e,t)}return t}function na(i,e,t,n,r,s,o,l,a){let h=0;for(let d=n;d=c)break;k+=$}if(y==w+1){if(k>c){let $=d[w];u($.children,$.positions,0,$.children.length,m[w]+S);continue}O.push(d[w])}else{let $=m[y-1]+d[y-1].length-x;O.push(na(i,d,m,w,y,x,$,null,a))}f.push(x+S-s)}}return u(e,t,n,r,0),(l||a)(O,f,o)}class ra{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof dt?this.setBuffer(e.context.buffer,e.index,t):e instanceof Pe&&this.map.set(e.tree,t)}get(e){return e instanceof dt?this.getBuffer(e.context.buffer,e.index):e instanceof Pe?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Xt{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new Xt(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,h=0;;l++){let c=l=n)for(;o&&o.from=f.from||O<=f.to||h){let u=Math.max(f.from,a)-h,d=Math.min(f.to,O)-h;f=u>=d?null:new Xt(u,d,f.tree,f.offset+h,l>0,!!c)}if(f&&r.push(f),o.to>O)break;o=snew Le(r.from,r.to)):[new Le(0,0)]:[new Le(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}}class _m{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function cf(i){return(e,t,n,r)=>new jm(e,i,t,n,r)}class fh{constructor(e,t,n,r,s,o){this.parser=e,this.parse=t,this.overlay=n,this.bracketed=r,this.target=s,this.from=o}}function uh(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}class Em{constructor(e,t,n,r,s,o,l,a){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.bracketed=o,this.target=l,this.prev=a,this.depth=0,this.ranges=[]}}const Io=new M({perNode:!0});class jm{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new U(n.type,n.children,n.positions,n.length,n.propValues.concat([[Io,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[M.mounted.id]=new Ri(t,e.overlay,e.parser,e.bracketed),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)l=!1;else if(e.hasNode(r)){if(t){let h=t.mounts.find(c=>c.frag.from<=r.from&&c.frag.to>=r.to&&c.mount.overlay);if(h)for(let c of h.mount.overlay){let O=c.from+h.pos,f=c.to+h.pos;O>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromO)&&t.ranges.push({from:O,to:f})}}l=!1}else if(n&&(o=Vm(n.ranges,r.from,r.to)))l=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.fromnew Le(O.from-r.from,O.to-r.from)):null,!!s.bracketed,r.tree,c.length?c[0].from:r.from)),s.overlay?c.length&&(n={ranges:c,depth:0,prev:n}):l=!1}}else if(t&&(a=t.predicate(r))&&(a===!0&&(a=new Le(r.from,r.to)),a.from=0&&t.ranges[h].to==a.from?t.ranges[h]={from:t.ranges[h].from,to:a.to}:t.ranges.push(a)}if(l&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let h=mh(this.ranges,t.ranges);h.length&&(uh(h),this.inner.splice(t.index,0,new fh(t.parser,t.parser.startParse(this.input,gh(t.mounts,h),h),t.ranges.map(c=>new Le(c.from-t.start,c.to-t.start)),t.bracketed,t.target,h[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}}function Vm(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function dh(i,e,t,n,r,s){if(e=e&&t.enter(n,1,I.IgnoreOverlays|I.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof U)t=t.children[0];else break}return!1}}let Lm=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Io))!==null&&t!==void 0?t:n.to,this.inner=new ph(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Io))!==null&&e!==void 0?e:t.to,this.inner=new ph(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(M.mounted);if(o&&o.parser==t)for(let l=this.fragI;l=s.to)break;a.tree==this.curFrag.tree&&r.push({frag:a,pos:s.from-a.offset,mount:o})}}}return r}};function mh(i,e){let t=null,n=e;for(let r=1,s=0;r=l)break;a.to<=o||(t||(n=t=e.slice()),a.froml&&t.splice(s+1,0,new Le(l,a.to))):a.to>l?t[s--]=new Le(l,a.to):t.splice(s--,1))}}return n}function Dm(i,e,t,n){let r=0,s=0,o=!1,l=!1,a=-1e9,h=[];for(;;){let c=r==i.length?1e9:o?i[r].to:i[r].from,O=s==e.length?1e9:l?e[s].to:e[s].from;if(o!=l){let f=Math.max(a,t),u=Math.min(c,O,n);fnew Le(f.from+n,f.to+n)),O=Dm(e,c,a,h);for(let f=0,u=a;;f++){let d=f==O.length,m=d?h:O[f].from;if(m>u&&t.push(new Xt(u,m,r.tree,-o,s.from>=u||s.openStart,s.to<=m||s.openEnd)),d)break;u=O[f].to}}else t.push(new Xt(a,h,r.tree,-o,s.from>=o||s.openStart,s.to<=l||s.openEnd))}return t}var Qh={};class Nr{constructor(e,t,n,r,s,o,l,a,h,c=0,O){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=h,this.lookAhead=c,this.parent=O}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new Nr(e,[],t,n,n,0,[],0,r?new Sh(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(r,h)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(t==n)return;if(this.buffer[o-2]>=t){this.buffer[o-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>n;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let s=e,{parser:o}=this.p;this.pos=r;let l=o.stateFlag(s,1);!l&&(r>n||t<=o.maxNode)&&(this.reducePos=r),this.pushState(s,l?n:Math.min(n,this.reducePos)),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new Nr(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Bm(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;sa&1&&l==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-s;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&e.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=n(o,s+1);if(l!=null)return l}})};return n(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:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}}class Sh{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Bm{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}}class Fr{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Fr(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.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 Fr(this.stack,this.pos,this.index)}}function un(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),s+=a,l)break;s*=46}t?t[r++]=s:t=new e(s)}return t}class Mr{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const bh=new Mr;class Gm{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=bh,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;sn.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t=this.chunk2Pos&&nl.to&&(this.chunk2=this.chunk2.slice(0,l.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,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(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,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(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=bh,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}}class Zi{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Of(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}Zi.prototype.contextual=Zi.prototype.fallback=Zi.prototype.extend=!1;class Hr{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?un(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Of(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}}Hr.prototype.contextual=Zi.prototype.fallback=Zi.prototype.extend=!1;class ae{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Of(i,e,t,n,r,s){let o=0,l=1<0){let d=i[u];if(a.allows(d)&&(e.token.value==-1||e.token.value==d||Im(d,e.token.value,r,s))){e.acceptToken(d);break}}let c=e.next,O=0,f=i[o+2];if(e.next<0&&f>O&&i[h+f*3-3]==65535){o=i[h+f*3-1];continue e}for(;O>1,d=h+u+(u<<1),m=i[d],g=i[d+1]||65536;if(c=g)O=u+1;else{o=i[d+2],e.advance();continue e}}break}}function yh(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Im(i,e,t,n){let r=yh(t,n,e);return r<0||yh(t,n,i)e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}let Um=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?xh(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?xh(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof U){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}};class Nm{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Mr)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let h=0;hO.end+25&&(a=Math.max(O.lookAhead,a)),O.value!=0)){let f=t;if(O.extended>-1&&(t=this.addActions(e,O.extended,O.end,t)),t=this.addActions(e,O.value,O.end,t),!c.extend&&(n=O,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Mr,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Mr,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o=0&&n.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;se.bufferLength*4?new Um(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)n.push(l);else{if(this.advanceStack(l,n,e))continue;{r||(r=[],s=[]),r.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!n.length){let o=r&&Km(r);if(o)return ze&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw ze&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return ze&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((l,a)=>a.score-l.score);n.length>o;)n.pop();n.some(l=>l.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)n.splice(a--,1);else{n.splice(o--,1);continue e}}}n.length>12&&(n.sort((o,l)=>l.score-o.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,c=h?e.curContext.hash:0;for(let O=this.fragments.nodeAt(r);O;){let f=this.parser.nodeSet.types[O.type.id]==O.type?s.getGoto(e.state,O.type.id):-1;if(f>-1&&O.length&&(!h||(O.prop(M.contextHash)||0)==c))return e.useNode(O,f),ze&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(O.type.id)})`),!0;if(!(O instanceof U)||O.children.length==0||O.positions[0]>0)break;let u=O.children[0];if(u instanceof U&&O.positions[0]==0)O=u;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),ze&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let h=0;hr?t.push(d):n.push(d)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return kh(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),ze&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let O=l.split(),f=c;for(let u=0;u<10&&O.forceReduce()&&(ze&&console.log(f+this.stackID(O)+" (via force-reduce)"),!this.advanceFully(O,n));u++)ze&&(f=this.stackID(O)+" -> ");for(let u of l.recoverByInsert(a))ze&&console.log(c+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,n);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),ze&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),kh(l,n)):(!r||r.scorei;class Ts{constructor(e){this.start=e.start,this.shift=e.shift||Us,this.reduce=e.reduce||Us,this.reuse=e.reuse||Us,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Rt extends sa{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;le.topRules[l][1]),r=[];for(let l=0;l=0)s(c,a,l[h++]);else{let O=l[h+-c];for(let f=-c;f>0;f--)s(l[h++],a,O);h++}}}this.nodeSet=new Kn(t.map((l,a)=>Oe.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:r[a],top:n.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=of;let o=un(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new Zi(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new Fm(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],l=o&1,a=r[s++];if(l&&n)return a;for(let h=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=vt(this.data,s+2);else break;r=t(vt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=vt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(Rt.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(l=>l.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=Ph(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;sn)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,n)<<1|e}return i.get}let Jm=0,ct=class Uo{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=Jm++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof Uo&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let r=new Uo(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Kr(e);return n=>n.modified.indexOf(t)>-1?n:Kr.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},eg=0;class Kr{constructor(e){this.name=e,this.instances=[],this.id=eg++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(l=>l.base==e&&tg(t,l.modified));if(n)return n;let r=[],s=new ct(e.name,r,e,t);for(let l of t)l.instances.push(s);let o=ig(t);for(let l of e.set)if(!l.modified.length)for(let a of o)r.push(Kr.get(l,a));return s}}function tg(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function ig(i){let e=[[]];for(let t=0;tn.length-t.length)}function zt(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,l=r;for(let O=0;;){if(l=="..."&&O>0&&O+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),O+=f[0].length,O==r.length)break;let u=r[O++];if(O==r.length&&u=="!"){o=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);l=r.slice(O)}let a=s.length-1,h=s[a];if(!h)throw new RangeError("Invalid path: "+r);let c=new Tn(n,o,a>0?s.slice(0,a):null);e[h]=c.sort(e[h])}}return ff.add(e)}const ff=new M({combine(i,e){let t,n,r;for(;i||e;){if(!i||e&&i.depth>=e.depth?(r=e,e=e.next):(r=i,i=i.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Tn(r.tags,r.mode,r.context);t?t.next=s:n=s,t=s}return n}});class Tn{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=r;for(let l of s)for(let a of l.set){let h=t[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:n}}function ng(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function rg(i,e,t,n=0,r=i.length){let s=new sg(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}class sg{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:l,to:a}=e;if(l>=n||a<=t)return;o.isTop&&(s=this.highlighters.filter(u=>!u.scope||u.scope(o)));let h=r,c=og(e)||Tn.empty,O=ng(s,c.tags);if(O&&(h&&(h+=" "),h+=O,c.mode==1&&(r+=(r?" ":"")+O)),this.startSpan(Math.max(t,l),h),c.opaque)return;let f=e.tree&&e.tree.prop(M.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+l,1),d=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,Q=l;;g++){let S=g=y||!e.nextSibling())););if(!S||y>n)break;Q=S.to+l,Q>t&&(this.highlightRange(u.cursor(),Math.max(t,S.from+l),Math.min(n,Q),"",d),this.startSpan(Math.min(n,Q),h))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),h)}while(e.nextSibling());e.parent()}}}function og(i){let e=i.type.prop(ff);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}const T=ct.define,cr=T(),Vt=T(),$h=T(Vt),wh=T(Vt),Yt=T(),Or=T(Yt),Ns=T(Yt),ht=T(),oi=T(ht),ot=T(),lt=T(),No=T(),sn=T(No),fr=T(),p={comment:cr,lineComment:T(cr),blockComment:T(cr),docComment:T(cr),name:Vt,variableName:T(Vt),typeName:$h,tagName:T($h),propertyName:wh,attributeName:T(wh),className:T(Vt),labelName:T(Vt),namespace:T(Vt),macroName:T(Vt),literal:Yt,string:Or,docString:T(Or),character:T(Or),attributeValue:T(Or),number:Ns,integer:T(Ns),float:T(Ns),bool:T(Yt),regexp:T(Yt),escape:T(Yt),color:T(Yt),url:T(Yt),keyword:ot,self:T(ot),null:T(ot),atom:T(ot),unit:T(ot),modifier:T(ot),operatorKeyword:T(ot),controlKeyword:T(ot),definitionKeyword:T(ot),moduleKeyword:T(ot),operator:lt,derefOperator:T(lt),arithmeticOperator:T(lt),logicOperator:T(lt),bitwiseOperator:T(lt),compareOperator:T(lt),updateOperator:T(lt),definitionOperator:T(lt),typeOperator:T(lt),controlOperator:T(lt),punctuation:No,separator:T(No),bracket:sn,angleBracket:T(sn),squareBracket:T(sn),paren:T(sn),brace:T(sn),content:ht,heading:oi,heading1:T(oi),heading2:T(oi),heading3:T(oi),heading4:T(oi),heading5:T(oi),heading6:T(oi),contentSeparator:T(ht),list:T(ht),quote:T(ht),emphasis:T(ht),strong:T(ht),link:T(ht),monospace:T(ht),strikethrough:T(ht),inserted:T(),deleted:T(),changed:T(),invalid:T(),meta:fr,documentMeta:T(fr),annotation:T(fr),processingInstruction:T(fr),definition:ct.defineModifier("definition"),constant:ct.defineModifier("constant"),function:ct.defineModifier("function"),standard:ct.defineModifier("standard"),local:ct.defineModifier("local"),special:ct.defineModifier("special")};for(let i in p){let e=p[i];e instanceof ct&&(e.name=i)}uf([{tag:p.link,class:"tok-link"},{tag:p.heading,class:"tok-heading"},{tag:p.emphasis,class:"tok-emphasis"},{tag:p.strong,class:"tok-strong"},{tag:p.keyword,class:"tok-keyword"},{tag:p.atom,class:"tok-atom"},{tag:p.bool,class:"tok-bool"},{tag:p.url,class:"tok-url"},{tag:p.labelName,class:"tok-labelName"},{tag:p.inserted,class:"tok-inserted"},{tag:p.deleted,class:"tok-deleted"},{tag:p.literal,class:"tok-literal"},{tag:p.string,class:"tok-string"},{tag:p.number,class:"tok-number"},{tag:[p.regexp,p.escape,p.special(p.string)],class:"tok-string2"},{tag:p.variableName,class:"tok-variableName"},{tag:p.local(p.variableName),class:"tok-variableName tok-local"},{tag:p.definition(p.variableName),class:"tok-variableName tok-definition"},{tag:p.special(p.variableName),class:"tok-variableName2"},{tag:p.definition(p.propertyName),class:"tok-propertyName tok-definition"},{tag:p.typeName,class:"tok-typeName"},{tag:p.namespace,class:"tok-namespace"},{tag:p.className,class:"tok-className"},{tag:p.macroName,class:"tok-macroName"},{tag:p.propertyName,class:"tok-propertyName"},{tag:p.operator,class:"tok-operator"},{tag:p.comment,class:"tok-comment"},{tag:p.meta,class:"tok-meta"},{tag:p.invalid,class:"tok-invalid"},{tag:p.punctuation,class:"tok-punctuation"}]);const lg=316,ag=317,vh=1,hg=2,cg=3,Og=4,fg=318,ug=320,dg=321,pg=5,mg=6,gg=0,Fo=[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],df=125,Qg=59,Ho=47,Sg=42,bg=43,yg=45,xg=60,kg=44,Pg=63,$g=46,wg=91,vg=new Ts({start:!1,shift(i,e){return e==pg||e==mg||e==ug?i:e==dg},strict:!1}),Tg=new ae((i,e)=>{let{next:t}=i;(t==df||t==-1||e.context)&&i.acceptToken(fg)},{contextual:!0,fallback:!0}),Xg=new ae((i,e)=>{let{next:t}=i,n;Fo.indexOf(t)>-1||t==Ho&&((n=i.peek(1))==Ho||n==Sg)||t!=df&&t!=Qg&&t!=-1&&!e.context&&i.acceptToken(lg)},{contextual:!0}),Cg=new ae((i,e)=>{i.next==wg&&!e.context&&i.acceptToken(ag)},{contextual:!0}),Rg=new ae((i,e)=>{let{next:t}=i;if(t==bg||t==yg){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(vh);i.acceptToken(n?vh:hg)}}else t==Pg&&i.peek(1)==$g&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(cg))},{contextual:!0});function Fs(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}const Zg=new ae((i,e)=>{if(i.next!=xg||!e.dialectEnabled(gg)||(i.advance(),i.next==Ho))return;let t=0;for(;Fo.indexOf(i.next)>-1;)i.advance(),t++;if(Fs(i.next,!0)){for(i.advance(),t++;Fs(i.next,!1);)i.advance(),t++;for(;Fo.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==kg)return;for(let n=0;;n++){if(n==7){if(!Fs(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(Og,-t)}),Ag=zt({"get set async static":p.modifier,"for while do if else switch try catch finally return throw break continue default case defer":p.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":p.operatorKeyword,"let var const using function class extends":p.definitionKeyword,"import export from":p.moduleKeyword,"with debugger new":p.keyword,TemplateString:p.special(p.string),super:p.atom,BooleanLiteral:p.bool,this:p.self,null:p.null,Star:p.modifier,VariableName:p.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":p.function(p.variableName),VariableDefinition:p.definition(p.variableName),Label:p.labelName,PropertyName:p.propertyName,PrivatePropertyName:p.special(p.propertyName),"CallExpression/MemberExpression/PropertyName":p.function(p.propertyName),"FunctionDeclaration/VariableDefinition":p.function(p.definition(p.variableName)),"ClassDeclaration/VariableDefinition":p.definition(p.className),"NewExpression/VariableName":p.className,PropertyDefinition:p.definition(p.propertyName),PrivatePropertyDefinition:p.definition(p.special(p.propertyName)),UpdateOp:p.updateOperator,"LineComment Hashbang":p.lineComment,BlockComment:p.blockComment,Number:p.number,String:p.string,Escape:p.escape,ArithOp:p.arithmeticOperator,LogicOp:p.logicOperator,BitOp:p.bitwiseOperator,CompareOp:p.compareOperator,RegExp:p.regexp,Equals:p.definitionOperator,Arrow:p.function(p.punctuation),": Spread":p.punctuation,"( )":p.paren,"[ ]":p.squareBracket,"{ }":p.brace,"InterpolationStart InterpolationEnd":p.special(p.brace),".":p.derefOperator,", ;":p.separator,"@":p.meta,TypeName:p.typeName,TypeDefinition:p.definition(p.typeName),"type enum interface implements namespace module declare":p.definitionKeyword,"abstract global Privacy readonly override":p.modifier,"is keyof unique infer asserts":p.operatorKeyword,JSXAttributeValue:p.attributeValue,JSXText:p.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":p.angleBracket,"JSXIdentifier JSXNameSpacedName":p.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":p.attributeName,"JSXBuiltin/JSXIdentifier":p.standard(p.tagName)}),qg={__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},Wg={__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},Mg={__proto__:null,"<":193},zg=Rt.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:vg,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:[Ag],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:[Xg,Cg,Rg,Zg,2,3,4,5,6,7,8,9,10,11,12,13,14,Tg,new Hr("$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 Hr("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:i=>qg[i]||-1},{term:343,get:i=>Wg[i]||-1},{term:95,get:i=>Mg[i]||-1}],tokenPrec:15201});let Ko=[],pf=[];(()=>{let i="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(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(i=pf[n])e=n+1;else return!0;if(e==t)return!1}}function Th(i){return i>=127462&&i<=127487}const Xh=8205;function Eg(i,e,t=!0,n=!0){return(t?mf:jg)(i,e,n)}function mf(i,e,t){if(e==i.length)return e;e&&gf(i.charCodeAt(e))&&Qf(i.charCodeAt(e-1))&&e--;let n=Hs(i,e);for(e+=Ch(n);e=0&&Th(Hs(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function jg(i,e,t){for(;e>1;){let n=mf(i,e-2,t);if(n=56320&&i<57344}function Qf(i){return i>=55296&&i<56320}function Ch(i){return i<65536?1:2}class D{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=Vi(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),Ot.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Vi(this,e,t);let n=[];return this.decompose(e,t,n,0),Ot.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new gn(this),s=new gn(e);for(let o=t,l=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(l+=r.value.length,r.done||l>=n)return!0}}iter(e=1){return new gn(this,e)}iterRange(e,t=this.length){return new Sf(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new bf(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?D.empty:e.length<=32?new le(e):Ot.from(le.split(e,[]))}}class le extends D{constructor(e,t=Vg(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],l=r+o.length;if((t?n:l)>=e)return new Yg(r,l,n,o);r=l+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new le(Rh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),l=zr(s.text,o.text.slice(),0,s.length);if(l.length<=32)n.push(new le(l,o.length+s.length));else{let a=l.length>>1;n.push(new le(l.slice(0,a)),new le(l.slice(a)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof le))return super.replace(e,t,n);[e,t]=Vi(this,e,t);let r=zr(this.text,zr(n.text,Rh(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new le(r,s):Ot.from(le.split(r,[]),s)}sliceString(e,t=this.length,n=` `){[e,t]=Vi(this,e,t);let r="";for(let s=0,o=0;s<=t&&oe&&o&&(r+=n),es&&(r+=l.slice(Math.max(0,e-s),t-s)),s=a+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new le(n,r)),n=[],r=-1);return r>-1&&t.push(new le(n,r)),t}}class Ot extends D{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],l=r+o.length,a=n+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,n,r);r=l+1,n=a+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s=o){let h=r&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?n.push(l):l.decompose(e-o,t-o,n,h)}o=a+1}}replace(e,t,n){if([e,t]=Vi(this,e,t),n.lines=s&&t<=l){let a=o.replace(e-s,t-s,n),h=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>h>>6){let c=this.children.slice();return c[r]=a,new Ot(c,this.length-(t-e)+n.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` `){[e,t]=Vi(this,e,t);let r="";for(let s=0,o=0;se&&s&&(r+=n),eo&&(r+=l.sliceString(e-o,t-o,n)),o=a+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Ot))return 0;let n=0,[r,s,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==l)return n;let a=this.children[r],h=e.children[s];if(a!=h)return n+a.scanIdentical(h,t);n+=a.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let u of e)n+=u.lines;if(n<32){let u=[];for(let d of e)d.flatten(u);return new le(u,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,l=[],a=0,h=-1,c=[];function O(u){let d;if(u.lines>s&&u instanceof Ot)for(let m of u.children)O(m);else u.lines>o&&(a>o||!a)?(f(),l.push(u)):u instanceof le&&a&&(d=c[c.length-1])instanceof le&&u.lines+d.lines<=32?(a+=u.lines,h+=u.length+1,c[c.length-1]=new le(d.text.concat(u.text),d.length+1+u.length)):(a+u.lines>r&&f(),a+=u.lines,h+=u.length+1,c.push(u))}function f(){a!=0&&(l.push(c.length==1?c[0]:Ot.from(c,h)),h=-1,a=c.length=0)}for(let u of e)O(u);return f(),l.length==1?l[0]:new Ot(l,t)}}D.empty=new le([""],0);function Vg(i){let e=-1;for(let t of i)e+=t.length+1;return e}function zr(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s=t&&(a>n&&(l=l.slice(0,n-r)),r0?1:(e instanceof le?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,l=r instanceof le?r.text.length:r.children.length;if(o==(t>0?l:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` `,this;e--}else if(r instanceof le){let a=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof le?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Sf{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new gn(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class bf{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(D.prototype[Symbol.iterator]=function(){return this.iter()},gn.prototype[Symbol.iterator]=Sf.prototype[Symbol.iterator]=bf.prototype[Symbol.iterator]=function(){return this});let Yg=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function Vi(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function de(i,e,t=!0,n=!0){return Eg(i,e,t,n)}function Lg(i){return i>=56320&&i<57344}function Dg(i){return i>=55296&&i<56320}function Re(i,e){let t=i.charCodeAt(e);if(!Dg(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Lg(n)?(t-55296<<10)+(n-56320)+65536:t}function oa(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function ft(i){return i<65536?1:2}const Jo=/\r\n?|\n/;var Se=function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i}(Se||(Se={}));class Qt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-r);s+=l}else{if(n!=Se.Simple&&h>=e&&(n==Se.TrackDel&&re||n==Se.TrackBefore&&re))return null;if(h>e||h==e&&t<0&&!l)return e==r||t<0?s:s+a;s+=a}r=h}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&l>=e)return rt?"cover":!0;r=l}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Qt(e)}static create(e){return new Qt(e)}}class ce extends Qt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return el(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return tl(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r=0){t[r]=l,t[r+1]=o;let a=r>>1;for(;n.length0&&Bt(n,t,s.text),s.forward(c),l+=c}let h=e[o++];for(;l>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,l=null;function a(c=!1){if(!c&&!r.length)return;of||O<0||f>t)throw new RangeError(`Invalid change range ${O} to ${f} (in doc of length ${t})`);let d=u?typeof u=="string"?D.of(u.split(n||Jo)):u:D.empty,m=d.length;if(O==f&&m==0)return;Oo&&ke(r,O-o,-1),ke(r,f-O,m),Bt(s,r,d),o=f}}return h(e),a(!l),l}static empty(e){return new ce(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;rl&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function Bt(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)l=i.sections[o++],a=i.sections[o++];e(r,h,s,c,O),r=h,s=c}}}function tl(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Xn(i),l=new Xn(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let h=Math.min(o.len,l.len);ke(r,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len=0&&a=0){let h=0,c=o.len;for(;c;)if(l.ins==-1){let O=Math.min(c,l.len);h+=O,c-=O,l.forward(O)}else if(l.ins==0&&l.lena||o.ins>=0&&o.len>a)&&(l||n.length>h),s.forward2(a),o.forward(a)}}}}class Xn{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?D.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?D.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Lt{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,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 e=this.flags&7;return e==7?null:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new Lt(n,r,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return b.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return b.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return b.range(e.anchor,e.head)}static create(e,t,n,r){return new Lt(e,t,n,r)}}class b{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:b.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new b(e.ranges.map(t=>Lt.fromJSON(t)),e.main)}static single(e,t=e){return new b([b.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;rr.from-s.from),t=e.indexOf(n);for(let r=1;rs.head?b.range(a,l):b.range(l,a))}}return new b(e,t)}}function xf(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let la=0;class C{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=la++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new C(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:aa),!!e.static,e.enables)}of(e){return new _r([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new _r(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new _r(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}}function aa(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}class _r{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=la++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,l=this.type==2,a=!1,h=!1,c=[];for(let O of this.dependencies)O=="doc"?a=!0:O=="selection"?h=!0:((t=e[O.id])!==null&&t!==void 0?t:1)&1||c.push(e[O.id]);return{create(O){return O.values[o]=n(O),1},update(O,f){if(a&&f.docChanged||h&&(f.docChanged||f.selection)||il(O,c)){let u=n(O);if(l?!Zh(u,O.values[o],r):!r(u,O.values[o]))return O.values[o]=u,1}return 0},reconfigure:(O,f)=>{let u,d=f.config.address[s];if(d!=null){let m=es(f,d);if(this.dependencies.every(g=>g instanceof C?f.facet(g)===O.facet(g):g instanceof ye?f.field(g,!1)==O.field(g,!1):!0)||(l?Zh(u=n(O),m,r):r(u=n(O),m)))return O.values[o]=m,0}else u=n(O);return O.values[o]=u,1}}}get extension(){return this}}function Zh(i,e,t){if(i.length!=e.length)return!1;for(let n=0;ni[a.id]),r=t.map(a=>a.type),s=n.filter(a=>!(a&1)),o=i[e.id]>>1;function l(a){let h=[];for(let c=0;cn===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(ur).find(n=>n.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(ur),o=r.facet(ur),l;return(l=s.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(n.values[t]=l.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,ur.of({field:this,create:e})]}get extension(){return this}}const ai={lowest:4,low:3,default:2,high:1,highest:0};function on(i){return e=>new kf(e,i)}const _t={highest:on(ai.highest),high:on(ai.high),default:on(ai.default),low:on(ai.low),lowest:on(ai.lowest)};class kf{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class Xs{of(e){return new nl(this,e)}reconfigure(e){return Xs.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class nl{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class Jr{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let f of Gg(e,t,o))f instanceof ye?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let l=Object.create(null),a=[],h=[];for(let f of r)l[f.id]=h.length<<1,h.push(u=>f.slot(u));let c=n==null?void 0:n.config.facets;for(let f in s){let u=s[f],d=u[0].facet,m=c&&c[f]||[];if(u.every(g=>g.type==0))if(l[d.id]=a.length<<1|1,aa(m,u))a.push(n.facet(d));else{let g=d.combine(u.map(Q=>Q.value));a.push(n&&d.compare(g,n.facet(d))?n.facet(d):g)}else{for(let g of u)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=h.length<<1,h.push(Q=>g.dynamicSlot(Q)));l[d.id]=h.length<<1,h.push(g=>Bg(g,d,u))}}let O=h.map(f=>f(l));return new Jr(e,o,O,l,a,s)}}function Gg(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,l){let a=r.get(o);if(a!=null){if(a<=l)return;let h=n[a].indexOf(o);h>-1&&n[a].splice(h,1),o instanceof nl&&t.delete(o.compartment)}if(r.set(o,l),Array.isArray(o))for(let h of o)s(h,l);else if(o instanceof nl){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(o.compartment)||o.inner;t.set(o.compartment,h),s(h,l)}else if(o instanceof kf)s(o.inner,o.prec);else if(o instanceof ye)n[l].push(o),o.provides&&s(o.provides,l);else if(o instanceof _r)n[l].push(o),o.facet.extensions&&s(o.facet.extensions,ai.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(h==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(h,l)}}return s(i,ai.default),n.reduce((o,l)=>o.concat(l))}function Qn(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function es(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}const Pf=C.define(),rl=C.define({combine:i=>i.some(e=>e),static:!0}),$f=C.define({combine:i=>i.length?i[0]:void 0,static:!0}),wf=C.define(),vf=C.define(),Tf=C.define(),Xf=C.define({combine:i=>i.length?i[0]:!1});class bt{constructor(e,t){this.type=e,this.value=t}static define(){return new Ig}}class Ig{of(e){return new bt(this,e)}}class Ug{constructor(e){this.map=e}of(e){return new W(this,e)}}class W{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new W(this.type,t)}is(e){return this.type==e}static define(e={}){return new Ug(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}}W.reconfigure=W.define();W.appendConfig=W.define();class he{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&xf(n,t.newLength),s.some(l=>l.type==he.time)||(this.annotations=s.concat(he.time.of(Date.now())))}static create(e,t,n,r,s,o){return new he(e,t,n,r,s,o)}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(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(he.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}he.time=bt.define();he.userEvent=bt.define();he.addToHistory=bt.define();he.remote=bt.define();function Ng(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n=i[n]))s=i[n++],o=i[n++];else if(r=0;r--){let s=n[r](i);s instanceof he?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof he?i=s[0]:i=Rf(e,Ai(s),!1)}return i}function Hg(i){let e=i.startState,t=e.facet(Tf),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=Cf(n,sl(e,s,i.changes.newLength),!0))}return n==i?i:he.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}const Kg=[];function Ai(i){return i==null?Kg:Array.isArray(i)?i:[i]}var te=function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i}(te||(te={}));const Jg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ol;try{ol=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function e0(i){if(ol)return ol.test(i);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||Jg.test(t)))return!0}return!1}function t0(i){return e=>{if(!/\S/.test(e))return te.Space;if(e0(e))return te.Word;for(let t=0;t-1)return te.Word;return te.Other}}class Y{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let l=0;lr.set(h,a)),t=null),r.set(l.value.compartment,l.value.extension)):l.is(W.reconfigure)?(t=null,n=l.value):l.is(W.appendConfig)&&(t=null,n=Ai(n).concat(l.value));let s;t?s=e.startState.values.slice():(t=Jr.resolve(n,r,this),s=new Y(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=e.startState.facet(rl)?e.newSelection:e.newSelection.asSingle();new Y(t,e.newDoc,o,s,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:b.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=Ai(n.effects);for(let l=1;lo.spec.fromJSON(l,a)))}}return Y.create({doc:e.doc,selection:b.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Jr.resolve(e.extensions||[],new Map),n=e.doc instanceof D?e.doc:D.of((e.doc||"").split(t.staticFacet(Y.lineSeparator)||Jo)),r=e.selection?e.selection instanceof b?e.selection:b.single(e.selection.anchor,e.selection.head):b.single(0);return xf(r,n.length),t.staticFacet(rl)||(r=r.asSingle()),new Y(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(Y.tabSize)}get lineBreak(){return this.facet(Y.lineSeparator)||` diff --git a/veadk/webui/assets/MarkdownPromptEditor-2EDV3NbW.js b/veadk/webui/assets/MarkdownPromptEditor-B3-Bt3Nm.js similarity index 99% rename from veadk/webui/assets/MarkdownPromptEditor-2EDV3NbW.js rename to veadk/webui/assets/MarkdownPromptEditor-B3-Bt3Nm.js index 7c2ce717..fd9ab01a 100644 --- a/veadk/webui/assets/MarkdownPromptEditor-2EDV3NbW.js +++ b/veadk/webui/assets/MarkdownPromptEditor-B3-Bt3Nm.js @@ -1,4 +1,4 @@ -var px=Object.defineProperty;var mx=(t,e,n)=>e in t?px(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var L=(t,e,n)=>mx(t,typeof e!="symbol"?e+"":e,n);import{s as Cd,t as yx,o as xx,q as Cc,J as _x,a0 as vx,C as Cx,L as E,D as R,a as Ze,W as xt,U as Ln,f as $e,p as bx,_ as sn,K as Or,i as Wl,$ as wx,P as Ru,Z as Fu,h as Sx,k as Ex,Y as Fp,X as bc,I as Tx,c as kx,j as Hp,m as Vp,b as Nx,T as Mx,l as Ox,R as N,n as bd,d as wd,V as rt,H as pn,Q as xs,N as $a,M as Ax,e as Sd,E as nn,G as ol,r as Hu,F as gr,S as Jn,O as jt,g as ni,u as Lx,y as Px,w as $x,x as Ix,v as Dx,B as Rx,z as Fx,A as Hx}from"./index-CIx14VGv.js";const Vx={}.hasOwnProperty;function Bp(t,e){let n=-1,r;if(e.extensions)for(;++ne in t?px(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var L=(t,e,n)=>mx(t,typeof e!="symbol"?e+"":e,n);import{s as Cd,t as yx,o as xx,q as Cc,J as _x,a0 as vx,C as Cx,L as E,D as R,a as Ze,W as xt,U as Ln,f as $e,p as bx,_ as sn,K as Or,i as Wl,$ as wx,P as Ru,Z as Fu,h as Sx,k as Ex,Y as Fp,X as bc,I as Tx,c as kx,j as Hp,m as Vp,b as Nx,T as Mx,l as Ox,R as N,n as bd,d as wd,V as rt,H as pn,Q as xs,N as $a,M as Ax,e as Sd,E as nn,G as ol,r as Hu,F as gr,S as Jn,O as jt,g as ni,u as Lx,y as Px,w as $x,x as Ix,v as Dx,B as Rx,z as Fx,A as Hx}from"./index-B1u7gmBB.js";const Vx={}.hasOwnProperty;function Bp(t,e){let n=-1,r;if(e.extensions)for(;++ni.map(i=>d[i]); -var MV=Object.defineProperty;var jA=e=>{throw TypeError(e)};var LV=(e,t,n)=>t in e?MV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var MA=(e,t,n)=>LV(e,typeof t!="symbol"?t+"":t,n),LA=(e,t,n)=>t.has(e)||jA("Cannot "+n);var _i=(e,t,n)=>(LA(e,t,"read from private field"),n?n.call(e):t.get(e)),DA=(e,t,n)=>t.has(e)?jA("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),rE=(e,t,n,s)=>(LA(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n);function DV(e,t){for(var n=0;ns[i]})}}}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 i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var yl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ef(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var A3={exports:{}},e1={};/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownPromptEditor-B3-Bt3Nm.js","assets/MarkdownPromptEditor-ZH9qtki0.css"])))=>i.map(i=>d[i]); +var HV=Object.defineProperty;var DA=e=>{throw TypeError(e)};var zV=(e,t,n)=>t in e?HV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var PA=(e,t,n)=>zV(e,typeof t!="symbol"?t+"":t,n),BA=(e,t,n)=>t.has(e)||DA("Cannot "+n);var ki=(e,t,n)=>(BA(e,t,"read from private field"),n?n.call(e):t.get(e)),UA=(e,t,n)=>t.has(e)?DA("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),lE=(e,t,n,s)=>(BA(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n);function VV(e,t){for(var n=0;ns[i]})}}}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 i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();var yl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ef(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var O3={exports:{}},t1={};/** * @license React * react-jsx-runtime.production.js * @@ -7,7 +7,7 @@ var MV=Object.defineProperty;var jA=e=>{throw TypeError(e)};var LV=(e,t,n)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var PV=Symbol.for("react.transitional.element"),BV=Symbol.for("react.fragment");function C3(e,t,n){var s=null;if(n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),"key"in t){n={};for(var i in t)i!=="key"&&(n[i]=t[i])}else n=t;return t=n.ref,{$$typeof:PV,type:e,key:s,ref:t!==void 0?t:null,props:n}}e1.Fragment=BV;e1.jsx=C3;e1.jsxs=C3;A3.exports=e1;var o=A3.exports,I3={exports:{}},Ct={};/** + */var GV=Symbol.for("react.transitional.element"),KV=Symbol.for("react.fragment");function M3(e,t,n){var s=null;if(n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),"key"in t){n={};for(var i in t)i!=="key"&&(n[i]=t[i])}else n=t;return t=n.ref,{$$typeof:GV,type:e,key:s,ref:t!==void 0?t:null,props:n}}t1.Fragment=KV;t1.jsx=M3;t1.jsxs=M3;O3.exports=t1;var o=O3.exports,L3={exports:{}},At={};/** * @license React * react.production.js * @@ -15,7 +15,7 @@ var MV=Object.defineProperty;var jA=e=>{throw TypeError(e)};var LV=(e,t,n)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var hT=Symbol.for("react.transitional.element"),UV=Symbol.for("react.portal"),FV=Symbol.for("react.fragment"),$V=Symbol.for("react.strict_mode"),HV=Symbol.for("react.profiler"),zV=Symbol.for("react.consumer"),VV=Symbol.for("react.context"),GV=Symbol.for("react.forward_ref"),KV=Symbol.for("react.suspense"),qV=Symbol.for("react.memo"),R3=Symbol.for("react.lazy"),YV=Symbol.for("react.activity"),PA=Symbol.iterator;function WV(e){return e===null||typeof e!="object"?null:(e=PA&&e[PA]||e["@@iterator"],typeof e=="function"?e:null)}var O3={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j3=Object.assign,M3={};function vf(e,t,n){this.props=e,this.context=t,this.refs=M3,this.updater=n||O3}vf.prototype.isReactComponent={};vf.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")};vf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function L3(){}L3.prototype=vf.prototype;function mT(e,t,n){this.props=e,this.context=t,this.refs=M3,this.updater=n||O3}var pT=mT.prototype=new L3;pT.constructor=mT;j3(pT,vf.prototype);pT.isPureReactComponent=!0;var BA=Array.isArray;function vw(){}var ts={H:null,A:null,T:null,S:null},D3=Object.prototype.hasOwnProperty;function gT(e,t,n){var s=n.ref;return{$$typeof:hT,type:e,key:t,ref:s!==void 0?s:null,props:n}}function XV(e,t){return gT(e.type,t,e.props)}function bT(e){return typeof e=="object"&&e!==null&&e.$$typeof===hT}function QV(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var UA=/\/+/g;function aE(e,t){return typeof e=="object"&&e!==null&&e.key!=null?QV(""+e.key):t.toString(36)}function ZV(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(vw,vw):(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 Fu(e,t,n,s,i){var r=typeof e;(r==="undefined"||r==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(r){case"bigint":case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case hT:case UV:a=!0;break;case R3:return a=e._init,Fu(a(e._payload),t,n,s,i)}}if(a)return i=i(e),a=s===""?"."+aE(e,0):s,BA(i)?(n="",a!=null&&(n=a.replace(UA,"$&/")+"/"),Fu(i,t,n,"",function(u){return u})):i!=null&&(bT(i)&&(i=XV(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(UA,"$&/")+"/")+a)),t.push(i)),1;a=0;var l=s===""?".":s+":";if(BA(e))for(var c=0;c{throw TypeError(e)};var LV=(e,t,n)=>t in * * 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,O){var P=N.length;N.push(O);e:for(;0>>1,I=N[$];if(0>>1;$i(B,P))eei(z,B)?(N[$]=z,N[ee]=P,$=ee):(N[$]=B,N[Q]=P,$=Q);else if(eei(z,P))N[$]=z,N[ee]=P,$=ee;else break e}}return O}function i(N,O){var P=N.sortIndex-O.sortIndex;return P!==0?P:N.id-O.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var r=performance;e.unstable_now=function(){return r.now()}}else{var a=Date,l=a.now();e.unstable_now=function(){return a.now()-l}}var c=[],u=[],d=1,f=null,h=3,m=!1,p=!1,g=!1,v=!1,y=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function w(N){for(var O=n(u);O!==null;){if(O.callback===null)s(u);else if(O.startTime<=N)s(u),O.sortIndex=O.expirationTime,t(c,O);else break;O=n(u)}}function T(N){if(g=!1,w(N),!p)if(n(c)!==null)p=!0,S||(S=!0,L());else{var O=n(u);O!==null&&F(T,O.startTime-N)}}var S=!1,k=-1,A=5,C=-1;function R(){return v?!0:!(e.unstable_now()-CN&&R());){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,w(N),O=!0;break t}f===n(c)&&s(c),w(N)}else s(c);f=n(c)}if(f!==null)O=!0;else{var q=n(u);q!==null&&F(T,q.startTime-N),O=!1}}break e}finally{f=null,h=P,m=!1}O=void 0}}finally{O?L():S=!1}}}var L;if(typeof E=="function")L=function(){E(M)};else if(typeof MessageChannel<"u"){var G=new MessageChannel,D=G.port2;G.port1.onmessage=M,L=function(){D.postMessage(null)}}else L=function(){y(M,0)};function F(N,O){k=y(function(){N(e.unstable_now())},O)}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=P,t(u,N),n(c)===null&&N===n(u)&&(g?(x(k),k=-1):g=!0,F(T,P-$))):(N.sortIndex=I,t(c,N),p||m||(p=!0,S||(S=!0,L()))),N},e.unstable_shouldYield=R,e.unstable_wrapCallback=function(N){var O=h;return function(){var P=h;h=O;try{return N.apply(this,arguments)}finally{h=P}}}})(U3);B3.exports=U3;var tG=B3.exports,F3={exports:{}},Gi={};/** + */(function(e){function t(k,j){var P=k.length;k.push(j);e:for(;0>>1,R=k[$];if(0>>1;$i(B,P))eei(z,B)?(k[$]=z,k[ee]=P,$=ee):(k[$]=B,k[Q]=P,$=Q);else if(eei(z,P))k[$]=z,k[ee]=P,$=ee;else break e}}return j}function i(k,j){var P=k.sortIndex-j.sortIndex;return P!==0?P:k.id-j.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var r=performance;e.unstable_now=function(){return r.now()}}else{var a=Date,l=a.now();e.unstable_now=function(){return a.now()-l}}var c=[],u=[],d=1,f=null,h=3,m=!1,p=!1,g=!1,v=!1,y=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function w(k){for(var j=n(u);j!==null;){if(j.callback===null)s(u);else if(j.startTime<=k)s(u),j.sortIndex=j.expirationTime,t(c,j);else break;j=n(u)}}function T(k){if(g=!1,w(k),!p)if(n(c)!==null)p=!0,S||(S=!0,L());else{var j=n(u);j!==null&&F(T,j.startTime-k)}}var S=!1,N=-1,A=5,C=-1;function I(){return v?!0:!(e.unstable_now()-Ck&&I());){var $=f.callback;if(typeof $=="function"){f.callback=null,h=f.priorityLevel;var R=$(f.expirationTime<=k);if(k=e.unstable_now(),typeof R=="function"){f.callback=R,w(k),j=!0;break t}f===n(c)&&s(c),w(k)}else s(c);f=n(c)}if(f!==null)j=!0;else{var q=n(u);q!==null&&F(T,q.startTime-k),j=!1}}break e}finally{f=null,h=P,m=!1}j=void 0}}finally{j?L():S=!1}}}var L;if(typeof E=="function")L=function(){E(O)};else if(typeof MessageChannel<"u"){var G=new MessageChannel,D=G.port2;G.port1.onmessage=O,L=function(){D.postMessage(null)}}else L=function(){y(O,0)};function F(k,j){N=y(function(){k(e.unstable_now())},j)}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(k){k.callback=null},e.unstable_forceFrameRate=function(k){0>k||125$?(k.sortIndex=P,t(u,k),n(c)===null&&k===n(u)&&(g?(x(N),N=-1):g=!0,F(T,P-$))):(k.sortIndex=R,t(c,k),p||m||(p=!0,S||(S=!0,L()))),k},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(k){var j=h;return function(){var P=h;h=j;try{return k.apply(this,arguments)}finally{h=P}}}})(V3);z3.exports=V3;var cG=z3.exports,G3={exports:{}},qi={};/** * @license React * react-dom.production.js * @@ -31,7 +31,7 @@ var MV=Object.defineProperty;var jA=e=>{throw TypeError(e)};var LV=(e,t,n)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var nG=b;function $3(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(H3)}catch(e){console.error(e)}}H3(),F3.exports=Gi;var xi=F3.exports;/** + */var uG=b;function K3(e){var t="https://react.dev/errors/"+e;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(q3)}catch(e){console.error(e)}}q3(),G3.exports=qi;var Si=G3.exports;/** * @license React * react-dom-client.production.js * @@ -39,15 +39,15 @@ var MV=Object.defineProperty;var jA=e=>{throw TypeError(e)};var LV=(e,t,n)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ti=tG,z3=b,rG=xi;function Ne(e){var t="https://react.dev/errors/"+e;if(1Qu||(e.current=kw[Qu],kw[Qu]=null,Qu--)}function Gn(e,t){Qu++,kw[Qu]=e.current,e.current=t}var $a=Ka(null),Um=Ka(null),Nl=Ka(null),Ob=Ka(null);function jb(e,t){switch(Gn(Nl,t),Gn(Um,e),Gn($a,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?YC(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=YC(t),e=p5(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ui($a),Gn($a,e)}function Fd(){ui($a),ui(Um),ui(Nl)}function Aw(e){e.memoizedState!==null&&Gn(Ob,e);var t=$a.current,n=p5(t,e.type);t!==n&&(Gn(Um,e),Gn($a,n))}function Mb(e){Um.current===e&&(ui($a),ui(Um)),Ob.current===e&&(ui(Ob),Xm._currentValue=_c)}var oE,zA;function oc(e){if(oE===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);oE=t&&t[1]||"",zA=-1Qu||(e.current=Iw[Qu],Iw[Qu]=null,Qu--)}function zn(e,t){Qu++,Iw[Qu]=e.current,e.current=t}var $a=Ka(null),Fm=Ka(null),Nl=Ka(null),Ob=Ka(null);function Mb(e,t){switch(zn(Nl,t),zn(Fm,e),zn($a,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?QC(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=QC(t),e=E5(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}hi($a),zn($a,e)}function Fd(){hi($a),hi(Fm),hi(Nl)}function Rw(e){e.memoizedState!==null&&zn(Ob,e);var t=$a.current,n=E5(t,e.type);t!==n&&(zn(Fm,e),zn($a,n))}function Lb(e){Fm.current===e&&(hi($a),hi(Fm)),Ob.current===e&&(hi(Ob),Qm._currentValue=_c)}var uE,KA;function oc(e){if(uE===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);uE=t&&t[1]||"",KA=-1)":-1i||c[s]!==u[i]){var d=` -`+c[s].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=s&&0<=i);break}}}finally{lE=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?oc(n):""}function uG(e,t){switch(e.tag){case 26:case 27:case 5:return oc(e.type);case 16:return oc("Lazy");case 13:return e.child!==t&&t!==null?oc("Suspense Fallback"):oc("Suspense");case 19:return oc("SuspenseList");case 0:case 15:return cE(e.type,!1);case 11:return cE(e.type.render,!1);case 1:return cE(e.type,!0);case 31:return oc("Activity");default:return""}}function VA(e){try{var t="",n=null;do t+=uG(e,n),n=e,e=e.return;while(e);return t}catch(s){return` +`+c[s].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=s&&0<=i);break}}}finally{dE=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?oc(n):""}function yG(e,t){switch(e.tag){case 26:case 27:case 5:return oc(e.type);case 16:return oc("Lazy");case 13:return e.child!==t&&t!==null?oc("Suspense Fallback"):oc("Suspense");case 19:return oc("SuspenseList");case 0:case 15:return fE(e.type,!1);case 11:return fE(e.type.render,!1);case 1:return fE(e.type,!0);case 31:return oc("Activity");default:return""}}function qA(e){try{var t="",n=null;do t+=yG(e,n),n=e,e=e.return;while(e);return t}catch(s){return` Error generating stack: `+s.message+` -`+s.stack}}var Cw=Object.prototype.hasOwnProperty,ET=ti.unstable_scheduleCallback,uE=ti.unstable_cancelCallback,dG=ti.unstable_shouldYield,fG=ti.unstable_requestPaint,vr=ti.unstable_now,hG=ti.unstable_getCurrentPriorityLevel,X3=ti.unstable_ImmediatePriority,Q3=ti.unstable_UserBlockingPriority,Lb=ti.unstable_NormalPriority,mG=ti.unstable_LowPriority,Z3=ti.unstable_IdlePriority,pG=ti.log,gG=ti.unstable_setDisableYieldValue,Rp=null,wr=null;function xl(e){if(typeof pG=="function"&&gG(e),wr&&typeof wr.setStrictMode=="function")try{wr.setStrictMode(Rp,e)}catch{}}var Sr=Math.clz32?Math.clz32:xG,bG=Math.log,yG=Math.LN2;function xG(e){return e>>>=0,e===0?32:31-(bG(e)/yG|0)|0}var $g=256,Hg=262144,zg=4194304;function lc(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 s1(e,t,n){var s=e.pendingLanes;if(s===0)return 0;var i=0,r=e.suspendedLanes,a=e.pingedLanes;e=e.warmLanes;var l=s&134217727;return l!==0?(s=l&~r,s!==0?i=lc(s):(a&=l,a!==0?i=lc(a):n||(n=l&~e,n!==0&&(i=lc(n))))):(l=s&~r,l!==0?i=lc(l):a!==0?i=lc(a):n||(n=s&~e,n!==0&&(i=lc(n)))),i===0?0:t!==0&&t!==i&&!(t&r)&&(r=i&-i,n=t&-t,r>=n||r===32&&(n&4194048)!==0)?t:i}function Op(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function EG(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 J3(){var e=zg;return zg<<=1,!(zg&62914560)&&(zg=4194304),e}function dE(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function vG(e,t,n,s,i,r){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 l=e.entanglements,c=e.expirationTimes,u=e.hiddenUpdates;for(n=a&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var kG=/[\n"\\]/g;function zr(e){return e.replace(kG,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ow(e,t,n,s,i,r,a,l){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=""+Pr(t)):e.value!==""+Pr(t)&&(e.value=""+Pr(t)):a!=="submit"&&a!=="reset"||e.removeAttribute("value"),t!=null?jw(e,a,Pr(t)):n!=null?jw(e,a,Pr(n)):s!=null&&e.removeAttribute("value"),i==null&&r!=null&&(e.defaultChecked=!!r),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pr(l):e.removeAttribute("name")}function lD(e,t,n,s,i,r,a,l){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||n!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){Rw(e);return}n=n!=null?""+Pr(n):"",t=t!=null?""+Pr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}s=s??i,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=l?e.checked:!!s,e.defaultChecked=!!s,a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.name=a),Rw(e)}function jw(e,t,n){t==="number"&&Db(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function _d(e,t,n,s){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lw=!1;if(Ro)try{var ph={};Object.defineProperty(ph,"passive",{get:function(){Lw=!0}}),window.addEventListener("test",ph,ph),window.removeEventListener("test",ph,ph)}catch{Lw=!1}var El=null,NT=null,G0=null;function hD(){if(G0)return G0;var e,t=NT,n=t.length,s,i="value"in El?El.value:El.textContent,r=i.length;for(e=0;e=im),tC=" ",nC=!1;function pD(e,t){switch(e){case"keyup":return tK.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gD(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ed=!1;function sK(e,t){switch(e){case"compositionend":return gD(t);case"keypress":return t.which!==32?null:(nC=!0,tC);case"textInput":return e=t.data,e===tC&&nC?null:e;default:return null}}function iK(e,t){if(ed)return e==="compositionend"||!AT&&pD(e,t)?(e=hD(),G0=NT=El=null,ed=!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=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=oC(n)}}function ED(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ED(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vD(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Db(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=Db(e.document)}return t}function CT(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 fK=Ro&&"documentMode"in document&&11>=document.documentMode,td=null,Dw=null,am=null,Pw=!1;function cC(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Pw||td==null||td!==Db(s)||(s=td,"selectionStart"in s&&CT(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),am&&Hm(am,s)||(am=s,s=ey(Dw,"onSelect"),0>=a,i-=a,Pa=1<<32-Sr(t)+i|n<A?(C=k,k=null):C=k.sibling;var R=h(y,k,E[A],w);if(R===null){k===null&&(k=C);break}e&&k&&R.alternate===null&&t(y,k),x=r(R,x,A),S===null?T=R:S.sibling=R,S=R,k=C}if(A===E.length)return n(y,k),tn&&mo(y,A),T;if(k===null){for(;AA?(C=k,k=null):C=k.sibling;var M=h(y,k,R.value,w);if(M===null){k===null&&(k=C);break}e&&k&&M.alternate===null&&t(y,k),x=r(M,x,A),S===null?T=M:S.sibling=M,S=M,k=C}if(R.done)return n(y,k),tn&&mo(y,A),T;if(k===null){for(;!R.done;A++,R=E.next())R=f(y,R.value,w),R!==null&&(x=r(R,x,A),S===null?T=R:S.sibling=R,S=R);return tn&&mo(y,A),T}for(k=s(k);!R.done;A++,R=E.next())R=m(k,y,A,R.value,w),R!==null&&(e&&R.alternate!==null&&k.delete(R.key===null?A:R.key),x=r(R,x,A),S===null?T=R:S.sibling=R,S=R);return e&&k.forEach(function(L){return t(y,L)}),tn&&mo(y,A),T}function v(y,x,E,w){if(typeof E=="object"&&E!==null&&E.type===Xu&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case Fg:e:{for(var T=E.key;x!==null;){if(x.key===T){if(T=E.type,T===Xu){if(x.tag===7){n(y,x.sibling),w=i(x,E.props.children),w.return=y,y=w;break e}}else if(x.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===cl&&cc(T)===x.type){n(y,x.sibling),w=i(x,E.props),bh(w,E),w.return=y,y=w;break e}n(y,x);break}else t(y,x);x=x.sibling}E.type===Xu?(w=Tc(E.props.children,y.mode,w,E.key),w.return=y,y=w):(w=q0(E.type,E.key,E.props,null,y.mode,w),bh(w,E),w.return=y,y=w)}return a(y);case Bh:e:{for(T=E.key;x!==null;){if(x.key===T)if(x.tag===4&&x.stateNode.containerInfo===E.containerInfo&&x.stateNode.implementation===E.implementation){n(y,x.sibling),w=i(x,E.children||[]),w.return=y,y=w;break e}else{n(y,x);break}else t(y,x);x=x.sibling}w=EE(E,y.mode,w),w.return=y,y=w}return a(y);case cl:return E=cc(E),v(y,x,E,w)}if(Uh(E))return p(y,x,E,w);if(mh(E)){if(T=mh(E),typeof T!="function")throw Error(Ne(150));return E=T.call(E),g(y,x,E,w)}if(typeof E.then=="function")return v(y,x,qg(E),w);if(E.$$typeof===bo)return v(y,x,Kg(y,E),w);Yg(y,E)}return typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint"?(E=""+E,x!==null&&x.tag===6?(n(y,x.sibling),w=i(x,E),w.return=y,y=w):(n(y,x),w=xE(E,y.mode,w),w.return=y,y=w),a(y)):n(y,x)}return function(y,x,E,w){try{Gm=0;var T=v(y,x,E,w);return kd=null,T}catch(k){if(k===Nf||k===c1)throw k;var S=br(29,k,null,y.mode);return S.lanes=w,S.return=y,S}finally{}}}var Uc=DD(!0),PD=DD(!1),ul=!1;function BT(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Vw(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 Al(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Cl(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,mn&2){var i=s.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),s.pending=t,t=Bb(e),AD(e,null,n),t}return l1(e,s,t,n),Bb(e)}function lm(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,tD(e,n)}}function wE(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var i=null,r=null;if(n=n.firstBaseUpdate,n!==null){do{var a={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};r===null?i=r=a:r=r.next=a,n=n.next}while(n!==null);r===null?i=r=t:r=r.next=t}else i=r=t;n={baseState:s.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:s.shared,callbacks:s.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Gw=!1;function cm(){if(Gw){var e=Nd;if(e!==null)throw e}}function um(e,t,n,s){Gw=!1;var i=e.updateQueue;ul=!1;var r=i.firstBaseUpdate,a=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,u=c.next;c.next=null,a===null?r=u:a.next=u,a=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==a&&(l===null?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(r!==null){var f=i.baseState;a=0,d=u=c=null,l=r;do{var h=l.lane&-536870913,m=h!==l.lane;if(m?(Zt&h)===h:(s&h)===h){h!==0&&h===zd&&(Gw=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var p=e,g=l;h=t;var v=n;switch(g.tag){case 1:if(p=g.payload,typeof p=="function"){f=p.call(v,f,h);break e}f=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=g.payload,h=typeof p=="function"?p.call(v,f,h):p,h==null)break e;f=ss({},f,h);break e;case 2:ul=!0}}h=l.callback,h!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[h]:m.push(h))}else m={lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(u=d=m,c=f):d=d.next=m,a|=h;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;m=l,l=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);d===null&&(c=f),i.baseState=c,i.firstBaseUpdate=u,i.lastBaseUpdate=d,r===null&&(i.shared.lanes=0),Fl|=a,e.lanes=a,e.memoizedState=f}}function BD(e,t){if(typeof e!="function")throw Error(Ne(191,e));e.call(t)}function UD(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;er?r:8;var a=wt.T,l={};wt.T=l,QT(e,!1,t,n);try{var c=i(),u=wt.S;if(u!==null&&u(l,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=vK(c,s);dm(e,t,d,_r(e))}else dm(e,t,s,_r(e))}catch(f){dm(e,t,{then:function(){},status:"rejected",reason:f},_r())}finally{pn.p=r,a!==null&&l.types!==null&&(a.types=l.types),wt.T=a}}function kK(){}function Xw(e,t,n,s){if(e.tag!==5)throw Error(Ne(476));var i=u4(e).queue;c4(e,i,t,_c,n===null?kK:function(){return d4(e),n(s)})}function u4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:_c,baseState:_c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:jo,lastRenderedState:_c},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:jo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function d4(e){var t=u4(e);t.next===null&&(t=e.alternate.memoizedState),dm(e,t.next.queue,{},_r())}function XT(){return gi(Xm)}function f4(){return Is().memoizedState}function h4(){return Is().memoizedState}function AK(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_r();e=Al(n);var s=Cl(t,e,n);s!==null&&(ir(s,t,n),lm(s,t,n)),t={cache:LT()},e.payload=t;return}t=t.return}}function CK(e,t,n){var s=_r();n={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},h1(e)?p4(t,n):(n=RT(e,t,n,s),n!==null&&(ir(n,e,s),g4(n,t,s)))}function m4(e,t,n){var s=_r();dm(e,t,n,s)}function dm(e,t,n,s){var i={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(h1(e))p4(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var a=t.lastRenderedState,l=r(a,n);if(i.hasEagerState=!0,i.eagerState=l,kr(l,a))return l1(e,t,i,0),Pn===null&&o1(),!1}catch{}finally{}if(n=RT(e,t,i,s),n!==null)return ir(n,e,s),g4(n,t,s),!0}return!1}function QT(e,t,n,s){if(s={lane:2,revertLane:aN(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},h1(e)){if(t)throw Error(Ne(479))}else t=RT(e,n,s,2),t!==null&&ir(t,e,2)}function h1(e){var t=e.alternate;return e===It||t!==null&&t===It}function p4(e,t){Ad=Vb=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function g4(e,t,n){if(n&4194048){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,tD(e,n)}}var qm={readContext:gi,use:d1,useCallback:ws,useContext:ws,useEffect:ws,useImperativeHandle:ws,useLayoutEffect:ws,useInsertionEffect:ws,useMemo:ws,useReducer:ws,useRef:ws,useState:ws,useDebugValue:ws,useDeferredValue:ws,useTransition:ws,useSyncExternalStore:ws,useId:ws,useHostTransitionStatus:ws,useFormState:ws,useActionState:ws,useOptimistic:ws,useMemoCache:ws,useCacheRefresh:ws};qm.useEffectEvent=ws;var b4={readContext:gi,use:d1,useCallback:function(e,t){return Bi().memoizedState=[e,t===void 0?null:t],e},useContext:gi,useEffect:_C,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,X0(4194308,4,i4.bind(null,t,e),n)},useLayoutEffect:function(e,t){return X0(4194308,4,e,t)},useInsertionEffect:function(e,t){X0(4,2,e,t)},useMemo:function(e,t){var n=Bi();t=t===void 0?null:t;var s=e();if(Fc){xl(!0);try{e()}finally{xl(!1)}}return n.memoizedState=[s,t],s},useReducer:function(e,t,n){var s=Bi();if(n!==void 0){var i=n(t);if(Fc){xl(!0);try{n(t)}finally{xl(!1)}}}else i=t;return s.memoizedState=s.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},s.queue=e,e=e.dispatch=CK.bind(null,It,e),[s.memoizedState,e]},useRef:function(e){var t=Bi();return e={current:e},t.memoizedState=e},useState:function(e){e=Yw(e);var t=e.queue,n=m4.bind(null,It,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:YT,useDeferredValue:function(e,t){var n=Bi();return WT(n,e,t)},useTransition:function(){var e=Yw(!1);return e=c4.bind(null,It,e.queue,!0,!1),Bi().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var s=It,i=Bi();if(tn){if(n===void 0)throw Error(Ne(407));n=n()}else{if(n=t(),Pn===null)throw Error(Ne(349));Zt&127||VD(s,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,_C(KD.bind(null,s,r,e),[e]),s.flags|=2048,Gd(9,{destroy:void 0},GD.bind(null,s,r,n,t),null),n},useId:function(){var e=Bi(),t=Pn.identifierPrefix;if(tn){var n=Ba,s=Pa;n=(s&~(1<<32-Sr(s)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Gb++,0<\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof s.is=="string"?a.createElement("select",{is:s.is}):a.createElement("select"),s.multiple?r.multiple=!0:s.size&&(r.size=s.size);break;default:r=typeof s.is=="string"?a.createElement(i,{is:s.is}):a.createElement(i)}}r[mi]=t,r[or]=s;e:for(a=t.child;a!==null;){if(a.tag===5||a.tag===6)r.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=r;e:switch(yi(r,i,s),i){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&io(t)}}return Qn(t),IE(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&io(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(Ne(166));if(e=Nl.current,Nu(t)){if(e=t.stateNode,n=t.memoizedProps,s=null,i=pi,i!==null)switch(i.tag){case 27:case 5:s=i.memoizedProps}e[mi]=t,e=!!(e.nodeValue===n||s!==null&&s.suppressHydrationWarning===!0||m5(e.nodeValue,n)),e||Bl(t,!0)}else e=ty(e).createTextNode(s),e[mi]=t,t.stateNode=e}return Qn(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(s=Nu(t),n!==null){if(e===null){if(!s)throw Error(Ne(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Ne(557));e[mi]=t}else Pc(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Qn(t),e=!1}else n=vE(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(gr(t),t):(gr(t),null);if(t.flags&128)throw Error(Ne(558))}return Qn(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Nu(t),s!==null&&s.dehydrated!==null){if(e===null){if(!i)throw Error(Ne(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(Ne(317));i[mi]=t}else Pc(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Qn(t),i=!1}else i=vE(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(gr(t),t):(gr(t),null)}return gr(t),t.flags&128?(t.lanes=n,t):(n=s!==null,e=e!==null&&e.memoizedState!==null,n&&(s=t.child,i=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(i=s.alternate.memoizedState.cachePool.pool),r=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(r=s.memoizedState.cachePool.pool),r!==i&&(s.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Wg(t,t.updateQueue),Qn(t),null);case 4:return Fd(),e===null&&oN(t.stateNode.containerInfo),Qn(t),null;case 10:return _o(t.type),Qn(t),null;case 19:if(ui(ks),s=t.memoizedState,s===null)return Qn(t),null;if(i=(t.flags&128)!==0,r=s.rendering,r===null)if(i)yh(s,!1);else{if(_s!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(r=zb(e),r!==null){for(t.flags|=128,yh(s,!1),e=r.updateQueue,t.updateQueue=e,Wg(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)CD(n,e),n=n.sibling;return Gn(ks,ks.current&1|2),tn&&mo(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&&vr()>Wb&&(t.flags|=128,i=!0,yh(s,!1),t.lanes=4194304)}else{if(!i)if(e=zb(r),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Wg(t,e),yh(s,!0),s.tail===null&&s.tailMode==="hidden"&&!r.alternate&&!tn)return Qn(t),null}else 2*vr()-s.renderingStartTime>Wb&&n!==536870912&&(t.flags|=128,i=!0,yh(s,!1),t.lanes=4194304);s.isBackwards?(r.sibling=t.child,t.child=r):(e=s.last,e!==null?e.sibling=r:t.child=r,s.last=r)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=vr(),e.sibling=null,n=ks.current,Gn(ks,i?n&1|2:n&1),tn&&mo(t,s.treeForkCount),e):(Qn(t),null);case 22:case 23:return gr(t),UT(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?n&536870912&&!(t.flags&128)&&(Qn(t),t.subtreeFlags&6&&(t.flags|=8192)):Qn(t),n=t.updateQueue,n!==null&&Wg(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==n&&(t.flags|=2048),e!==null&&ui(Nc),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),_o(zs),Qn(t),null;case 25:return null;case 30:return null}throw Error(Ne(156,t.tag))}function MK(e,t){switch(MT(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return _o(zs),Fd(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Mb(t),null;case 31:if(t.memoizedState!==null){if(gr(t),t.alternate===null)throw Error(Ne(340));Pc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(gr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Ne(340));Pc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ui(ks),null;case 4:return Fd(),null;case 10:return _o(t.type),null;case 22:case 23:return gr(t),UT(),e!==null&&ui(Nc),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return _o(zs),null;case 25:return null;default:return null}}function C4(e,t){switch(MT(t),t.tag){case 3:_o(zs),Fd();break;case 26:case 27:case 5:Mb(t);break;case 4:Fd();break;case 31:t.memoizedState!==null&&gr(t);break;case 13:gr(t);break;case 19:ui(ks);break;case 10:_o(t.type);break;case 22:case 23:gr(t),UT(),e!==null&&ui(Nc);break;case 24:_o(zs)}}function Bp(e,t){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var i=s.next;n=i;do{if((n.tag&e)===e){s=void 0;var r=n.create,a=n.inst;s=r(),a.destroy=s}n=n.next}while(n!==i)}}catch(l){vn(t,t.return,l)}}function Ul(e,t,n){try{var s=t.updateQueue,i=s!==null?s.lastEffect:null;if(i!==null){var r=i.next;s=r;do{if((s.tag&e)===e){var a=s.inst,l=a.destroy;if(l!==void 0){a.destroy=void 0,i=t;var c=n,u=l;try{u()}catch(d){vn(i,c,d)}}}s=s.next}while(s!==r)}}catch(d){vn(t,t.return,d)}}function I4(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{UD(t,n)}catch(s){vn(e,e.return,s)}}}function R4(e,t,n){n.props=$c(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(s){vn(e,t,s)}}function fm(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof n=="function"?e.refCleanup=n(s):n.current=s}}catch(i){vn(e,t,i)}}function Ua(e,t){var n=e.ref,s=e.refCleanup;if(n!==null)if(typeof s=="function")try{s()}catch(i){vn(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(i){vn(e,t,i)}else n.current=null}function O4(e){var t=e.type,n=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&s.focus();break e;case"img":n.src?s.src=n.src:n.srcSet&&(s.srcset=n.srcSet)}}catch(i){vn(e,e.return,i)}}function RE(e,t,n){try{var s=e.stateNode;nq(s,e.type,n,t),s[or]=t}catch(i){vn(e,e.return,i)}}function j4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Yl(e.type)||e.tag===4}function OE(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||j4(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&&Yl(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 tS(e,t,n){var s=e.tag;if(s===5||s===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=yo));else if(s!==4&&(s===27&&Yl(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(tS(e,t,n),e=e.sibling;e!==null;)tS(e,t,n),e=e.sibling}function Yb(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(s===27&&Yl(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Yb(e,t,n),e=e.sibling;e!==null;)Yb(e,t,n),e=e.sibling}function M4(e){var t=e.stateNode,n=e.memoizedProps;try{for(var s=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);yi(t,s,n),t[mi]=e,t[or]=n}catch(r){vn(e,e.return,r)}}var po=!1,Hs=!1,jE=!1,PC=typeof WeakSet=="function"?WeakSet:Set,ai=null;function LK(e,t){if(e=e.containerInfo,lS=ry,e=vD(e),CT(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var i=s.anchorOffset,r=s.focusNode;s=s.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var a=0,l=-1,c=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(l=a+i),f!==r||s!==0&&f.nodeType!==3||(c=a+s),f.nodeType===3&&(a+=f.nodeValue.length),(m=f.firstChild)!==null;)h=f,f=m;for(;;){if(f===e)break t;if(h===n&&++u===i&&(l=a),h===r&&++d===s&&(c=a),(m=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=m}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(cS={focusedElem:e,selectionRange:n},ry=!1,ai=t;ai!==null;)if(t=ai,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ai=e;else for(;ai!==null;){switch(t=ai,r=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"))),yi(r,s,n),r[mi]=e,oi(r),s=r;break e;case"link":var a=sI("link","href",i).get(s+(n.href||""));if(a){for(var l=0;lv&&(a=v,v=g,g=a);var y=lC(l,g),x=lC(l,v);if(y&&x&&(m.rangeCount!==1||m.anchorNode!==y.node||m.anchorOffset!==y.offset||m.focusNode!==x.node||m.focusOffset!==x.offset)){var E=f.createRange();E.setStart(y.node,y.offset),m.removeAllRanges(),g>v?(m.addRange(E),m.extend(x.node,x.offset)):(E.setEnd(x.node,x.offset),m.addRange(E))}}}}for(f=[],m=l;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;ln?32:n,wt.T=null,n=iS,iS=null;var r=Rl,a=To;if(ei=0,qd=Rl=null,To=0,mn&6)throw Error(Ne(331));var l=mn;if(mn|=4,G4(r.current),H4(r,r.current,a,n),mn=l,Up(0,!1),wr&&typeof wr.onPostCommitFiberRoot=="function")try{wr.onPostCommitFiberRoot(Rp,r)}catch{}return!0}finally{pn.p=i,wt.T=s,a5(e,t)}}function $C(e,t,n){t=Vr(n,t),t=Zw(e.stateNode,t,2),e=Cl(e,t,2),e!==null&&(jp(e,2),qa(e))}function vn(e,t,n){if(e.tag===3)$C(e,e,n);else for(;t!==null;){if(t.tag===3){$C(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Il===null||!Il.has(s))){e=Vr(n,e),n=w4(2),s=Cl(t,n,2),s!==null&&(S4(n,s,t,e),jp(s,2),qa(s));break}}t=t.return}}function LE(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new BK;var i=new Set;s.set(t,i)}else i=s.get(t),i===void 0&&(i=new Set,s.set(t,i));i.has(n)||(sN=!0,i.add(n),e=zK.bind(null,e,t,n),t.then(e,e))}function zK(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pn===e&&(Zt&n)===n&&(_s===4||_s===3&&(Zt&62914560)===Zt&&300>vr()-m1?!(mn&2)&&Yd(e,0):iN|=n,Kd===Zt&&(Kd=0)),qa(e)}function l5(e,t){t===0&&(t=J3()),e=su(e,t),e!==null&&(jp(e,t),qa(e))}function VK(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),l5(e,n)}function GK(e,t){var n=0;switch(e.tag){case 31:case 13:var s=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(Ne(314))}s!==null&&s.delete(t),l5(e,n)}function KK(e,t){return ET(e,t)}var Zb=null,Hu=null,aS=!1,Jb=!1,DE=!1,Sl=0;function qa(e){e!==Hu&&e.next===null&&(Hu===null?Zb=Hu=e:Hu=Hu.next=e),Jb=!0,aS||(aS=!0,YK())}function Up(e,t){if(!DE&&Jb){DE=!0;do for(var n=!1,s=Zb;s!==null;){if(e!==0){var i=s.pendingLanes;if(i===0)var r=0;else{var a=s.suspendedLanes,l=s.pingedLanes;r=(1<<31-Sr(42|e)+1)-1,r&=i&~(a&~l),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(n=!0,HC(s,r))}else r=Zt,r=s1(s,s===Pn?r:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),!(r&3)||Op(s,r)||(n=!0,HC(s,r));s=s.next}while(n);DE=!1}}function qK(){c5()}function c5(){Jb=aS=!1;var e=0;Sl!==0&&iq()&&(e=Sl);for(var t=vr(),n=null,s=Zb;s!==null;){var i=s.next,r=u5(s,t);r===0?(s.next=null,n===null?Zb=i:n.next=i,i===null&&(Hu=n)):(n=s,(e!==0||r&3)&&(Jb=!0)),s=i}ei!==0&&ei!==5||Up(e),Sl!==0&&(Sl=0)}function u5(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes&-62914561;0l)break;var d=c.transferSize,f=c.initiatorType;d&&qC(f)&&(c=c.responseEnd,a+=d*(c"u"?null:document;function x5(e,t,n){var s=Af;if(s&&typeof t=="string"&&t){var i=zr(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof n=="string"&&(i+='[crossorigin="'+n+'"]'),eI.has(i)||(eI.add(i),e={rel:e,crossOrigin:n,href:t},s.querySelector(i)===null&&(t=s.createElement("link"),yi(t,"link",e),oi(t),s.head.appendChild(t)))}}function hq(e){Ho.D(e),x5("dns-prefetch",e,null)}function mq(e,t){Ho.C(e,t),x5("preconnect",e,t)}function pq(e,t,n){Ho.L(e,t,n);var s=Af;if(s&&e&&t){var i='link[rel="preload"][as="'+zr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(i+='[imagesrcset="'+zr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(i+='[imagesizes="'+zr(n.imageSizes)+'"]')):i+='[href="'+zr(e)+'"]';var r=i;switch(t){case"style":r=Wd(e);break;case"script":r=Cf(e)}Qr.has(r)||(e=ss({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Qr.set(r,e),s.querySelector(i)!==null||t==="style"&&s.querySelector(Fp(r))||t==="script"&&s.querySelector($p(r))||(t=s.createElement("link"),yi(t,"link",e),oi(t),s.head.appendChild(t)))}}function gq(e,t){Ho.m(e,t);var n=Af;if(n&&e){var s=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+zr(s)+'"][href="'+zr(e)+'"]',r=i;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=Cf(e)}if(!Qr.has(r)&&(e=ss({rel:"modulepreload",href:e},t),Qr.set(r,e),n.querySelector(i)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector($p(r)))return}s=n.createElement("link"),yi(s,"link",e),oi(s),n.head.appendChild(s)}}}function bq(e,t,n){Ho.S(e,t,n);var s=Af;if(s&&e){var i=Sd(s).hoistableStyles,r=Wd(e);t=t||"default";var a=i.get(r);if(!a){var l={loading:0,preload:null};if(a=s.querySelector(Fp(r)))l.loading=5;else{e=ss({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Qr.get(r))&&lN(e,n);var c=a=s.createElement("link");oi(c),yi(c,"link",e),c._p=new Promise(function(u,d){c.onload=u,c.onerror=d}),c.addEventListener("load",function(){l.loading|=1}),c.addEventListener("error",function(){l.loading|=2}),l.loading|=4,eb(a,t,s)}a={type:"stylesheet",instance:a,count:1,state:l},i.set(r,a)}}}function yq(e,t){Ho.X(e,t);var n=Af;if(n&&e){var s=Sd(n).hoistableScripts,i=Cf(e),r=s.get(i);r||(r=n.querySelector($p(i)),r||(e=ss({src:e,async:!0},t),(t=Qr.get(i))&&cN(e,t),r=n.createElement("script"),oi(r),yi(r,"link",e),n.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},s.set(i,r))}}function xq(e,t){Ho.M(e,t);var n=Af;if(n&&e){var s=Sd(n).hoistableScripts,i=Cf(e),r=s.get(i);r||(r=n.querySelector($p(i)),r||(e=ss({src:e,async:!0,type:"module"},t),(t=Qr.get(i))&&cN(e,t),r=n.createElement("script"),oi(r),yi(r,"link",e),n.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},s.set(i,r))}}function tI(e,t,n,s){var i=(i=Nl.current)?ny(i):null;if(!i)throw Error(Ne(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wd(n.href),n=Sd(i).hoistableStyles,s=n.get(t),s||(s={type:"style",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wd(n.href);var r=Sd(i).hoistableStyles,a=r.get(e);if(a||(i=i.ownerDocument||i,a={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,a),(r=i.querySelector(Fp(e)))&&!r._p&&(a.instance=r,a.state.loading=5),Qr.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},Qr.set(e,n),r||Eq(i,e,n,a.state))),t&&s===null)throw Error(Ne(528,""));return a}if(t&&s!==null)throw Error(Ne(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Cf(n),n=Sd(i).hoistableScripts,s=n.get(t),s||(s={type:"script",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(Ne(444,e))}}function Wd(e){return'href="'+zr(e)+'"'}function Fp(e){return'link[rel="stylesheet"]['+e+"]"}function E5(e){return ss({},e,{"data-precedence":e.precedence,precedence:null})}function Eq(e,t,n,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),yi(t,"link",n),oi(t),e.head.appendChild(t))}function Cf(e){return'[src="'+zr(e)+'"]'}function $p(e){return"script[async]"+e}function nI(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+zr(n.href)+'"]');if(s)return t.instance=s,oi(s),s;var i=ss({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),oi(s),yi(s,"style",i),eb(s,n.precedence,e),t.instance=s;case"stylesheet":i=Wd(n.href);var r=e.querySelector(Fp(i));if(r)return t.state.loading|=4,t.instance=r,oi(r),r;s=E5(n),(i=Qr.get(i))&&lN(s,i),r=(e.ownerDocument||e).createElement("link"),oi(r);var a=r;return a._p=new Promise(function(l,c){a.onload=l,a.onerror=c}),yi(r,"link",s),t.state.loading|=4,eb(r,n.precedence,e),t.instance=r;case"script":return r=Cf(n.src),(i=e.querySelector($p(r)))?(t.instance=i,oi(i),i):(s=n,(i=Qr.get(r))&&(s=ss({},n),cN(s,i)),e=e.ownerDocument||e,i=e.createElement("script"),oi(i),yi(i,"link",s),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(Ne(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(s=t.instance,t.state.loading|=4,eb(s,n.precedence,e));return t.instance}function eb(e,t,n){for(var s=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=s.length?s[s.length-1]:null,r=i,a=0;a title"):null)}function vq(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 v5(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}function wq(e,t,n,s){if(n.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var i=Wd(s.href),r=t.querySelector(Fp(i));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=sy.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=r,oi(r);return}r=t.ownerDocument||t,s=E5(s),(i=Qr.get(i))&&lN(s,i),r=r.createElement("link"),oi(r);var a=r;a._p=new Promise(function(l,c){a.onload=l,a.onerror=c}),yi(r,"link",s),n.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=sy.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var HE=0;function Sq(e,t){return e.stylesheets&&e.count===0&&nb(e,e.stylesheets),0HE?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(i)}}:null}function sy(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)nb(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var iy=null;function nb(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,iy=new Map,t.forEach(_q,e),iy=null,sy.call(e))}function _q(e,t){if(!(t.state.loading&4)){var n=iy.get(e);if(n)var s=n.get(null);else{n=new Map,iy.set(e,n);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(C5)}catch(e){console.error(e)}}C5(),P3.exports=t1;var Oq=P3.exports;const jq=Ef(Oq),mN=b.createContext({});function x1(e){const t=b.useRef(null);return t.current===null&&(t.current=e()),t.current}const E1=b.createContext(null),Jm=b.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class Mq extends b.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Lq({children:e,isPresent:t}){const n=b.useId(),s=b.useRef(null),i=b.useRef({width:0,height:0,top:0,left:0}),{nonce:r}=b.useContext(Jm);return b.useInsertionEffect(()=>{const{width:a,height:l,top:c,left:u}=i.current;if(t||!s.current||!a||!l)return;s.current.dataset.motionPopId=n;const d=document.createElement("style");return r&&(d.nonce=r),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` +`+s.stack}}var jw=Object.prototype.hasOwnProperty,ST=ii.unstable_scheduleCallback,hE=ii.unstable_cancelCallback,xG=ii.unstable_shouldYield,EG=ii.unstable_requestPaint,vr=ii.unstable_now,vG=ii.unstable_getCurrentPriorityLevel,tD=ii.unstable_ImmediatePriority,nD=ii.unstable_UserBlockingPriority,Db=ii.unstable_NormalPriority,wG=ii.unstable_LowPriority,sD=ii.unstable_IdlePriority,SG=ii.log,_G=ii.unstable_setDisableYieldValue,jp=null,wr=null;function xl(e){if(typeof SG=="function"&&_G(e),wr&&typeof wr.setStrictMode=="function")try{wr.setStrictMode(jp,e)}catch{}}var Sr=Math.clz32?Math.clz32:kG,TG=Math.log,NG=Math.LN2;function kG(e){return e>>>=0,e===0?32:31-(TG(e)/NG|0)|0}var Hg=256,zg=262144,Vg=4194304;function lc(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 i1(e,t,n){var s=e.pendingLanes;if(s===0)return 0;var i=0,r=e.suspendedLanes,a=e.pingedLanes;e=e.warmLanes;var l=s&134217727;return l!==0?(s=l&~r,s!==0?i=lc(s):(a&=l,a!==0?i=lc(a):n||(n=l&~e,n!==0&&(i=lc(n))))):(l=s&~r,l!==0?i=lc(l):a!==0?i=lc(a):n||(n=s&~e,n!==0&&(i=lc(n)))),i===0?0:t!==0&&t!==i&&!(t&r)&&(r=i&-i,n=t&-t,r>=n||r===32&&(n&4194048)!==0)?t:i}function Op(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function AG(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 iD(){var e=Vg;return Vg<<=1,!(Vg&62914560)&&(Vg=4194304),e}function mE(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Mp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function CG(e,t,n,s,i,r){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 l=e.entanglements,c=e.expirationTimes,u=e.hiddenUpdates;for(n=a&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var LG=/[\n"\\]/g;function zr(e){return e.replace(LG,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Lw(e,t,n,s,i,r,a,l){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=""+Pr(t)):e.value!==""+Pr(t)&&(e.value=""+Pr(t)):a!=="submit"&&a!=="reset"||e.removeAttribute("value"),t!=null?Dw(e,a,Pr(t)):n!=null?Dw(e,a,Pr(n)):s!=null&&e.removeAttribute("value"),i==null&&r!=null&&(e.defaultChecked=!!r),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pr(l):e.removeAttribute("name")}function hD(e,t,n,s,i,r,a,l){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||n!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){Mw(e);return}n=n!=null?""+Pr(n):"",t=t!=null?""+Pr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}s=s??i,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=l?e.checked:!!s,e.defaultChecked=!!s,a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.name=a),Mw(e)}function Dw(e,t,n){t==="number"&&Pb(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function _d(e,t,n,s){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Bw=!1;if(Ro)try{var ph={};Object.defineProperty(ph,"passive",{get:function(){Bw=!0}}),window.addEventListener("test",ph,ph),window.removeEventListener("test",ph,ph)}catch{Bw=!1}var El=null,CT=null,K0=null;function yD(){if(K0)return K0;var e,t=CT,n=t.length,s,i="value"in El?El.value:El.textContent,r=i.length;for(e=0;e=im),iC=" ",rC=!1;function ED(e,t){switch(e){case"keyup":return cK.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function vD(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ed=!1;function dK(e,t){switch(e){case"compositionend":return vD(t);case"keypress":return t.which!==32?null:(rC=!0,iC);case"textInput":return e=t.data,e===iC&&rC?null:e;default:return null}}function fK(e,t){if(ed)return e==="compositionend"||!RT&&ED(e,t)?(e=yD(),K0=CT=El=null,ed=!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=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=uC(n)}}function TD(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?TD(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ND(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pb(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=Pb(e.document)}return t}function jT(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 EK=Ro&&"documentMode"in document&&11>=document.documentMode,td=null,Uw=null,am=null,Fw=!1;function fC(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Fw||td==null||td!==Pb(s)||(s=td,"selectionStart"in s&&jT(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),am&&zm(am,s)||(am=s,s=ty(Uw,"onSelect"),0>=a,i-=a,Pa=1<<32-Sr(t)+i|n<A?(C=N,N=null):C=N.sibling;var I=h(y,N,E[A],w);if(I===null){N===null&&(N=C);break}e&&N&&I.alternate===null&&t(y,N),x=r(I,x,A),S===null?T=I:S.sibling=I,S=I,N=C}if(A===E.length)return n(y,N),nn&&mo(y,A),T;if(N===null){for(;AA?(C=N,N=null):C=N.sibling;var O=h(y,N,I.value,w);if(O===null){N===null&&(N=C);break}e&&N&&O.alternate===null&&t(y,N),x=r(O,x,A),S===null?T=O:S.sibling=O,S=O,N=C}if(I.done)return n(y,N),nn&&mo(y,A),T;if(N===null){for(;!I.done;A++,I=E.next())I=f(y,I.value,w),I!==null&&(x=r(I,x,A),S===null?T=I:S.sibling=I,S=I);return nn&&mo(y,A),T}for(N=s(N);!I.done;A++,I=E.next())I=m(N,y,A,I.value,w),I!==null&&(e&&I.alternate!==null&&N.delete(I.key===null?A:I.key),x=r(I,x,A),S===null?T=I:S.sibling=I,S=I);return e&&N.forEach(function(L){return t(y,L)}),nn&&mo(y,A),T}function v(y,x,E,w){if(typeof E=="object"&&E!==null&&E.type===Xu&&E.key===null&&(E=E.props.children),typeof E=="object"&&E!==null){switch(E.$$typeof){case $g:e:{for(var T=E.key;x!==null;){if(x.key===T){if(T=E.type,T===Xu){if(x.tag===7){n(y,x.sibling),w=i(x,E.props.children),w.return=y,y=w;break e}}else if(x.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===cl&&cc(T)===x.type){n(y,x.sibling),w=i(x,E.props),bh(w,E),w.return=y,y=w;break e}n(y,x);break}else t(y,x);x=x.sibling}E.type===Xu?(w=Tc(E.props.children,y.mode,w,E.key),w.return=y,y=w):(w=Y0(E.type,E.key,E.props,null,y.mode,w),bh(w,E),w.return=y,y=w)}return a(y);case Bh:e:{for(T=E.key;x!==null;){if(x.key===T)if(x.tag===4&&x.stateNode.containerInfo===E.containerInfo&&x.stateNode.implementation===E.implementation){n(y,x.sibling),w=i(x,E.children||[]),w.return=y,y=w;break e}else{n(y,x);break}else t(y,x);x=x.sibling}w=SE(E,y.mode,w),w.return=y,y=w}return a(y);case cl:return E=cc(E),v(y,x,E,w)}if(Uh(E))return p(y,x,E,w);if(mh(E)){if(T=mh(E),typeof T!="function")throw Error(Ne(150));return E=T.call(E),g(y,x,E,w)}if(typeof E.then=="function")return v(y,x,Yg(E),w);if(E.$$typeof===bo)return v(y,x,qg(y,E),w);Wg(y,E)}return typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint"?(E=""+E,x!==null&&x.tag===6?(n(y,x.sibling),w=i(x,E),w.return=y,y=w):(n(y,x),w=wE(E,y.mode,w),w.return=y,y=w),a(y)):n(y,x)}return function(y,x,E,w){try{Km=0;var T=v(y,x,E,w);return kd=null,T}catch(N){if(N===Nf||N===u1)throw N;var S=br(29,N,null,y.mode);return S.lanes=w,S.return=y,S}finally{}}}var Uc=$D(!0),HD=$D(!1),ul=!1;function $T(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function qw(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 Al(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Cl(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,mn&2){var i=s.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),s.pending=t,t=Ub(e),OD(e,null,n),t}return c1(e,s,t,n),Ub(e)}function lm(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,aD(e,n)}}function TE(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var i=null,r=null;if(n=n.firstBaseUpdate,n!==null){do{var a={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};r===null?i=r=a:r=r.next=a,n=n.next}while(n!==null);r===null?i=r=t:r=r.next=t}else i=r=t;n={baseState:s.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:s.shared,callbacks:s.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Yw=!1;function cm(){if(Yw){var e=Nd;if(e!==null)throw e}}function um(e,t,n,s){Yw=!1;var i=e.updateQueue;ul=!1;var r=i.firstBaseUpdate,a=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,u=c.next;c.next=null,a===null?r=u:a.next=u,a=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==a&&(l===null?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(r!==null){var f=i.baseState;a=0,d=u=c=null,l=r;do{var h=l.lane&-536870913,m=h!==l.lane;if(m?(Wt&h)===h:(s&h)===h){h!==0&&h===zd&&(Yw=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var p=e,g=l;h=t;var v=n;switch(g.tag){case 1:if(p=g.payload,typeof p=="function"){f=p.call(v,f,h);break e}f=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=g.payload,h=typeof p=="function"?p.call(v,f,h):p,h==null)break e;f=is({},f,h);break e;case 2:ul=!0}}h=l.callback,h!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[h]:m.push(h))}else m={lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(u=d=m,c=f):d=d.next=m,a|=h;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;m=l,l=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);d===null&&(c=f),i.baseState=c,i.firstBaseUpdate=u,i.lastBaseUpdate=d,r===null&&(i.shared.lanes=0),Fl|=a,e.lanes=a,e.memoizedState=f}}function zD(e,t){if(typeof e!="function")throw Error(Ne(191,e));e.call(t)}function VD(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;er?r:8;var a=wt.T,l={};wt.T=l,eN(e,!1,t,n);try{var c=i(),u=wt.S;if(u!==null&&u(l,c),c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=CK(c,s);dm(e,t,d,_r(e))}else dm(e,t,s,_r(e))}catch(f){dm(e,t,{then:function(){},status:"rejected",reason:f},_r())}finally{pn.p=r,a!==null&&l.types!==null&&(a.types=l.types),wt.T=a}}function LK(){}function Jw(e,t,n,s){if(e.tag!==5)throw Error(Ne(476));var i=p4(e).queue;m4(e,i,t,_c,n===null?LK:function(){return g4(e),n(s)})}function p4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:_c,baseState:_c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Oo,lastRenderedState:_c},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Oo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function g4(e){var t=p4(e);t.next===null&&(t=e.alternate.memoizedState),dm(e,t.next.queue,{},_r())}function JT(){return Ei(Qm)}function b4(){return Os().memoizedState}function y4(){return Os().memoizedState}function DK(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_r();e=Al(n);var s=Cl(t,e,n);s!==null&&(rr(s,t,n),lm(s,t,n)),t={cache:BT()},e.payload=t;return}t=t.return}}function PK(e,t,n){var s=_r();n={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},m1(e)?E4(t,n):(n=MT(e,t,n,s),n!==null&&(rr(n,e,s),v4(n,t,s)))}function x4(e,t,n){var s=_r();dm(e,t,n,s)}function dm(e,t,n,s){var i={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(m1(e))E4(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var a=t.lastRenderedState,l=r(a,n);if(i.hasEagerState=!0,i.eagerState=l,kr(l,a))return c1(e,t,i,0),Dn===null&&l1(),!1}catch{}finally{}if(n=MT(e,t,i,s),n!==null)return rr(n,e,s),v4(n,t,s),!0}return!1}function eN(e,t,n,s){if(s={lane:2,revertLane:cN(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},m1(e)){if(t)throw Error(Ne(479))}else t=MT(e,n,s,2),t!==null&&rr(t,e,2)}function m1(e){var t=e.alternate;return e===Ct||t!==null&&t===Ct}function E4(e,t){Ad=Gb=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function v4(e,t,n){if(n&4194048){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,aD(e,n)}}var Ym={readContext:Ei,use:f1,useCallback:_s,useContext:_s,useEffect:_s,useImperativeHandle:_s,useLayoutEffect:_s,useInsertionEffect:_s,useMemo:_s,useReducer:_s,useRef:_s,useState:_s,useDebugValue:_s,useDeferredValue:_s,useTransition:_s,useSyncExternalStore:_s,useId:_s,useHostTransitionStatus:_s,useFormState:_s,useActionState:_s,useOptimistic:_s,useMemoCache:_s,useCacheRefresh:_s};Ym.useEffectEvent=_s;var w4={readContext:Ei,use:f1,useCallback:function(e,t){return Fi().memoizedState=[e,t===void 0?null:t],e},useContext:Ei,useEffect:kC,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Q0(4194308,4,c4.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Q0(4194308,4,e,t)},useInsertionEffect:function(e,t){Q0(4,2,e,t)},useMemo:function(e,t){var n=Fi();t=t===void 0?null:t;var s=e();if(Fc){xl(!0);try{e()}finally{xl(!1)}}return n.memoizedState=[s,t],s},useReducer:function(e,t,n){var s=Fi();if(n!==void 0){var i=n(t);if(Fc){xl(!0);try{n(t)}finally{xl(!1)}}}else i=t;return s.memoizedState=s.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},s.queue=e,e=e.dispatch=PK.bind(null,Ct,e),[s.memoizedState,e]},useRef:function(e){var t=Fi();return e={current:e},t.memoizedState=e},useState:function(e){e=Qw(e);var t=e.queue,n=x4.bind(null,Ct,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:QT,useDeferredValue:function(e,t){var n=Fi();return ZT(n,e,t)},useTransition:function(){var e=Qw(!1);return e=m4.bind(null,Ct,e.queue,!0,!1),Fi().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var s=Ct,i=Fi();if(nn){if(n===void 0)throw Error(Ne(407));n=n()}else{if(n=t(),Dn===null)throw Error(Ne(349));Wt&127||WD(s,t,n)}i.memoizedState=n;var r={value:n,getSnapshot:t};return i.queue=r,kC(QD.bind(null,s,r,e),[e]),s.flags|=2048,Gd(9,{destroy:void 0},XD.bind(null,s,r,n,t),null),n},useId:function(){var e=Fi(),t=Dn.identifierPrefix;if(nn){var n=Ba,s=Pa;n=(s&~(1<<32-Sr(s)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Kb++,0<\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof s.is=="string"?a.createElement("select",{is:s.is}):a.createElement("select"),s.multiple?r.multiple=!0:s.size&&(r.size=s.size);break;default:r=typeof s.is=="string"?a.createElement(i,{is:s.is}):a.createElement(i)}}r[yi]=t,r[lr]=s;e:for(a=t.child;a!==null;){if(a.tag===5||a.tag===6)r.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=r;e:switch(wi(r,i,s),i){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&io(t)}}return Zn(t),OE(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&io(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(Ne(166));if(e=Nl.current,Nu(t)){if(e=t.stateNode,n=t.memoizedProps,s=null,i=xi,i!==null)switch(i.tag){case 27:case 5:s=i.memoizedProps}e[yi]=t,e=!!(e.nodeValue===n||s!==null&&s.suppressHydrationWarning===!0||x5(e.nodeValue,n)),e||Bl(t,!0)}else e=ny(e).createTextNode(s),e[yi]=t,t.stateNode=e}return Zn(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(s=Nu(t),n!==null){if(e===null){if(!s)throw Error(Ne(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Ne(557));e[yi]=t}else Pc(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Zn(t),e=!1}else n=_E(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(gr(t),t):(gr(t),null);if(t.flags&128)throw Error(Ne(558))}return Zn(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Nu(t),s!==null&&s.dehydrated!==null){if(e===null){if(!i)throw Error(Ne(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(Ne(317));i[yi]=t}else Pc(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Zn(t),i=!1}else i=_E(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(gr(t),t):(gr(t),null)}return gr(t),t.flags&128?(t.lanes=n,t):(n=s!==null,e=e!==null&&e.memoizedState!==null,n&&(s=t.child,i=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(i=s.alternate.memoizedState.cachePool.pool),r=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(r=s.memoizedState.cachePool.pool),r!==i&&(s.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Xg(t,t.updateQueue),Zn(t),null);case 4:return Fd(),e===null&&uN(t.stateNode.containerInfo),Zn(t),null;case 10:return _o(t.type),Zn(t),null;case 19:if(hi(Is),s=t.memoizedState,s===null)return Zn(t),null;if(i=(t.flags&128)!==0,r=s.rendering,r===null)if(i)yh(s,!1);else{if(Ns!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(r=Vb(e),r!==null){for(t.flags|=128,yh(s,!1),e=r.updateQueue,t.updateQueue=e,Xg(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)MD(n,e),n=n.sibling;return zn(Is,Is.current&1|2),nn&&mo(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&&vr()>Xb&&(t.flags|=128,i=!0,yh(s,!1),t.lanes=4194304)}else{if(!i)if(e=Vb(r),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Xg(t,e),yh(s,!0),s.tail===null&&s.tailMode==="hidden"&&!r.alternate&&!nn)return Zn(t),null}else 2*vr()-s.renderingStartTime>Xb&&n!==536870912&&(t.flags|=128,i=!0,yh(s,!1),t.lanes=4194304);s.isBackwards?(r.sibling=t.child,t.child=r):(e=s.last,e!==null?e.sibling=r:t.child=r,s.last=r)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=vr(),e.sibling=null,n=Is.current,zn(Is,i?n&1|2:n&1),nn&&mo(t,s.treeForkCount),e):(Zn(t),null);case 22:case 23:return gr(t),HT(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?n&536870912&&!(t.flags&128)&&(Zn(t),t.subtreeFlags&6&&(t.flags|=8192)):Zn(t),n=t.updateQueue,n!==null&&Xg(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==n&&(t.flags|=2048),e!==null&&hi(Nc),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),_o(qs),Zn(t),null;case 25:return null;case 30:return null}throw Error(Ne(156,t.tag))}function HK(e,t){switch(PT(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return _o(qs),Fd(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Lb(t),null;case 31:if(t.memoizedState!==null){if(gr(t),t.alternate===null)throw Error(Ne(340));Pc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(gr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Ne(340));Pc()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return hi(Is),null;case 4:return Fd(),null;case 10:return _o(t.type),null;case 22:case 23:return gr(t),HT(),e!==null&&hi(Nc),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return _o(qs),null;case 25:return null;default:return null}}function M4(e,t){switch(PT(t),t.tag){case 3:_o(qs),Fd();break;case 26:case 27:case 5:Lb(t);break;case 4:Fd();break;case 31:t.memoizedState!==null&&gr(t);break;case 13:gr(t);break;case 19:hi(Is);break;case 10:_o(t.type);break;case 22:case 23:gr(t),HT(),e!==null&&hi(Nc);break;case 24:_o(qs)}}function Up(e,t){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var i=s.next;n=i;do{if((n.tag&e)===e){s=void 0;var r=n.create,a=n.inst;s=r(),a.destroy=s}n=n.next}while(n!==i)}}catch(l){wn(t,t.return,l)}}function Ul(e,t,n){try{var s=t.updateQueue,i=s!==null?s.lastEffect:null;if(i!==null){var r=i.next;s=r;do{if((s.tag&e)===e){var a=s.inst,l=a.destroy;if(l!==void 0){a.destroy=void 0,i=t;var c=n,u=l;try{u()}catch(d){wn(i,c,d)}}}s=s.next}while(s!==r)}}catch(d){wn(t,t.return,d)}}function L4(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{VD(t,n)}catch(s){wn(e,e.return,s)}}}function D4(e,t,n){n.props=$c(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(s){wn(e,t,s)}}function fm(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof n=="function"?e.refCleanup=n(s):n.current=s}}catch(i){wn(e,t,i)}}function Ua(e,t){var n=e.ref,s=e.refCleanup;if(n!==null)if(typeof s=="function")try{s()}catch(i){wn(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(i){wn(e,t,i)}else n.current=null}function P4(e){var t=e.type,n=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&s.focus();break e;case"img":n.src?s.src=n.src:n.srcSet&&(s.srcset=n.srcSet)}}catch(i){wn(e,e.return,i)}}function ME(e,t,n){try{var s=e.stateNode;uq(s,e.type,n,t),s[lr]=t}catch(i){wn(e,e.return,i)}}function B4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Yl(e.type)||e.tag===4}function LE(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||B4(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&&Yl(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 iS(e,t,n){var s=e.tag;if(s===5||s===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=yo));else if(s!==4&&(s===27&&Yl(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(iS(e,t,n),e=e.sibling;e!==null;)iS(e,t,n),e=e.sibling}function Wb(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(s===27&&Yl(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Wb(e,t,n),e=e.sibling;e!==null;)Wb(e,t,n),e=e.sibling}function U4(e){var t=e.stateNode,n=e.memoizedProps;try{for(var s=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);wi(t,s,n),t[yi]=e,t[lr]=n}catch(r){wn(e,e.return,r)}}var po=!1,Ks=!1,DE=!1,FC=typeof WeakSet=="function"?WeakSet:Set,ci=null;function zK(e,t){if(e=e.containerInfo,dS=ay,e=ND(e),jT(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var i=s.anchorOffset,r=s.focusNode;s=s.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break e}var a=0,l=-1,c=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(l=a+i),f!==r||s!==0&&f.nodeType!==3||(c=a+s),f.nodeType===3&&(a+=f.nodeValue.length),(m=f.firstChild)!==null;)h=f,f=m;for(;;){if(f===e)break t;if(h===n&&++u===i&&(l=a),h===r&&++d===s&&(c=a),(m=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=m}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(fS={focusedElem:e,selectionRange:n},ay=!1,ci=t;ci!==null;)if(t=ci,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ci=e;else for(;ci!==null;){switch(t=ci,r=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"))),wi(r,s,n),r[yi]=e,ui(r),s=r;break e;case"link":var a=aI("link","href",i).get(s+(n.href||""));if(a){for(var l=0;lv&&(a=v,v=g,g=a);var y=dC(l,g),x=dC(l,v);if(y&&x&&(m.rangeCount!==1||m.anchorNode!==y.node||m.anchorOffset!==y.offset||m.focusNode!==x.node||m.focusOffset!==x.offset)){var E=f.createRange();E.setStart(y.node,y.offset),m.removeAllRanges(),g>v?(m.addRange(E),m.extend(x.node,x.offset)):(E.setEnd(x.node,x.offset),m.addRange(E))}}}}for(f=[],m=l;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;ln?32:n,wt.T=null,n=oS,oS=null;var r=Rl,a=To;if(si=0,qd=Rl=null,To=0,mn&6)throw Error(Ne(331));var l=mn;if(mn|=4,X4(r.current),q4(r,r.current,a,n),mn=l,Fp(0,!1),wr&&typeof wr.onPostCommitFiberRoot=="function")try{wr.onPostCommitFiberRoot(jp,r)}catch{}return!0}finally{pn.p=i,wt.T=s,d5(e,t)}}function VC(e,t,n){t=Vr(n,t),t=tS(e.stateNode,t,2),e=Cl(e,t,2),e!==null&&(Mp(e,2),qa(e))}function wn(e,t,n){if(e.tag===3)VC(e,e,n);else for(;t!==null;){if(t.tag===3){VC(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Il===null||!Il.has(s))){e=Vr(n,e),n=k4(2),s=Cl(t,n,2),s!==null&&(A4(n,s,t,e),Mp(s,2),qa(s));break}}t=t.return}}function BE(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new KK;var i=new Set;s.set(t,i)}else i=s.get(t),i===void 0&&(i=new Set,s.set(t,i));i.has(n)||(aN=!0,i.add(n),e=QK.bind(null,e,t,n),t.then(e,e))}function QK(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Dn===e&&(Wt&n)===n&&(Ns===4||Ns===3&&(Wt&62914560)===Wt&&300>vr()-p1?!(mn&2)&&Yd(e,0):oN|=n,Kd===Wt&&(Kd=0)),qa(e)}function h5(e,t){t===0&&(t=iD()),e=su(e,t),e!==null&&(Mp(e,t),qa(e))}function ZK(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),h5(e,n)}function JK(e,t){var n=0;switch(e.tag){case 31:case 13:var s=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(Ne(314))}s!==null&&s.delete(t),h5(e,n)}function eq(e,t){return ST(e,t)}var Jb=null,Hu=null,cS=!1,ey=!1,UE=!1,Sl=0;function qa(e){e!==Hu&&e.next===null&&(Hu===null?Jb=Hu=e:Hu=Hu.next=e),ey=!0,cS||(cS=!0,nq())}function Fp(e,t){if(!UE&&ey){UE=!0;do for(var n=!1,s=Jb;s!==null;){if(e!==0){var i=s.pendingLanes;if(i===0)var r=0;else{var a=s.suspendedLanes,l=s.pingedLanes;r=(1<<31-Sr(42|e)+1)-1,r&=i&~(a&~l),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(n=!0,GC(s,r))}else r=Wt,r=i1(s,s===Dn?r:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),!(r&3)||Op(s,r)||(n=!0,GC(s,r));s=s.next}while(n);UE=!1}}function tq(){m5()}function m5(){ey=cS=!1;var e=0;Sl!==0&&fq()&&(e=Sl);for(var t=vr(),n=null,s=Jb;s!==null;){var i=s.next,r=p5(s,t);r===0?(s.next=null,n===null?Jb=i:n.next=i,i===null&&(Hu=n)):(n=s,(e!==0||r&3)&&(ey=!0)),s=i}si!==0&&si!==5||Fp(e),Sl!==0&&(Sl=0)}function p5(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes&-62914561;0l)break;var d=c.transferSize,f=c.initiatorType;d&&XC(f)&&(c=c.responseEnd,a+=d*(c"u"?null:document;function _5(e,t,n){var s=Af;if(s&&typeof t=="string"&&t){var i=zr(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof n=="string"&&(i+='[crossorigin="'+n+'"]'),sI.has(i)||(sI.add(i),e={rel:e,crossOrigin:n,href:t},s.querySelector(i)===null&&(t=s.createElement("link"),wi(t,"link",e),ui(t),s.head.appendChild(t)))}}function vq(e){Ho.D(e),_5("dns-prefetch",e,null)}function wq(e,t){Ho.C(e,t),_5("preconnect",e,t)}function Sq(e,t,n){Ho.L(e,t,n);var s=Af;if(s&&e&&t){var i='link[rel="preload"][as="'+zr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(i+='[imagesrcset="'+zr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(i+='[imagesizes="'+zr(n.imageSizes)+'"]')):i+='[href="'+zr(e)+'"]';var r=i;switch(t){case"style":r=Wd(e);break;case"script":r=Cf(e)}Qr.has(r)||(e=is({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Qr.set(r,e),s.querySelector(i)!==null||t==="style"&&s.querySelector($p(r))||t==="script"&&s.querySelector(Hp(r))||(t=s.createElement("link"),wi(t,"link",e),ui(t),s.head.appendChild(t)))}}function _q(e,t){Ho.m(e,t);var n=Af;if(n&&e){var s=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+zr(s)+'"][href="'+zr(e)+'"]',r=i;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=Cf(e)}if(!Qr.has(r)&&(e=is({rel:"modulepreload",href:e},t),Qr.set(r,e),n.querySelector(i)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Hp(r)))return}s=n.createElement("link"),wi(s,"link",e),ui(s),n.head.appendChild(s)}}}function Tq(e,t,n){Ho.S(e,t,n);var s=Af;if(s&&e){var i=Sd(s).hoistableStyles,r=Wd(e);t=t||"default";var a=i.get(r);if(!a){var l={loading:0,preload:null};if(a=s.querySelector($p(r)))l.loading=5;else{e=is({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Qr.get(r))&&dN(e,n);var c=a=s.createElement("link");ui(c),wi(c,"link",e),c._p=new Promise(function(u,d){c.onload=u,c.onerror=d}),c.addEventListener("load",function(){l.loading|=1}),c.addEventListener("error",function(){l.loading|=2}),l.loading|=4,tb(a,t,s)}a={type:"stylesheet",instance:a,count:1,state:l},i.set(r,a)}}}function Nq(e,t){Ho.X(e,t);var n=Af;if(n&&e){var s=Sd(n).hoistableScripts,i=Cf(e),r=s.get(i);r||(r=n.querySelector(Hp(i)),r||(e=is({src:e,async:!0},t),(t=Qr.get(i))&&fN(e,t),r=n.createElement("script"),ui(r),wi(r,"link",e),n.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},s.set(i,r))}}function kq(e,t){Ho.M(e,t);var n=Af;if(n&&e){var s=Sd(n).hoistableScripts,i=Cf(e),r=s.get(i);r||(r=n.querySelector(Hp(i)),r||(e=is({src:e,async:!0,type:"module"},t),(t=Qr.get(i))&&fN(e,t),r=n.createElement("script"),ui(r),wi(r,"link",e),n.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},s.set(i,r))}}function iI(e,t,n,s){var i=(i=Nl.current)?sy(i):null;if(!i)throw Error(Ne(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Wd(n.href),n=Sd(i).hoistableStyles,s=n.get(t),s||(s={type:"style",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Wd(n.href);var r=Sd(i).hoistableStyles,a=r.get(e);if(a||(i=i.ownerDocument||i,a={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,a),(r=i.querySelector($p(e)))&&!r._p&&(a.instance=r,a.state.loading=5),Qr.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},Qr.set(e,n),r||Aq(i,e,n,a.state))),t&&s===null)throw Error(Ne(528,""));return a}if(t&&s!==null)throw Error(Ne(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Cf(n),n=Sd(i).hoistableScripts,s=n.get(t),s||(s={type:"script",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(Ne(444,e))}}function Wd(e){return'href="'+zr(e)+'"'}function $p(e){return'link[rel="stylesheet"]['+e+"]"}function T5(e){return is({},e,{"data-precedence":e.precedence,precedence:null})}function Aq(e,t,n,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),wi(t,"link",n),ui(t),e.head.appendChild(t))}function Cf(e){return'[src="'+zr(e)+'"]'}function Hp(e){return"script[async]"+e}function rI(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+zr(n.href)+'"]');if(s)return t.instance=s,ui(s),s;var i=is({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),ui(s),wi(s,"style",i),tb(s,n.precedence,e),t.instance=s;case"stylesheet":i=Wd(n.href);var r=e.querySelector($p(i));if(r)return t.state.loading|=4,t.instance=r,ui(r),r;s=T5(n),(i=Qr.get(i))&&dN(s,i),r=(e.ownerDocument||e).createElement("link"),ui(r);var a=r;return a._p=new Promise(function(l,c){a.onload=l,a.onerror=c}),wi(r,"link",s),t.state.loading|=4,tb(r,n.precedence,e),t.instance=r;case"script":return r=Cf(n.src),(i=e.querySelector(Hp(r)))?(t.instance=i,ui(i),i):(s=n,(i=Qr.get(r))&&(s=is({},n),fN(s,i)),e=e.ownerDocument||e,i=e.createElement("script"),ui(i),wi(i,"link",s),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(Ne(443,t.type))}else t.type==="stylesheet"&&!(t.state.loading&4)&&(s=t.instance,t.state.loading|=4,tb(s,n.precedence,e));return t.instance}function tb(e,t,n){for(var s=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=s.length?s[s.length-1]:null,r=i,a=0;a title"):null)}function Cq(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 N5(e){return!(e.type==="stylesheet"&&!(e.state.loading&3))}function Iq(e,t,n,s){if(n.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var i=Wd(s.href),r=t.querySelector($p(i));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=iy.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=r,ui(r);return}r=t.ownerDocument||t,s=T5(s),(i=Qr.get(i))&&dN(s,i),r=r.createElement("link"),ui(r);var a=r;a._p=new Promise(function(l,c){a.onload=l,a.onerror=c}),wi(r,"link",s),n.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=iy.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var GE=0;function Rq(e,t){return e.stylesheets&&e.count===0&&sb(e,e.stylesheets),0GE?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(i)}}:null}function iy(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)sb(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ry=null;function sb(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ry=new Map,t.forEach(jq,e),ry=null,iy.call(e))}function jq(e,t){if(!(t.state.loading&4)){var n=ry.get(e);if(n)var s=n.get(null);else{n=new Map,ry.set(e,n);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(M5)}catch(e){console.error(e)}}M5(),H3.exports=n1;var Fq=H3.exports;const $q=Ef(Fq),bN=b.createContext({});function E1(e){const t=b.useRef(null);return t.current===null&&(t.current=e()),t.current}const v1=b.createContext(null),ep=b.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class Hq extends b.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const s=this.props.sizeRef.current;s.height=n.offsetHeight||0,s.width=n.offsetWidth||0,s.top=n.offsetTop,s.left=n.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function zq({children:e,isPresent:t}){const n=b.useId(),s=b.useRef(null),i=b.useRef({width:0,height:0,top:0,left:0}),{nonce:r}=b.useContext(ep);return b.useInsertionEffect(()=>{const{width:a,height:l,top:c,left:u}=i.current;if(t||!s.current||!a||!l)return;s.current.dataset.motionPopId=n;const d=document.createElement("style");return r&&(d.nonce=r),document.head.appendChild(d),d.sheet&&d.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${a}px !important; @@ -55,462 +55,462 @@ Error generating stack: `+s.message+` top: ${c}px !important; left: ${u}px !important; } - `),()=>{document.head.removeChild(d)}},[t]),o.jsx(Mq,{isPresent:t,childRef:s,sizeRef:i,children:b.cloneElement(e,{ref:s})})}const Dq=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:r,mode:a})=>{const l=x1(Pq),c=b.useId(),u=b.useCallback(f=>{l.set(f,!0);for(const h of l.values())if(!h)return;s&&s()},[l,s]),d=b.useMemo(()=>({id:c,initial:t,isPresent:n,custom:i,onExitComplete:u,register:f=>(l.set(f,!1),()=>l.delete(f))}),r?[Math.random(),u]:[n,u]);return b.useMemo(()=>{l.forEach((f,h)=>l.set(h,!1))},[n]),b.useEffect(()=>{!n&&!l.size&&s&&s()},[n]),a==="popLayout"&&(e=o.jsx(Lq,{isPresent:n,children:e})),o.jsx(E1.Provider,{value:d,children:e})};function Pq(){return new Map}function I5(e=!0){const t=b.useContext(E1);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:i}=t,r=b.useId();b.useEffect(()=>{e&&i(r)},[e]);const a=b.useCallback(()=>e&&s&&s(r),[r,s,e]);return!n&&s?[!1,a]:[!0]}const t0=e=>e.key||"";function dI(e){const t=[];return b.Children.forEach(e,n=>{b.isValidElement(n)&&t.push(n)}),t}const pN=typeof window<"u",R5=pN?b.useLayoutEffect:b.useEffect,Eo=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:i=!0,mode:r="sync",propagate:a=!1})=>{const[l,c]=I5(a),u=b.useMemo(()=>dI(e),[e]),d=a&&!l?[]:u.map(t0),f=b.useRef(!0),h=b.useRef(u),m=x1(()=>new Map),[p,g]=b.useState(u),[v,y]=b.useState(u);R5(()=>{f.current=!1,h.current=u;for(let w=0;w{const T=t0(w),S=a&&!l?!1:u===v||d.includes(T),k=()=>{if(m.has(T))m.set(T,!0);else return;let A=!0;m.forEach(C=>{C||(A=!1)}),A&&(E==null||E(),y(h.current),a&&(c==null||c()),s&&s())};return o.jsx(Dq,{isPresent:S,initial:!f.current||n?void 0:!1,custom:S?void 0:t,presenceAffectsLayout:i,mode:r,onExitComplete:S?void 0:k,children:w},T)})})},Tr=e=>e;let O5=Tr;const Bq={useManualTiming:!1};function Uq(e){let t=new Set,n=new Set,s=!1,i=!1;const r=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(u){r.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,f=!1)=>{const m=f&&s?t:n;return d&&r.add(u),m.has(u)||m.add(u),u},cancel:u=>{n.delete(u),r.delete(u)},process:u=>{if(a=u,s){i=!0;return}s=!0,[t,n]=[n,t],t.forEach(l),t.clear(),s=!1,i&&(i=!1,c.process(u))}};return c}const n0=["read","resolveKeyframes","update","preRender","render","postRender"],Fq=40;function j5(e,t){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,a=n0.reduce((y,x)=>(y[x]=Uq(r),y),{}),{read:l,resolveKeyframes:c,update:u,preRender:d,render:f,postRender:h}=a,m=()=>{const y=performance.now();n=!1,i.delta=s?1e3/60:Math.max(Math.min(y-i.timestamp,Fq),1),i.timestamp=y,i.isProcessing=!0,l.process(i),c.process(i),u.process(i),d.process(i),f.process(i),h.process(i),i.isProcessing=!1,n&&t&&(s=!1,e(m))},p=()=>{n=!0,s=!0,i.isProcessing||e(m)};return{schedule:n0.reduce((y,x)=>{const E=a[x];return y[x]=(w,T=!1,S=!1)=>(n||p(),E.schedule(w,T,S)),y},{}),cancel:y=>{for(let x=0;xfI[e].some(n=>!!t[n])};function $q(e){for(const t in e)Qd[t]={...Qd[t],...e[t]}}const Hq=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 oy(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Hq.has(e)}let L5=e=>!oy(e);function D5(e){e&&(L5=t=>t.startsWith("on")?!oy(t):e(t))}try{D5(require("@emotion/is-prop-valid").default)}catch{}function zq(e,t,n){const s={};for(const i in e)i==="values"&&typeof e.values=="object"||(L5(i)||n===!0&&oy(i)||!t&&!oy(i)||e.draggable&&i.startsWith("onDrag"))&&(s[i]=e[i]);return s}function Vq({children:e,isValidProp:t,...n}){t&&D5(t),n={...b.useContext(Jm),...n},n.isStatic=x1(()=>n.isStatic);const s=b.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return o.jsx(Jm.Provider,{value:s,children:e})}function Gq(e){if(typeof Proxy>"u")return e;const t=new Map,n=(...s)=>e(...s);return new Proxy(n,{get:(s,i)=>i==="create"?e:(t.has(i)||t.set(i,e(i)),t.get(i))})}const v1=b.createContext({});function ep(e){return typeof e=="string"||Array.isArray(e)}function w1(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const gN=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],bN=["initial",...gN];function S1(e){return w1(e.animate)||bN.some(t=>ep(e[t]))}function P5(e){return!!(S1(e)||e.variants)}function Kq(e,t){if(S1(e)){const{initial:n,animate:s}=e;return{initial:n===!1||ep(n)?n:void 0,animate:ep(s)?s:void 0}}return e.inherit!==!1?t:{}}function qq(e){const{initial:t,animate:n}=Kq(e,b.useContext(v1));return b.useMemo(()=>({initial:t,animate:n}),[hI(t),hI(n)])}function hI(e){return Array.isArray(e)?e.join(" "):e}const Yq=Symbol.for("motionComponentSymbol");function ld(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function Wq(e,t,n){return b.useCallback(s=>{s&&e.onMount&&e.onMount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):ld(n)&&(n.current=s))},[t])}const yN=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),Xq="framerAppearId",B5="data-"+yN(Xq),{schedule:xN}=j5(queueMicrotask,!1),U5=b.createContext({});function Qq(e,t,n,s,i){var r,a;const{visualElement:l}=b.useContext(v1),c=b.useContext(M5),u=b.useContext(E1),d=b.useContext(Jm).reducedMotion,f=b.useRef(null);s=s||c.renderer,!f.current&&s&&(f.current=s(e,{visualState:t,parent:l,props:n,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const h=f.current,m=b.useContext(U5);h&&!h.projection&&i&&(h.type==="html"||h.type==="svg")&&Zq(f.current,n,i,m);const p=b.useRef(!1);b.useInsertionEffect(()=>{h&&p.current&&h.update(n,u)});const g=n[B5],v=b.useRef(!!g&&!(!((r=window.MotionHandoffIsComplete)===null||r===void 0)&&r.call(window,g))&&((a=window.MotionHasOptimisedAnimation)===null||a===void 0?void 0:a.call(window,g)));return R5(()=>{h&&(p.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),xN.render(h.render),v.current&&h.animationState&&h.animationState.animateChanges())}),b.useEffect(()=>{h&&(!v.current&&h.animationState&&h.animationState.animateChanges(),v.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)===null||y===void 0||y.call(window,g)}),v.current=!1))}),h}function Zq(e,t,n,s){const{layoutId:i,layout:r,drag:a,dragConstraints:l,layoutScroll:c,layoutRoot:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:F5(e.parent)),e.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!a||l&&ld(l),visualElement:e,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,layoutScroll:c,layoutRoot:u})}function F5(e){if(e)return e.options.allowProjection!==!1?e.projection:F5(e.parent)}function Jq({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:s,Component:i}){var r,a;e&&$q(e);function l(u,d){let f;const h={...b.useContext(Jm),...u,layoutId:eY(u)},{isStatic:m}=h,p=qq(u),g=s(u,m);if(!m&&pN){tY();const v=nY(h);f=v.MeasureLayout,p.visualElement=Qq(i,g,h,t,v.ProjectionNode)}return o.jsxs(v1.Provider,{value:p,children:[f&&p.visualElement?o.jsx(f,{visualElement:p.visualElement,...h}):null,n(i,u,Wq(g,p.visualElement,d),g,m,p.visualElement)]})}l.displayName=`motion.${typeof i=="string"?i:`create(${(a=(r=i.displayName)!==null&&r!==void 0?r:i.name)!==null&&a!==void 0?a:""})`}`;const c=b.forwardRef(l);return c[Yq]=i,c}function eY({layoutId:e}){const t=b.useContext(mN).id;return t&&e!==void 0?t+"-"+e:e}function tY(e,t){b.useContext(M5).strict}function nY(e){const{drag:t,layout:n}=Qd;if(!t&&!n)return{};const s={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}const sY=["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 EN(e){return typeof e!="string"||e.includes("-")?!1:!!(sY.indexOf(e)>-1||/[A-Z]/u.test(e))}function mI(e){const t=[{},{}];return e==null||e.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function vN(e,t,n,s){if(typeof t=="function"){const[i,r]=mI(s);t=t(n!==void 0?n:e.custom,i,r)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,r]=mI(s);t=t(n!==void 0?n:e.custom,i,r)}return t}const bS=e=>Array.isArray(e),iY=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),rY=e=>bS(e)?e[e.length-1]||0:e,ki=e=>!!(e&&e.getVelocity);function ib(e){const t=ki(e)?e.get():e;return iY(t)?t.toValue():t}function aY({scrapeMotionValuesFromProps:e,createRenderState:t,onUpdate:n},s,i,r){const a={latestValues:oY(s,i,r,e),renderState:t()};return n&&(a.onMount=l=>n({props:s,current:l,...a}),a.onUpdate=l=>n(l)),a}const $5=e=>(t,n)=>{const s=b.useContext(v1),i=b.useContext(E1),r=()=>aY(e,t,s,i);return n?r():x1(r)};function oY(e,t,n,s){const i={},r=s(e,{});for(const h in r)i[h]=ib(r[h]);let{initial:a,animate:l}=e;const c=S1(e),u=P5(e);t&&u&&!c&&e.inherit!==!1&&(a===void 0&&(a=t.initial),l===void 0&&(l=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const f=d?l:a;if(f&&typeof f!="boolean"&&!w1(f)){const h=Array.isArray(f)?f:[f];for(let m=0;mt=>typeof t=="string"&&t.startsWith(e),z5=H5("--"),lY=H5("var(--"),wN=e=>lY(e)?cY.test(e.split("/*")[0].trim()):!1,cY=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,V5=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Do=(e,t,n)=>n>t?t:ntypeof e=="number",parse:parseFloat,transform:e=>e},tp={...Rf,transform:e=>Do(0,1,e)},s0={...Rf,default:1},Hp=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=Hp("deg"),Ha=Hp("%"),Et=Hp("px"),uY=Hp("vh"),dY=Hp("vw"),pI={...Ha,parse:e=>Ha.parse(e)/100,transform:e=>Ha.transform(e*100)},fY={borderWidth:Et,borderTopWidth:Et,borderRightWidth:Et,borderBottomWidth:Et,borderLeftWidth:Et,borderRadius:Et,radius:Et,borderTopLeftRadius:Et,borderTopRightRadius:Et,borderBottomRightRadius:Et,borderBottomLeftRadius:Et,width:Et,maxWidth:Et,height:Et,maxHeight:Et,top:Et,right:Et,bottom:Et,left:Et,padding:Et,paddingTop:Et,paddingRight:Et,paddingBottom:Et,paddingLeft:Et,margin:Et,marginTop:Et,marginRight:Et,marginBottom:Et,marginLeft:Et,backgroundPositionX:Et,backgroundPositionY:Et},hY={rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:s0,scaleX:s0,scaleY:s0,scaleZ:s0,skew:al,skewX:al,skewY:al,distance:Et,translateX:Et,translateY:Et,translateZ:Et,x:Et,y:Et,z:Et,perspective:Et,transformPerspective:Et,opacity:tp,originX:pI,originY:pI,originZ:Et},gI={...Rf,transform:Math.round},SN={...fY,...hY,zIndex:gI,size:Et,fillOpacity:tp,strokeOpacity:tp,numOctaves:gI},mY={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},pY=If.length;function gY(e,t,n){let s="",i=!0;for(let r=0;r({style:{},transform:{},transformOrigin:{},vars:{}}),G5=()=>({...NN(),attrs:{}}),kN=e=>typeof e=="string"&&e.toLowerCase()==="svg";function K5(e,{style:t,vars:n},s,i){Object.assign(e.style,t,i&&i.getProjectionStyles(s));for(const r in n)e.style.setProperty(r,n[r])}const q5=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 Y5(e,t,n,s){K5(e,t,void 0,s);for(const i in t.attrs)e.setAttribute(q5.has(i)?i:yN(i),t.attrs[i])}const ly={};function vY(e){Object.assign(ly,e)}function W5(e,{layout:t,layoutId:n}){return ru.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!ly[e]||e==="opacity")}function AN(e,t,n){var s;const{style:i}=e,r={};for(const a in i)(ki(i[a])||t.style&&ki(t.style[a])||W5(a,e)||((s=n==null?void 0:n.getValue(a))===null||s===void 0?void 0:s.liveStyle)!==void 0)&&(r[a]=i[a]);return r}function X5(e,t,n){const s=AN(e,t,n);for(const i in e)if(ki(e[i])||ki(t[i])){const r=If.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[r]=e[i]}return s}function wY(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 yI=["x","y","width","height","cx","cy","r"],SY={useVisualState:$5({scrapeMotionValuesFromProps:X5,createRenderState:G5,onUpdate:({props:e,prevProps:t,current:n,renderState:s,latestValues:i})=>{if(!n)return;let r=!!e.drag;if(!r){for(const l in i)if(ru.has(l)){r=!0;break}}if(!r)return;let a=!t;if(t)for(let l=0;l{wY(n,s),ns.render(()=>{TN(s,i,kN(n.tagName),e.transformTemplate),Y5(n,s)})})}})},_Y={useVisualState:$5({scrapeMotionValuesFromProps:AN,createRenderState:NN})};function Q5(e,t,n){for(const s in t)!ki(t[s])&&!W5(s,n)&&(e[s]=t[s])}function TY({transformTemplate:e},t){return b.useMemo(()=>{const n=NN();return _N(n,t,e),Object.assign({},n.vars,n.style)},[t])}function NY(e,t){const n=e.style||{},s={};return Q5(s,n,e),Object.assign(s,TY(e,t)),s}function kY(e,t){const n={},s=NY(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.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=s,n}function AY(e,t,n,s){const i=b.useMemo(()=>{const r=G5();return TN(r,t,kN(s),e.transformTemplate),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};Q5(r,e.style,e),i.style={...r,...i.style}}return i}function CY(e=!1){return(n,s,i,{latestValues:r},a)=>{const c=(EN(n)?AY:kY)(s,r,a,n),u=zq(s,typeof n=="string",e),d=n!==b.Fragment?{...u,...c,ref:i}:{},{children:f}=s,h=b.useMemo(()=>ki(f)?f.get():f,[f]);return b.createElement(n,{...d,children:h})}}function IY(e,t){return function(s,{forwardMotionProps:i}={forwardMotionProps:!1}){const a={...EN(s)?SY:_Y,preloadedFeatures:e,useRender:CY(i),createVisualElement:t,Component:s};return Jq(a)}}function Z5(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;s(rb===void 0&&za.set(fi.isProcessing||Bq.useManualTiming?fi.timestamp:performance.now()),rb),set:e=>{rb=e,queueMicrotask(RY)}};function IN(e,t){e.indexOf(t)===-1&&e.push(t)}function RN(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class ON{constructor(){this.subscriptions=[]}add(t){return IN(this.subscriptions,t),()=>RN(this.subscriptions,t)}notify(t,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,s);else for(let r=0;r!isNaN(parseFloat(e));class jY{constructor(t,n={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(s,i=!0)=>{const r=za.now();this.updatedAt!==r&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),i&&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=za.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=OY(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 ON);const s=this.events[t].add(n);return t==="change"?()=>{s(),ns.read(()=>{this.events.change.getSize()||this.stop()})}:s}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,s){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}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=za.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>xI)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,xI);return e6(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 np(e,t){return new jY(e,t)}function MY(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,np(n))}function LY(e,t){const n=_1(e,t);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const a in r){const l=rY(r[a]);MY(e,a,l)}}function DY(e){return!!(ki(e)&&e.add)}function yS(e,t){const n=e.getValue("willChange");if(DY(n))return n.add(t)}function t6(e){return e.props[B5]}function jN(e){let t;return()=>(t===void 0&&(t=e()),t)}const PY=jN(()=>window.ScrollTimeline!==void 0);class BY{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 s=0;s{if(PY()&&i.attachTimeline)return i.attachTimeline(t);if(typeof n=="function")return n(i)});return()=>{s.forEach((i,r)=>{i&&i(),this.animations[r].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 UY extends BY{then(t,n){return Promise.all(this.animations).then(t).catch(n)}}const No=e=>e*1e3,ko=e=>e/1e3;function MN(e){return typeof e=="function"}function EI(e,t){e.timeline=t,e.onfinish=null}const LN=e=>Array.isArray(e)&&typeof e[0]=="number",FY={linearEasing:void 0};function $Y(e,t){const n=jN(e);return()=>{var s;return(s=FY[t])!==null&&s!==void 0?s:n()}}const cy=$Y(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Zd=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s},n6=(e,t,n=10)=>{let s="";const i=Math.max(Math.round(t/n),2);for(let r=0;r`cubic-bezier(${e}, ${t}, ${n}, ${s})`,xS={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:zh([0,.65,.55,1]),circOut:zh([.55,0,1,.45]),backIn:zh([.31,.01,.66,-.59]),backOut:zh([.33,1.53,.69,.99])};function i6(e,t){if(e)return typeof e=="function"&&cy()?n6(e,t):LN(e)?zh(e):Array.isArray(e)?e.map(n=>i6(n,t)||xS.easeOut):xS[e]}const r6=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,HY=1e-7,zY=12;function VY(e,t,n,s,i){let r,a,l=0;do a=t+(n-t)/2,r=r6(a,s,i)-e,r>0?n=a:t=a;while(Math.abs(r)>HY&&++lVY(r,0,1,e,n);return r=>r===0||r===1?r:r6(i(r),t,s)}const a6=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,o6=e=>t=>1-e(1-t),l6=zp(.33,1.53,.69,.99),DN=o6(l6),c6=a6(DN),u6=e=>(e*=2)<1?.5*DN(e):.5*(2-Math.pow(2,-10*(e-1))),PN=e=>1-Math.sin(Math.acos(e)),d6=o6(PN),f6=a6(PN),h6=e=>/^0[^.\s]+$/u.test(e);function GY(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||h6(e):!0}const bm=e=>Math.round(e*1e5)/1e5,BN=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function KY(e){return e==null}const qY=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,UN=(e,t)=>n=>!!(typeof n=="string"&&qY.test(n)&&n.startsWith(e)||t&&!KY(n)&&Object.prototype.hasOwnProperty.call(n,t)),m6=(e,t,n)=>s=>{if(typeof s!="string")return s;const[i,r,a,l]=s.match(BN);return{[e]:parseFloat(i),[t]:parseFloat(r),[n]:parseFloat(a),alpha:l!==void 0?parseFloat(l):1}},YY=e=>Do(0,255,e),VE={...Rf,transform:e=>Math.round(YY(e))},xc={test:UN("rgb","red"),parse:m6("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+VE.transform(e)+", "+VE.transform(t)+", "+VE.transform(n)+", "+bm(tp.transform(s))+")"};function WY(e){let t="",n="",s="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,s+=s,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const ES={test:UN("#"),parse:WY,transform:xc.transform},cd={test:UN("hsl","hue"),parse:m6("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Ha.transform(bm(t))+", "+Ha.transform(bm(n))+", "+bm(tp.transform(s))+")"},Ti={test:e=>xc.test(e)||ES.test(e)||cd.test(e),parse:e=>xc.test(e)?xc.parse(e):cd.test(e)?cd.parse(e):ES.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?xc.transform(e):cd.transform(e)},XY=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function QY(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(BN))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(XY))===null||n===void 0?void 0:n.length)||0)>0}const p6="number",g6="color",ZY="var",JY="var(",vI="${}",eW=/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 sp(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const l=t.replace(eW,c=>(Ti.test(c)?(s.color.push(r),i.push(g6),n.push(Ti.parse(c))):c.startsWith(JY)?(s.var.push(r),i.push(ZY),n.push(c)):(s.number.push(r),i.push(p6),n.push(parseFloat(c))),++r,vI)).split(vI);return{values:n,split:l,indexes:s,types:i}}function b6(e){return sp(e).values}function y6(e){const{split:t,types:n}=sp(e),s=t.length;return i=>{let r="";for(let a=0;atypeof e=="number"?0:e;function nW(e){const t=b6(e);return y6(e)(t.map(tW))}const Hl={test:QY,parse:b6,createTransformer:y6,getAnimatableNone:nW},sW=new Set(["brightness","contrast","saturate","opacity"]);function iW(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match(BN)||[];if(!s)return e;const i=n.replace(s,"");let r=sW.has(t)?1:0;return s!==n&&(r*=100),t+"("+r+i+")"}const rW=/\b([a-z-]*)\(.*?\)/gu,vS={...Hl,getAnimatableNone:e=>{const t=e.match(rW);return t?t.map(iW).join(" "):e}},aW={...SN,color:Ti,backgroundColor:Ti,outlineColor:Ti,fill:Ti,stroke:Ti,borderColor:Ti,borderTopColor:Ti,borderRightColor:Ti,borderBottomColor:Ti,borderLeftColor:Ti,filter:vS,WebkitFilter:vS},FN=e=>aW[e];function x6(e,t){let n=FN(e);return n!==vS&&(n=Hl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const oW=new Set(["auto","none","0"]);function lW(e,t,n){let s=0,i;for(;se===Rf||e===Et,SI=(e,t)=>parseFloat(e.split(", ")[t]),_I=(e,t)=>(n,{transform:s})=>{if(s==="none"||!s)return 0;const i=s.match(/^matrix3d\((.+)\)$/u);if(i)return SI(i[1],t);{const r=s.match(/^matrix\((.+)\)$/u);return r?SI(r[1],e):0}},cW=new Set(["x","y","z"]),uW=If.filter(e=>!cW.has(e));function dW(e){const t=[];return uW.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const Jd={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:_I(4,13),y:_I(5,14)};Jd.translateX=Jd.x;Jd.translateY=Jd.y;const Cc=new Set;let wS=!1,SS=!1;function E6(){if(SS){const e=Array.from(Cc).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const i=dW(s);i.length&&(n.set(s,i),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([r,a])=>{var l;(l=s.getValue(r))===null||l===void 0||l.set(a)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}SS=!1,wS=!1,Cc.forEach(e=>e.complete()),Cc.clear()}function v6(){Cc.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(SS=!0)})}function fW(){v6(),E6()}class $N{constructor(t,n,s,i,r,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=i,this.element=r,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Cc.add(this),wS||(wS=!0,ns.read(v6),ns.resolveKeyframes(E6))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:i}=this;for(let r=0;r/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),hW=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function mW(e){const t=hW.exec(e);if(!t)return[,];const[,n,s,i]=t;return[`--${n??s}`,i]}function S6(e,t,n=1){const[s,i]=mW(e);if(!s)return;const r=window.getComputedStyle(t).getPropertyValue(s);if(r){const a=r.trim();return w6(a)?parseFloat(a):a}return wN(i)?S6(i,t,n+1):i}const _6=e=>t=>t.test(e),pW={test:e=>e==="auto",parse:e=>e},T6=[Rf,Et,Ha,al,dY,uY,pW],TI=e=>T6.find(_6(e));class N6 extends $N{constructor(t,n,s,i,r){super(t,n,s,i,r,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let c=0;c{n.getValue(c).set(u)}),this.resolveNoneKeyframes()}}const NI=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Hl.test(e)||e==="0")&&!e.startsWith("url("));function gW(e){const t=e[0];if(e.length===1)return!0;for(let n=0;ne!==null;function T1(e,{repeat:t,repeatType:n="loop"},s){const i=e.filter(yW),r=t&&n!=="loop"&&t%2===1?0:i.length-1;return!r||s===void 0?i[r]:s}const xW=40;class k6{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:a="loop",...l}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=za.now(),this.options={autoplay:t,delay:n,type:s,repeat:i,repeatDelay:r,repeatType:a,...l},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>xW?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&fW(),this._resolved}onKeyframesResolved(t,n){this.resolvedAt=za.now(),this.hasAttemptedResolve=!0;const{name:s,type:i,velocity:r,delay:a,onComplete:l,onUpdate:c,isGenerator:u}=this.options;if(!u&&!bW(t,s,i,r))if(a)this.options.duration=0;else{c&&c(T1(t,this.options,n)),l&&l(),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 _S=2e4;function A6(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t<_S;)t+=n,s=e.next(t);return t>=_S?1/0:t}const xs=(e,t,n)=>e+(t-e)*n;function GE(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 EW({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let i=0,r=0,a=0;if(!t)i=r=a=n;else{const l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;i=GE(c,l,e+1/3),r=GE(c,l,e),a=GE(c,l,e-1/3)}return{red:Math.round(i*255),green:Math.round(r*255),blue:Math.round(a*255),alpha:s}}function uy(e,t){return n=>n>0?t:e}const KE=(e,t,n)=>{const s=e*e,i=n*(t*t-s)+s;return i<0?0:Math.sqrt(i)},vW=[ES,xc,cd],wW=e=>vW.find(t=>t.test(e));function kI(e){const t=wW(e);if(!t)return!1;let n=t.parse(e);return t===cd&&(n=EW(n)),n}const AI=(e,t)=>{const n=kI(e),s=kI(t);if(!n||!s)return uy(e,t);const i={...n};return r=>(i.red=KE(n.red,s.red,r),i.green=KE(n.green,s.green,r),i.blue=KE(n.blue,s.blue,r),i.alpha=xs(n.alpha,s.alpha,r),xc.transform(i))},SW=(e,t)=>n=>t(e(n)),Vp=(...e)=>e.reduce(SW),TS=new Set(["none","hidden"]);function _W(e,t){return TS.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function TW(e,t){return n=>xs(e,t,n)}function HN(e){return typeof e=="number"?TW:typeof e=="string"?wN(e)?uy:Ti.test(e)?AI:AW:Array.isArray(e)?C6:typeof e=="object"?Ti.test(e)?AI:NW:uy}function C6(e,t){const n=[...e],s=n.length,i=e.map((r,a)=>HN(r)(r,t[a]));return r=>{for(let a=0;a{for(const r in s)n[r]=s[r](i);return n}}function kW(e,t){var n;const s=[],i={color:0,var:0,number:0};for(let r=0;r{const n=Hl.createTransformer(t),s=sp(e),i=sp(t);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?TS.has(e)&&!i.values.length||TS.has(t)&&!s.values.length?_W(e,t):Vp(C6(kW(s,i),i.values),n):uy(e,t)};function I6(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?xs(e,t,n):HN(e)(e,t)}const CW=5;function R6(e,t,n){const s=Math.max(t-CW,0);return e6(n-e(s),t-s)}const Ss={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},qE=.001;function IW({duration:e=Ss.duration,bounce:t=Ss.bounce,velocity:n=Ss.velocity,mass:s=Ss.mass}){let i,r,a=1-t;a=Do(Ss.minDamping,Ss.maxDamping,a),e=Do(Ss.minDuration,Ss.maxDuration,ko(e)),a<1?(i=u=>{const d=u*a,f=d*e,h=d-n,m=NS(u,a),p=Math.exp(-f);return qE-h/m*p},r=u=>{const f=u*a*e,h=f*n+n,m=Math.pow(a,2)*Math.pow(u,2)*e,p=Math.exp(-f),g=NS(Math.pow(u,2),a);return(-i(u)+qE>0?-1:1)*((h-m)*p)/g}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-qE+d*f},r=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const l=5/e,c=OW(i,r,l);if(e=No(e),isNaN(c))return{stiffness:Ss.stiffness,damping:Ss.damping,duration:e};{const u=Math.pow(c,2)*s;return{stiffness:u,damping:a*2*Math.sqrt(s*u),duration:e}}}const RW=12;function OW(e,t,n){let s=n;for(let i=1;ie[n]!==void 0)}function LW(e){let t={velocity:Ss.velocity,stiffness:Ss.stiffness,damping:Ss.damping,mass:Ss.mass,isResolvedFromDuration:!1,...e};if(!CI(e,MW)&&CI(e,jW))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),i=s*s,r=2*Do(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:Ss.mass,stiffness:i,damping:r}}else{const n=IW(e);t={...t,...n,mass:Ss.mass},t.isResolvedFromDuration=!0}return t}function O6(e=Ss.visualDuration,t=Ss.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:i}=n;const r=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],l={done:!1,value:r},{stiffness:c,damping:u,mass:d,duration:f,velocity:h,isResolvedFromDuration:m}=LW({...n,velocity:-ko(n.velocity||0)}),p=h||0,g=u/(2*Math.sqrt(c*d)),v=a-r,y=ko(Math.sqrt(c/d)),x=Math.abs(v)<5;s||(s=x?Ss.restSpeed.granular:Ss.restSpeed.default),i||(i=x?Ss.restDelta.granular:Ss.restDelta.default);let E;if(g<1){const T=NS(y,g);E=S=>{const k=Math.exp(-g*y*S);return a-k*((p+g*y*v)/T*Math.sin(T*S)+v*Math.cos(T*S))}}else if(g===1)E=T=>a-Math.exp(-y*T)*(v+(p+y*v)*T);else{const T=y*Math.sqrt(g*g-1);E=S=>{const k=Math.exp(-g*y*S),A=Math.min(T*S,300);return a-k*((p+g*y*v)*Math.sinh(A)+T*v*Math.cosh(A))/T}}const w={calculatedDuration:m&&f||null,next:T=>{const S=E(T);if(m)l.done=T>=f;else{let k=0;g<1&&(k=T===0?No(p):R6(E,T,S));const A=Math.abs(k)<=s,C=Math.abs(a-S)<=i;l.done=A&&C}return l.value=l.done?a:S,l},toString:()=>{const T=Math.min(A6(w),_S),S=n6(k=>w.next(T*k).value,T,30);return T+"ms "+S}};return w}function II({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:a,min:l,max:c,restDelta:u=.5,restSpeed:d}){const f=e[0],h={done:!1,value:f},m=A=>l!==void 0&&Ac,p=A=>l===void 0?c:c===void 0||Math.abs(l-A)-g*Math.exp(-A/s),E=A=>y+x(A),w=A=>{const C=x(A),R=E(A);h.done=Math.abs(C)<=u,h.value=h.done?y:R};let T,S;const k=A=>{m(h.value)&&(T=A,S=O6({keyframes:[h.value,p(h.value)],velocity:R6(E,A,h.value),damping:i,stiffness:r,restDelta:u,restSpeed:d}))};return k(0),{calculatedDuration:null,next:A=>{let C=!1;return!S&&T===void 0&&(C=!0,w(A),k(A)),T!==void 0&&A>=T?S.next(A-T):(!C&&w(A),h)}}}const DW=zp(.42,0,1,1),PW=zp(0,0,.58,1),j6=zp(.42,0,.58,1),BW=e=>Array.isArray(e)&&typeof e[0]!="number",UW={linear:Tr,easeIn:DW,easeInOut:j6,easeOut:PW,circIn:PN,circInOut:f6,circOut:d6,backIn:DN,backInOut:c6,backOut:l6,anticipate:u6},RI=e=>{if(LN(e)){O5(e.length===4);const[t,n,s,i]=e;return zp(t,n,s,i)}else if(typeof e=="string")return UW[e];return e};function FW(e,t,n){const s=[],i=n||I6,r=e.length-1;for(let a=0;at[0];if(r===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[r-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=FW(t,s,i),c=l.length,u=d=>{if(a&&d1)for(;fu(Do(e[0],e[r-1],d)):u}function HW(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const i=Zd(0,t,s);e.push(xs(n,1,i))}}function zW(e){const t=[0];return HW(t,e.length-1),t}function VW(e,t){return e.map(n=>n*t)}function GW(e,t){return e.map(()=>t||j6).splice(0,e.length-1)}function dy({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const i=BW(s)?s.map(RI):RI(s),r={done:!1,value:t[0]},a=VW(n&&n.length===t.length?n:zW(t),e),l=$W(a,t,{ease:Array.isArray(i)?i:GW(t,i)});return{calculatedDuration:e,next:c=>(r.value=l(c),r.done=c>=e,r)}}const KW=e=>{const t=({timestamp:n})=>e(n);return{start:()=>ns.update(t,!0),stop:()=>$l(t),now:()=>fi.isProcessing?fi.timestamp:za.now()}},qW={decay:II,inertia:II,tween:dy,keyframes:dy,spring:O6},YW=e=>e/100;class zN extends k6{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:c}=this.options;c&&c()};const{name:n,motionValue:s,element:i,keyframes:r}=this.options,a=(i==null?void 0:i.KeyframeResolver)||$N,l=(c,u)=>this.onKeyframesResolved(c,u);this.resolver=new a(r,l,n,s,i),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:n="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:r,velocity:a=0}=this.options,l=MN(n)?n:qW[n]||dy;let c,u;l!==dy&&typeof t[0]!="number"&&(c=Vp(YW,I6(t[0],t[1])),t=[0,100]);const d=l({...this.options,keyframes:t});r==="mirror"&&(u=l({...this.options,keyframes:[...t].reverse(),velocity:-a})),d.calculatedDuration===null&&(d.calculatedDuration=A6(d));const{calculatedDuration:f}=d,h=f+i,m=h*(s+1)-i;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:c,calculatedDuration:f,resolvedDuration:h,totalDuration:m}}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:s}=this;if(!s){const{keyframes:A}=this.options;return{done:!0,value:A[A.length-1]}}const{finalKeyframe:i,generator:r,mirroredGenerator:a,mapPercentToKeyframes:l,keyframes:c,calculatedDuration:u,totalDuration:d,resolvedDuration:f}=s;if(this.startTime===null)return r.next(0);const{delay:h,repeat:m,repeatType:p,repeatDelay:g,onUpdate:v}=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 y=this.currentTime-h*(this.speed>=0?1:-1),x=this.speed>=0?y<0:y>d;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let E=this.currentTime,w=r;if(m){const A=Math.min(this.currentTime,d)/f;let C=Math.floor(A),R=A%1;!R&&A>=1&&(R=1),R===1&&C--,C=Math.min(C,m+1),!!(C%2)&&(p==="reverse"?(R=1-R,g&&(R-=g/f)):p==="mirror"&&(w=a)),E=Do(0,1,R)*f}const T=x?{done:!1,value:c[0]}:w.next(E);l&&(T.value=l(T.value));let{done:S}=T;!x&&u!==null&&(S=this.speed>=0?this.currentTime>=d:this.currentTime<=0);const k=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&S);return k&&i!==void 0&&(T.value=T1(c,this.options,i)),v&&v(T.value),k&&this.finish(),T}get duration(){const{resolved:t}=this;return t?ko(t.calculatedDuration):0}get time(){return ko(this.currentTime)}set time(t){t=No(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=ko(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=KW,onPlay:n,startTime:s}=this.options;this.driver||(this.driver=t(r=>this.tick(r))),n&&n();const i=this.driver.now();this.holdTime!==null?this.startTime=i-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=i):this.startTime=s??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 WW=new Set(["opacity","clipPath","filter","transform"]);function XW(e,t,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:a="loop",ease:l="easeInOut",times:c}={}){const u={[t]:n};c&&(u.offset=c);const d=i6(l,i);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:s,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:r+1,direction:a==="reverse"?"alternate":"normal"})}const QW=jN(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),fy=10,ZW=2e4;function JW(e){return MN(e.type)||e.type==="spring"||!s6(e.ease)}function eX(e,t){const n=new zN({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let s={done:!1,value:e[0]};const i=[];let r=0;for(;!s.done&&rthis.onKeyframesResolved(a,l),n,s,i),this.resolver.scheduleResolve()}initPlayback(t,n){let{duration:s=300,times:i,ease:r,type:a,motionValue:l,name:c,startTime:u}=this.options;if(!l.owner||!l.owner.current)return!1;if(typeof r=="string"&&cy()&&tX(r)&&(r=M6[r]),JW(this.options)){const{onComplete:f,onUpdate:h,motionValue:m,element:p,...g}=this.options,v=eX(t,g);t=v.keyframes,t.length===1&&(t[1]=t[0]),s=v.duration,i=v.times,r=v.ease,a="keyframes"}const d=XW(l.owner.current,c,t,{...this.options,duration:s,times:i,ease:r});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?(EI(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:f}=this.options;l.set(T1(t,this.options,n)),f&&f(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:s,times:i,type:a,ease:r,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:n}=t;return ko(n)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:n}=t;return ko(n.currentTime||0)}set time(t){const{resolved:n}=this;if(!n)return;const{animation:s}=n;s.currentTime=No(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:s}=n;s.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 Tr;const{animation:s}=n;EI(s,t)}return Tr}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:s,duration:i,type:r,ease:a,times:l}=t;if(n.playState==="idle"||n.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:f,element:h,...m}=this.options,p=new zN({...m,keyframes:s,duration:i,type:r,ease:a,times:l,isGenerator:!0}),g=No(this.time);u.setWithVelocity(p.sample(g-fy).value,p.sample(g).value,fy)}const{onStop:c}=this.options;c&&c(),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:s,repeatDelay:i,repeatType:r,damping:a,type:l}=t;if(!n||!n.owner||!(n.owner.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=n.owner.getProps();return QW()&&s&&WW.has(s)&&!c&&!u&&!i&&r!=="mirror"&&a!==0&&l!=="inertia"}}const nX={type:"spring",stiffness:500,damping:25,restSpeed:10},sX=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),iX={type:"keyframes",duration:.8},rX={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},aX=(e,{keyframes:t})=>t.length>2?iX:ru.has(e)?e.startsWith("scale")?sX(t[1]):nX:rX;function oX({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:a,repeatDelay:l,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const VN=(e,t,n,s={},i,r)=>a=>{const l=CN(s,e)||{},c=l.delay||s.delay||0;let{elapsed:u=0}=s;u=u-No(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-u,onUpdate:h=>{t.set(h),l.onUpdate&&l.onUpdate(h)},onComplete:()=>{a(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:r?void 0:i};oX(l)||(d={...d,...aX(e,d)}),d.duration&&(d.duration=No(d.duration)),d.repeatDelay&&(d.repeatDelay=No(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&&!r&&t.get()!==void 0){const h=T1(d.keyframes,l);if(h!==void 0)return ns.update(()=>{d.onUpdate(h),d.onComplete()}),new UY([])}return!r&&OI.supports(d)?new OI(d):new zN(d)};function lX({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function L6(e,t,{delay:n=0,transitionOverride:s,type:i}={}){var r;let{transition:a=e.getDefaultTransition(),transitionEnd:l,...c}=t;s&&(a=s);const u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const f in c){const h=e.getValue(f,(r=e.latestValues[f])!==null&&r!==void 0?r:null),m=c[f];if(m===void 0||d&&lX(d,f))continue;const p={delay:n,...CN(a||{},f)};let g=!1;if(window.MotionHandoffAnimation){const y=t6(e);if(y){const x=window.MotionHandoffAnimation(y,f,ns);x!==null&&(p.startTime=x,g=!0)}}yS(e,f),h.start(VN(f,h,m,e.shouldReduceMotion&&J5.has(f)?{type:!1}:p,e,g));const v=h.animation;v&&u.push(v)}return l&&Promise.all(u).then(()=>{ns.update(()=>{l&&LY(e,l)})}),u}function kS(e,t,n={}){var s;const i=_1(e,t,n.type==="exit"?(s=e.presenceContext)===null||s===void 0?void 0:s.custom:void 0);let{transition:r=e.getDefaultTransition()||{}}=i||{};n.transitionOverride&&(r=n.transitionOverride);const a=i?()=>Promise.all(L6(e,i,n)):()=>Promise.resolve(),l=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:f,staggerDirection:h}=r;return cX(e,t,d+u,f,h,n)}:()=>Promise.resolve(),{when:c}=r;if(c){const[u,d]=c==="beforeChildren"?[a,l]:[l,a];return u().then(()=>d())}else return Promise.all([a(),l(n.delay)])}function cX(e,t,n=0,s=0,i=1,r){const a=[],l=(e.variantChildren.size-1)*s,c=i===1?(u=0)=>u*s:(u=0)=>l-u*s;return Array.from(e.variantChildren).sort(uX).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(kS(u,t,{...r,delay:n+c(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function uX(e,t){return e.sortNodePosition(t)}function dX(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const i=t.map(r=>kS(e,r,n));s=Promise.all(i)}else if(typeof t=="string")s=kS(e,t,n);else{const i=typeof t=="function"?_1(e,t,n.custom):t;s=Promise.all(L6(e,i,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}const fX=bN.length;function D6(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?D6(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:s})=>dX(e,n,s)))}function gX(e){let t=pX(e),n=jI(),s=!0;const i=c=>(u,d)=>{var f;const h=_1(e,d,c==="exit"?(f=e.presenceContext)===null||f===void 0?void 0:f.custom:void 0);if(h){const{transition:m,transitionEnd:p,...g}=h;u={...u,...g,...p}}return u};function r(c){t=c(e)}function a(c){const{props:u}=e,d=D6(e.parent)||{},f=[],h=new Set;let m={},p=1/0;for(let v=0;vp&&w,C=!1;const R=Array.isArray(E)?E:[E];let M=R.reduce(i(y),{});T===!1&&(M={});const{prevResolvedValues:L={}}=x,G={...L,...M},D=O=>{A=!0,h.has(O)&&(C=!0,h.delete(O)),x.needsAnimating[O]=!0;const P=e.getValue(O);P&&(P.liveStyle=!1)};for(const O in G){const P=M[O],$=L[O];if(m.hasOwnProperty(O))continue;let I=!1;bS(P)&&bS($)?I=!Z5(P,$):I=P!==$,I?P!=null?D(O):h.add(O):P!==void 0&&h.has(O)?D(O):x.protectedKeys[O]=!0}x.prevProp=E,x.prevResolvedValues=M,x.isActive&&(m={...m,...M}),s&&e.blockInitialAnimation&&(A=!1),A&&(!(S&&k)||C)&&f.push(...R.map(O=>({animation:O,options:{type:y}})))}if(h.size){const v={};h.forEach(y=>{const x=e.getBaseTarget(y),E=e.getValue(y);E&&(E.liveStyle=!0),v[y]=x??null}),f.push({animation:v})}let g=!!f.length;return s&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(g=!1),s=!1,g?t(f):Promise.resolve()}function l(c,u){var d;if(n[c].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var m;return(m=h.animationState)===null||m===void 0?void 0:m.setActive(c,u)}),n[c].isActive=u;const f=a(c);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:a,setActive:l,setAnimateFunction:r,getState:()=>n,reset:()=>{n=jI(),s=!0}}}function bX(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Z5(t,e):!1}function ic(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function jI(){return{animate:ic(!0),whileInView:ic(),whileHover:ic(),whileTap:ic(),whileDrag:ic(),whileFocus:ic(),exit:ic()}}class Wl{constructor(t){this.isMounted=!1,this.node=t}update(){}}class yX extends Wl{constructor(t){super(t),t.animationState||(t.animationState=gX(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();w1(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 xX=0;class EX extends Wl{constructor(){super(...arguments),this.id=xX++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===s)return;const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const vX={animation:{Feature:yX},exit:{Feature:EX}},oa={x:!1,y:!1};function P6(){return oa.x||oa.y}function wX(e){return e==="x"||e==="y"?oa[e]?null:(oa[e]=!0,()=>{oa[e]=!1}):oa.x||oa.y?null:(oa.x=oa.y=!0,()=>{oa.x=oa.y=!1})}const GN=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function ip(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}function Gp(e){return{point:{x:e.pageX,y:e.pageY}}}const SX=e=>t=>GN(t)&&e(t,Gp(t));function ym(e,t,n,s){return ip(e,t,SX(n),s)}const MI=(e,t)=>Math.abs(e-t);function _X(e,t){const n=MI(e.x,t.x),s=MI(e.y,t.y);return Math.sqrt(n**2+s**2)}class B6{constructor(t,n,{transformPagePoint:s,contextWindow:i,dragSnapToOrigin:r=!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=WE(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,m=_X(f.offset,{x:0,y:0})>=3;if(!h&&!m)return;const{point:p}=f,{timestamp:g}=fi;this.history.push({...p,timestamp:g});const{onStart:v,onMove:y}=this.handlers;h||(v&&v(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),y&&y(this.lastMoveEvent,f)},this.handlePointerMove=(f,h)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=YE(h,this.transformPagePoint),ns.update(this.updatePoint,!0)},this.handlePointerUp=(f,h)=>{this.end();const{onEnd:m,onSessionEnd:p,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const v=WE(f.type==="pointercancel"?this.lastMoveEventInfo:YE(h,this.transformPagePoint),this.history);this.startEvent&&m&&m(f,v),p&&p(f,v)},!GN(t))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.contextWindow=i||window;const a=Gp(t),l=YE(a,this.transformPagePoint),{point:c}=l,{timestamp:u}=fi;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,WE(l,this.history)),this.removeListeners=Vp(ym(this.contextWindow,"pointermove",this.handlePointerMove),ym(this.contextWindow,"pointerup",this.handlePointerUp),ym(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),$l(this.updatePoint)}}function YE(e,t){return t?{point:t(e.point)}:e}function LI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function WE({point:e},t){return{point:e,delta:LI(e,U6(t)),offset:LI(e,TX(t)),velocity:NX(t,.1)}}function TX(e){return e[0]}function U6(e){return e[e.length-1]}function NX(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const i=U6(e);for(;n>=0&&(s=e[n],!(i.timestamp-s.timestamp>No(t)));)n--;if(!s)return{x:0,y:0};const r=ko(i.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const a={x:(i.x-s.x)/r,y:(i.y-s.y)/r};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}const F6=1e-4,kX=1-F6,AX=1+F6,$6=.01,CX=0-$6,IX=0+$6;function Cr(e){return e.max-e.min}function RX(e,t,n){return Math.abs(e-t)<=n}function DI(e,t,n,s=.5){e.origin=s,e.originPoint=xs(t.min,t.max,e.origin),e.scale=Cr(n)/Cr(t),e.translate=xs(n.min,n.max,e.origin)-e.originPoint,(e.scale>=kX&&e.scale<=AX||isNaN(e.scale))&&(e.scale=1),(e.translate>=CX&&e.translate<=IX||isNaN(e.translate))&&(e.translate=0)}function xm(e,t,n,s){DI(e.x,t.x,n.x,s?s.originX:void 0),DI(e.y,t.y,n.y,s?s.originY:void 0)}function PI(e,t,n){e.min=n.min+t.min,e.max=e.min+Cr(t)}function OX(e,t,n){PI(e.x,t.x,n.x),PI(e.y,t.y,n.y)}function BI(e,t,n){e.min=t.min-n.min,e.max=e.min+Cr(t)}function Em(e,t,n){BI(e.x,t.x,n.x),BI(e.y,t.y,n.y)}function jX(e,{min:t,max:n},s){return t!==void 0&&en&&(e=s?xs(n,e,s.max):Math.min(e,n)),e}function UI(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 MX(e,{top:t,left:n,bottom:s,right:i}){return{x:UI(e.x,n,i),y:UI(e.y,t,s)}}function FI(e,t){let n=t.min-e.min,s=t.max-e.max;return t.max-t.mins?n=Zd(t.min,t.max-s,e.min):s>i&&(n=Zd(e.min,e.max-i,t.min)),Do(0,1,n)}function PX(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 AS=.35;function BX(e=AS){return e===!1?e=0:e===!0&&(e=AS),{x:$I(e,"left","right"),y:$I(e,"top","bottom")}}function $I(e,t,n){return{min:HI(e,t),max:HI(e,n)}}function HI(e,t){return typeof e=="number"?e:e[t]||0}const zI=()=>({translate:0,scale:1,origin:0,originPoint:0}),ud=()=>({x:zI(),y:zI()}),VI=()=>({min:0,max:0}),Ns=()=>({x:VI(),y:VI()});function Lr(e){return[e("x"),e("y")]}function H6({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function UX({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function FX(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function XE(e){return e===void 0||e===1}function CS({scale:e,scaleX:t,scaleY:n}){return!XE(e)||!XE(t)||!XE(n)}function dc(e){return CS(e)||z6(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function z6(e){return GI(e.x)||GI(e.y)}function GI(e){return e&&e!=="0%"}function hy(e,t,n){const s=e-n,i=t*s;return n+i}function KI(e,t,n,s,i){return i!==void 0&&(e=hy(e,i,s)),hy(e,n,s)+t}function IS(e,t=0,n=1,s,i){e.min=KI(e.min,t,n,s,i),e.max=KI(e.max,t,n,s,i)}function V6(e,{x:t,y:n}){IS(e.x,t.translate,t.scale,t.originPoint),IS(e.y,n.translate,n.scale,n.originPoint)}const qI=.999999999999,YI=1.0000000000001;function $X(e,t,n,s=!1){const i=n.length;if(!i)return;t.x=t.y=1;let r,a;for(let l=0;lqI&&(t.x=1),t.yqI&&(t.y=1)}function dd(e,t){e.min=e.min+t,e.max=e.max+t}function WI(e,t,n,s,i=.5){const r=xs(e.min,e.max,i);IS(e,t,n,r,s)}function fd(e,t){WI(e.x,t.x,t.scaleX,t.scale,t.originX),WI(e.y,t.y,t.scaleY,t.scale,t.originY)}function G6(e,t){return H6(FX(e.getBoundingClientRect(),t))}function HX(e,t,n){const s=G6(e,n),{scroll:i}=t;return i&&(dd(s.x,i.offset.x),dd(s.y,i.offset.y)),s}const K6=({current:e})=>e?e.ownerDocument.defaultView:null,zX=new WeakMap;class VX{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=Ns(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const i=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Gp(d).point)},r=(d,f)=>{const{drag:h,dragPropagation:m,onDragStart:p}=this.getProps();if(h&&!m&&(this.openDragLock&&this.openDragLock(),this.openDragLock=wX(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),Lr(v=>{let y=this.getAxisMotionValue(v).get()||0;if(Ha.test(y)){const{projection:x}=this.visualElement;if(x&&x.layout){const E=x.layout.layoutBox[v];E&&(y=Cr(E)*(parseFloat(y)/100))}}this.originPoint[v]=y}),p&&ns.postRender(()=>p(d,f)),yS(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},a=(d,f)=>{const{dragPropagation:h,dragDirectionLock:m,onDirectionLock:p,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:v}=f;if(m&&this.currentDirection===null){this.currentDirection=GX(v),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",f.point,v),this.updateAxis("y",f.point,v),this.visualElement.render(),g&&g(d,f)},l=(d,f)=>this.stop(d,f),c=()=>Lr(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 B6(t,{onSessionStart:i,onStart:r,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:K6(this.visualElement)})}stop(t,n){const s=this.isDragging;if(this.cancel(),!s)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:r}=this.getProps();r&&ns.postRender(()=>r(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:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,s){const{drag:i}=this.getProps();if(!s||!i0(t,i,this.currentDirection))return;const r=this.getAxisMotionValue(t);let a=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(a=jX(a,this.constraints[t],this.elastic[t])),r.set(a)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:s}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,r=this.constraints;n&&ld(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&i?this.constraints=MX(i.layoutBox,n):this.constraints=!1,this.elastic=BX(s),r!==this.constraints&&i&&this.constraints&&!this.hasMutatedConstraints&&Lr(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=PX(i.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!ld(t))return!1;const s=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=HX(s,i.root,this.visualElement.getTransformPagePoint());let a=LX(i.layout.layoutBox,r);if(n){const l=n(UX(a));this.hasMutatedConstraints=!!l,l&&(a=H6(l))}return a}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:r,dragSnapToOrigin:a,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},u=Lr(d=>{if(!i0(d,n,this.currentDirection))return;let f=c&&c[d]||{};a&&(f={min:0,max:0});const h=i?200:1e6,m=i?40:1e7,p={type:"inertia",velocity:s?t[d]:0,bounceStiffness:h,bounceDamping:m,timeConstant:750,restDelta:1,restSpeed:10,...r,...f};return this.startAxisValueAnimation(d,p)});return Promise.all(u).then(l)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return yS(this.visualElement,t),s.start(VN(t,s,0,n,this.visualElement,!1))}stopAnimation(){Lr(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Lr(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()}`,s=this.visualElement.getProps(),i=s[n];return i||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){Lr(n=>{const{drag:s}=this.getProps();if(!i0(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:l}=i.layout.layoutBox[n];r.set(t[n]-xs(a,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!ld(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Lr(a=>{const l=this.getAxisMotionValue(a);if(l&&this.constraints!==!1){const c=l.get();i[a]=DX({min:c,max:c},this.constraints[a])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Lr(a=>{if(!i0(a,t,null))return;const l=this.getAxisMotionValue(a),{min:c,max:u}=this.constraints[a];l.set(xs(c,u,i[a]))})}addListeners(){if(!this.visualElement.current)return;zX.set(this.visualElement,this);const t=this.visualElement.current,n=ym(t,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(c)}),s=()=>{const{dragConstraints:c}=this.getProps();ld(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,r=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),ns.read(s);const a=ip(window,"resize",()=>this.scalePositionWithinConstraints()),l=i.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(Lr(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=c[d].translate,f.set(f.get()+c[d].translate))}),this.visualElement.render())});return()=>{a(),n(),r(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:a=AS,dragMomentum:l=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:r,dragElastic:a,dragMomentum:l}}}function i0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function GX(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class KX extends Wl{constructor(t){super(t),this.removeGroupControls=Tr,this.removeListeners=Tr,this.controls=new VX(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Tr}unmount(){this.removeGroupControls(),this.removeListeners()}}const XI=e=>(t,n)=>{e&&ns.postRender(()=>e(t,n))};class qX extends Wl{constructor(){super(...arguments),this.removePointerDownListener=Tr}onPointerDown(t){this.session=new B6(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:K6(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:XI(t),onStart:XI(n),onMove:s,onEnd:(r,a)=>{delete this.session,i&&ns.postRender(()=>i(r,a))}}}mount(){this.removePointerDownListener=ym(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 ab={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function QI(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const vh={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Et.test(e))e=parseFloat(e);else return e;const n=QI(e,t.target.x),s=QI(e,t.target.y);return`${n}% ${s}%`}},YX={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,i=Hl.parse(e);if(i.length>5)return s;const r=Hl.createTransformer(e),a=typeof i[0]!="number"?1:0,l=n.x.scale*t.x,c=n.y.scale*t.y;i[0+a]/=l,i[1+a]/=c;const u=xs(l,c,.5);return typeof i[2+a]=="number"&&(i[2+a]/=u),typeof i[3+a]=="number"&&(i[3+a]/=u),r(i)}};class WX extends b.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:r}=t;vY(XX),r&&(n.group&&n.group.add(r),s&&s.register&&i&&s.register(r),r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),ab.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:i,isPresent:r}=this.props,a=s.projection;return a&&(a.isPresent=r,i||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?a.promote():a.relegate()||ns.postRender(()=>{const l=a.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),xN.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function q6(e){const[t,n]=I5(),s=b.useContext(mN);return o.jsx(WX,{...e,layoutGroup:s,switchLayoutGroup:b.useContext(U5),isPresent:t,safeToRemove:n})}const XX={borderRadius:{...vh,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:vh,borderTopRightRadius:vh,borderBottomLeftRadius:vh,borderBottomRightRadius:vh,boxShadow:YX};function QX(e,t,n){const s=ki(e)?e:np(e);return s.start(VN("",s,t,n)),s.animation}function ZX(e){return e instanceof SVGElement&&e.tagName!=="svg"}const JX=(e,t)=>e.depth-t.depth;class eQ{constructor(){this.children=[],this.isDirty=!1}add(t){IN(this.children,t),this.isDirty=!0}remove(t){RN(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(JX),this.isDirty=!1,this.children.forEach(t)}}function tQ(e,t){const n=za.now(),s=({timestamp:i})=>{const r=i-n;r>=t&&($l(s),e(r-t))};return ns.read(s,!0),()=>$l(s)}const Y6=["TopLeft","TopRight","BottomLeft","BottomRight"],nQ=Y6.length,ZI=e=>typeof e=="string"?parseFloat(e):e,JI=e=>typeof e=="number"||Et.test(e);function sQ(e,t,n,s,i,r){i?(e.opacity=xs(0,n.opacity!==void 0?n.opacity:1,iQ(s)),e.opacityExit=xs(t.opacity!==void 0?t.opacity:1,0,rQ(s))):r&&(e.opacity=xs(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,s));for(let a=0;ast?1:n(Zd(e,t,s))}function tR(e,t){e.min=t.min,e.max=t.max}function Mr(e,t){tR(e.x,t.x),tR(e.y,t.y)}function nR(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function sR(e,t,n,s,i){return e-=t,e=hy(e,1/n,s),i!==void 0&&(e=hy(e,1/i,s)),e}function aQ(e,t=0,n=1,s=.5,i,r=e,a=e){if(Ha.test(t)&&(t=parseFloat(t),t=xs(a.min,a.max,t/100)-a.min),typeof t!="number")return;let l=xs(r.min,r.max,s);e===r&&(l-=t),e.min=sR(e.min,t,n,l,i),e.max=sR(e.max,t,n,l,i)}function iR(e,t,[n,s,i],r,a){aQ(e,t[n],t[s],t[i],t.scale,r,a)}const oQ=["x","scaleX","originX"],lQ=["y","scaleY","originY"];function rR(e,t,n,s){iR(e.x,t,oQ,n?n.x:void 0,s?s.x:void 0),iR(e.y,t,lQ,n?n.y:void 0,s?s.y:void 0)}function aR(e){return e.translate===0&&e.scale===1}function X6(e){return aR(e.x)&&aR(e.y)}function oR(e,t){return e.min===t.min&&e.max===t.max}function cQ(e,t){return oR(e.x,t.x)&&oR(e.y,t.y)}function lR(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Q6(e,t){return lR(e.x,t.x)&&lR(e.y,t.y)}function cR(e){return Cr(e.x)/Cr(e.y)}function uR(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class uQ{constructor(){this.members=[]}add(t){IN(this.members,t),t.scheduleRender()}remove(t){if(RN(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(i=>t===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const r=this.members[i];if(r.isPresent!==!1){s=r;break}}return s?(this.promote(s),!0):!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.instance&&s.scheduleRender(),t.scheduleRender(),t.resumeFrom=s,n&&(t.resumeFrom.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:s}=t;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function dQ(e,t,n){let s="";const i=e.x.translate/t.x,r=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((i||r||a)&&(s=`translate3d(${i}px, ${r}px, ${a}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:f,rotateY:h,skewX:m,skewY:p}=n;u&&(s=`perspective(${u}px) ${s}`),d&&(s+=`rotate(${d}deg) `),f&&(s+=`rotateX(${f}deg) `),h&&(s+=`rotateY(${h}deg) `),m&&(s+=`skewX(${m}deg) `),p&&(s+=`skewY(${p}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(s+=`scale(${l}, ${c})`),s||"none"}const fc={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Vh=typeof window<"u"&&window.MotionDebug!==void 0,QE=["","X","Y","Z"],fQ={visibility:"hidden"},dR=1e3;let hQ=0;function ZE(e,t,n,s){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),s&&(s[e]=0))}function Z6(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=t6(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",ns,!(i||r))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&Z6(s)}function J6({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(a={},l=t==null?void 0:t()){this.id=hQ++,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,Vh&&(fc.totalNodes=fc.resolvedTargetDeltas=fc.recalculatedProjection=0),this.nodes.forEach(gQ),this.nodes.forEach(vQ),this.nodes.forEach(wQ),this.nodes.forEach(bQ),Vh&&window.MotionDebug.record(fc)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;cthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=tQ(h,250),ab.hasAnimatedSinceResize&&(ab.hasAnimatedSinceResize=!1,this.nodes.forEach(hR))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&d&&(c||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:m,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||kQ,{onLayoutAnimationStart:v,onLayoutAnimationComplete:y}=d.getProps(),x=!this.targetLayout||!Q6(this.targetLayout,p)||m,E=!h&&m;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||E||h&&(x||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,E);const w={...CN(g,"layout"),onPlay:v,onComplete:y};(d.shouldReduceMotion||this.options.layoutRoot)&&(w.delay=0,w.type=!1),this.startAnimation(w)}else h||hR(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}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,$l(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(SQ),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&&Z6(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 c=0;c{const T=w/1e3;mR(f.x,a.x,T),mR(f.y,a.y,T),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Em(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),TQ(this.relativeTarget,this.relativeTargetOrigin,h,T),E&&cQ(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=Ns()),Mr(E,this.relativeTarget)),g&&(this.animationValues=d,sQ(d,u,this.latestValues,T,x,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=T},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&&($l(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ns.update(()=>{ab.hasAnimatedSinceResize=!0,this.currentAnimation=QX(0,dR,{...a,onUpdate:l=>{this.mixTargetDelta(l),a.onUpdate&&a.onUpdate(l)},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(dR),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:l,target:c,layout:u,latestValues:d}=a;if(!(!l||!c||!u)){if(this!==a&&this.layout&&u&&eP(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||Ns();const f=Cr(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+f;const h=Cr(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+h}Mr(l,c),fd(l,d),xm(this.projectionDeltaWithTransform,this.layoutCorrected,l,d)}}registerSharedNode(a,l){this.sharedNodes.has(a)||this.sharedNodes.set(a,new uQ),this.sharedNodes.get(a).add(l);const u=l.options.initialPromotionConfig;l.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(l):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:l}=this.options;return l?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:l}=this.options;return l?(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:l,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let l=!1;const{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const u={};c.z&&ZE("z",a,u,this.animationValues);for(let d=0;d{var l;return(l=a.currentAnimation)===null||l===void 0?void 0:l.stop()}),this.root.nodes.forEach(fR),this.root.sharedNodes.clear()}}}function mQ(e){e.updateLayout()}function pQ(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:s,measuredBox:i}=e.layout,{animationType:r}=e.options,a=n.source!==e.layout.source;r==="size"?Lr(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],m=Cr(h);h.min=s[f].min,h.max=h.min+m}):eP(r,n.layoutBox,s)&&Lr(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],m=Cr(s[f]);h.max=h.min+m,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+m)});const l=ud();xm(l,s,n.layoutBox);const c=ud();a?xm(c,e.applyTransform(i,!0),n.measuredBox):xm(c,s,n.layoutBox);const u=!X6(l);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:m}=f;if(h&&m){const p=Ns();Em(p,n.layoutBox,h.layoutBox);const g=Ns();Em(g,s,m.layoutBox),Q6(p,g)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=p,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:s,snapshot:n,delta:c,layoutDelta:l,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:s}=e.options;s&&s()}e.options.transition=void 0}function gQ(e){Vh&&fc.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 bQ(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function yQ(e){e.clearSnapshot()}function fR(e){e.clearMeasurements()}function xQ(e){e.isLayoutDirty=!1}function EQ(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function hR(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function vQ(e){e.resolveTargetDelta()}function wQ(e){e.calcProjection()}function SQ(e){e.resetSkewAndRotation()}function _Q(e){e.removeLeadSnapshot()}function mR(e,t,n){e.translate=xs(t.translate,0,n),e.scale=xs(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function pR(e,t,n,s){e.min=xs(t.min,n.min,s),e.max=xs(t.max,n.max,s)}function TQ(e,t,n,s){pR(e.x,t.x,n.x,s),pR(e.y,t.y,n.y,s)}function NQ(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const kQ={duration:.45,ease:[.4,0,.1,1]},gR=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),bR=gR("applewebkit/")&&!gR("chrome/")?Math.round:Tr;function yR(e){e.min=bR(e.min),e.max=bR(e.max)}function AQ(e){yR(e.x),yR(e.y)}function eP(e,t,n){return e==="position"||e==="preserve-aspect"&&!RX(cR(t),cR(n),.2)}function CQ(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const IQ=J6({attachResizeListener:(e,t)=>ip(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),JE={current:void 0},tP=J6({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!JE.current){const e=new IQ({});e.mount(window),e.setOptions({layoutScroll:!0}),JE.current=e}return JE.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),RQ={pan:{Feature:qX},drag:{Feature:KX,ProjectionNode:tP,MeasureLayout:q6}};function OQ(e,t,n){var s;if(e instanceof Element)return[e];if(typeof e=="string"){let i=document;const r=(s=void 0)!==null&&s!==void 0?s:i.querySelectorAll(e);return r?Array.from(r):[]}return Array.from(e)}function nP(e,t){const n=OQ(e),s=new AbortController,i={passive:!0,...t,signal:s.signal};return[n,i,()=>s.abort()]}function xR(e){return t=>{t.pointerType==="touch"||P6()||e(t)}}function jQ(e,t,n={}){const[s,i,r]=nP(e,n),a=xR(l=>{const{target:c}=l,u=t(l);if(typeof u!="function"||!c)return;const d=xR(f=>{u(f),c.removeEventListener("pointerleave",d)});c.addEventListener("pointerleave",d,i)});return s.forEach(l=>{l.addEventListener("pointerenter",a,i)}),r}function ER(e,t,n){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=s[i];r&&ns.postRender(()=>r(t,Gp(t)))}class MQ extends Wl{mount(){const{current:t}=this.node;t&&(this.unmount=jQ(t,n=>(ER(this.node,n,"Start"),s=>ER(this.node,s,"End"))))}unmount(){}}class LQ extends Wl{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=Vp(ip(this.node.current,"focus",()=>this.onFocus()),ip(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const sP=(e,t)=>t?e===t?!0:sP(e,t.parentElement):!1,DQ=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function PQ(e){return DQ.has(e.tagName)||e.tabIndex!==-1}const Gh=new WeakSet;function vR(e){return t=>{t.key==="Enter"&&e(t)}}function ev(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const BQ=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=vR(()=>{if(Gh.has(n))return;ev(n,"down");const i=vR(()=>{ev(n,"up")}),r=()=>ev(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",r,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function wR(e){return GN(e)&&!P6()}function UQ(e,t,n={}){const[s,i,r]=nP(e,n),a=l=>{const c=l.currentTarget;if(!wR(l)||Gh.has(c))return;Gh.add(c);const u=t(l),d=(m,p)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),!(!wR(m)||!Gh.has(c))&&(Gh.delete(c),typeof u=="function"&&u(m,{success:p}))},f=m=>{d(m,n.useGlobalTarget||sP(c,m.target))},h=m=>{d(m,!1)};window.addEventListener("pointerup",f,i),window.addEventListener("pointercancel",h,i)};return s.forEach(l=>{!PQ(l)&&l.getAttribute("tabindex")===null&&(l.tabIndex=0),(n.useGlobalTarget?window:l).addEventListener("pointerdown",a,i),l.addEventListener("focus",u=>BQ(u,i),i)}),r}function SR(e,t,n){const{props:s}=e;e.animationState&&s.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=s[i];r&&ns.postRender(()=>r(t,Gp(t)))}class FQ extends Wl{mount(){const{current:t}=this.node;t&&(this.unmount=UQ(t,n=>(SR(this.node,n,"Start"),(s,{success:i})=>SR(this.node,s,i?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const RS=new WeakMap,tv=new WeakMap,$Q=e=>{const t=RS.get(e.target);t&&t(e)},HQ=e=>{e.forEach($Q)};function zQ({root:e,...t}){const n=e||document;tv.has(n)||tv.set(n,{});const s=tv.get(n),i=JSON.stringify(t);return s[i]||(s[i]=new IntersectionObserver(HQ,{root:e,...t})),s[i]}function VQ(e,t,n){const s=zQ(t);return RS.set(e,n),s.observe(e),()=>{RS.delete(e),s.unobserve(e)}}const GQ={some:0,all:1};class KQ extends Wl{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:r}=t,a={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:GQ[i]},l=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,r&&!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(c)};return VQ(this.node.current,a,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(qQ(t,n))&&this.startObserver()}unmount(){}}function qQ({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const YQ={inView:{Feature:KQ},tap:{Feature:FQ},focus:{Feature:LQ},hover:{Feature:MQ}},WQ={layout:{ProjectionNode:tP,MeasureLayout:q6}},OS={current:null},iP={current:!1};function XQ(){if(iP.current=!0,!!pN)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>OS.current=e.matches;e.addListener(t),t()}else OS.current=!1}const QQ=[...T6,Ti,Hl],ZQ=e=>QQ.find(_6(e)),_R=new WeakMap;function JQ(e,t,n){for(const s in t){const i=t[s],r=n[s];if(ki(i))e.addValue(s,i);else if(ki(r))e.addValue(s,np(i,{owner:e}));else if(r!==i)if(e.hasValue(s)){const a=e.getValue(s);a.liveStyle===!0?a.jump(i):a.hasAnimated||a.set(i)}else{const a=e.getStaticValue(s);e.addValue(s,np(a!==void 0?a:i,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const TR=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class eZ{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:i,blockInitialAnimation:r,visualState:a},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=$N,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 m=za.now();this.renderScheduledAtthis.bindToMotionValue(s,n)),iP.current||XQ(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:OS.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){_R.delete(this.current),this.projection&&this.projection.unmount(),$l(this.notifyUpdate),$l(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 s=ru.has(t),i=n.on("change",l=>{this.latestValues[t]=l,this.props.onUpdate&&ns.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0)}),r=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),r(),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 Qd){const n=Qd[t];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[t]&&i&&s(this.props)&&(this.features[t]=new i(this)),this.features[t]){const r=this.features[t];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Ns()}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 s=0;sn.variantChildren.delete(t)}addValue(t,n){const s=this.values.get(t);n!==s&&(s&&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 s=this.values.get(t);return s===void 0&&n!==void 0&&(s=np(n===null?void 0:n,{owner:this}),this.addValue(t,s)),s}readValue(t,n){var s;let i=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(s=this.getBaseTargetFromProps(this.props,t))!==null&&s!==void 0?s:this.readValueFromInstance(this.current,t,this.options);return i!=null&&(typeof i=="string"&&(w6(i)||h6(i))?i=parseFloat(i):!ZQ(i)&&Hl.test(n)&&(i=x6(t,n)),this.setBaseTarget(t,ki(i)?i.get():i)),ki(i)?i.get():i}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:s}=this.props;let i;if(typeof s=="string"||typeof s=="object"){const a=vN(this.props,s,(n=this.presenceContext)===null||n===void 0?void 0:n.custom);a&&(i=a[t])}if(s&&i!==void 0)return i;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!ki(r)?r:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new ON),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class rP extends eZ{constructor(){super(...arguments),this.KeyframeResolver=N6}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:s}){delete n[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;ki(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function tZ(e){return window.getComputedStyle(e)}class nZ extends rP{constructor(){super(...arguments),this.type="html",this.renderInstance=K5}readValueFromInstance(t,n){if(ru.has(n)){const s=FN(n);return s&&s.default||0}else{const s=tZ(t),i=(z5(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return G6(t,n)}build(t,n,s){_N(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return AN(t,n,s)}}class sZ extends rP{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Ns}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(ru.has(n)){const s=FN(n);return s&&s.default||0}return n=q5.has(n)?n:yN(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return X5(t,n,s)}build(t,n,s){TN(t,n,this.isSVGTag,s.transformTemplate)}renderInstance(t,n,s,i){Y5(t,n,s,i)}mount(t){this.isSVGTag=kN(t.tagName),super.mount(t)}}const iZ=(e,t)=>EN(e)?new sZ(t):new nZ(t,{allowProjection:e!==b.Fragment}),rZ=IY({...vX,...YQ,...RQ,...WQ},iZ),es=Gq(rZ);function Js(){return Js=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||/ServerSideRendering/.test(navigator&&navigator.userAgent)?b.useEffect:b.useLayoutEffect;function zu(e,t,n){var s=b.useRef(t);s.current=t,b.useEffect(function(){function i(r){s.current(r)}return e&&window.addEventListener(e,i,n),function(){e&&window.removeEventListener(e,i)}},[e])}var aZ=["container"];function oZ(e){var t=e.container,n=t===void 0?document.body:t,s=N1(e,aZ);return xi.createPortal(Lt.createElement("div",Js({},s)),n)}function lZ(e){return Lt.createElement("svg",Js({width:"44",height:"44",viewBox:"0 0 768 768"},e),Lt.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 cZ(e){return Lt.createElement("svg",Js({width:"44",height:"44",viewBox:"0 0 768 768"},e),Lt.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 uZ(e){return Lt.createElement("svg",Js({width:"44",height:"44",viewBox:"0 0 768 768"},e),Lt.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function dZ(){return b.useEffect(function(){var e=document.body.style,t=e.overflow;return e.overflow="hidden",function(){e.overflow=t}},[]),null}function kR(e){var t=e.touches[0],n=t.clientX,s=t.clientY;if(e.touches.length>=2){var i=e.touches[1],r=i.clientX,a=i.clientY;return[(n+r)/2,(s+a)/2,Math.sqrt(Math.pow(r-n,2)+Math.pow(a-s,2))]}return[n,s,0]}var dl=function(e,t,n,s){var i,r=n*t,a=(r-s)/2,l=e;return r<=s?(i=1,l=0):e>0&&a-e<=0?(i=2,l=a):e<0&&a+e<=0&&(i=3,l=-a),[i,l]};function nv(e,t,n,s,i,r,a,l,c,u){a===void 0&&(a=innerWidth/2),l===void 0&&(l=innerHeight/2),c===void 0&&(c=0),u===void 0&&(u=0);var d=dl(e,r,n,innerWidth)[0],f=dl(t,r,s,innerHeight),h=innerWidth/2,m=innerHeight/2;return{x:a-r/i*(a-(h+e))-h+(s/n>=3&&n*r===innerWidth?0:d?c/2:c),y:l-r/i*(l-(m+t))-m+(f[0]?u/2:u),lastCX:a,lastCY:l}}function LS(e,t,n){var s=e%180!=0;return s?[n,t,s]:[t,n,s]}function sv(e,t,n){var s=LS(n,innerWidth,innerHeight),i=s[0],r=s[1],a=0,l=i,c=r,u=e/t*r,d=t/e*i;return e=r?l=u:e>=i&&ti/r?c=d:t/e>=3&&!s[2]?a=((c=d)-r)/2:l=u,{width:l,height:c,x:0,y:a,pause:!0}}function a0(e,t){var n=t.leading,s=n!==void 0&&n,i=t.maxWait,r=t.wait,a=r===void 0?i||0:r,l=b.useRef(e);l.current=e;var c=b.useRef(0),u=b.useRef(),d=function(){return u.current&&clearTimeout(u.current)},f=b.useCallback(function(){var h=[].slice.call(arguments),m=Date.now();function p(){c.current=m,d(),l.current.apply(null,h)}var g=c.current,v=m-g;if(g===0&&(s&&p(),c.current=m),i!==void 0){if(v>i)return void p()}else v=1&&r&&r())};d()}function d(){c=requestAnimationFrame(u)}}var hZ={T:0,L:0,W:0,H:0,FIT:void 0},oP=function(){var e=b.useRef(!1);return b.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),e},mZ=["className"];function pZ(e){var t=e.className,n=t===void 0?"":t,s=N1(e,mZ);return Lt.createElement("div",Js({className:"PhotoView__Spinner "+n},s),Lt.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},Lt.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"}),Lt.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var gZ=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function bZ(e){var t=e.src,n=e.loaded,s=e.broken,i=e.className,r=e.onPhotoLoad,a=e.loadingElement,l=e.brokenElement,c=N1(e,gZ),u=oP();return t&&!s?Lt.createElement(Lt.Fragment,null,Lt.createElement("img",Js({className:"PhotoView__Photo"+(i?" "+i:""),src:t,onLoad:function(d){var f=d.target;u.current&&r({loaded:!0,naturalWidth:f.naturalWidth,naturalHeight:f.naturalHeight})},onError:function(){u.current&&r({broken:!0})},draggable:!1,alt:""},c)),!n&&(a?Lt.createElement("span",{className:"PhotoView__icon"},a):Lt.createElement(pZ,{className:"PhotoView__icon"}))):l?Lt.createElement("span",{className:"PhotoView__icon"},typeof l=="function"?l({src:t}):l):null}var yZ={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 xZ(e){var t=e.item,n=t.src,s=t.render,i=t.width,r=i===void 0?0:i,a=t.height,l=a===void 0?0:a,c=t.originRef,u=e.visible,d=e.speed,f=e.easing,h=e.wrapClassName,m=e.className,p=e.style,g=e.loadingElement,v=e.brokenElement,y=e.onPhotoTap,x=e.onMaskTap,E=e.onReachMove,w=e.onReachUp,T=e.onPhotoResize,S=e.isActive,k=e.expose,A=my(yZ),C=A[0],R=A[1],M=b.useRef(0),L=oP(),G=C.naturalWidth,D=G===void 0?r:G,F=C.naturalHeight,N=F===void 0?l:F,O=C.width,P=O===void 0?r:O,$=C.height,I=$===void 0?l:$,q=C.loaded,Q=q===void 0?!n:q,B=C.broken,ee=C.x,z=C.y,K=C.touched,se=C.stopRaf,W=C.maskTouched,de=C.rotate,ye=C.scale,we=C.CX,ue=C.CY,he=C.lastX,Re=C.lastY,pe=C.lastCX,oe=C.lastCY,Te=C.lastScale,xe=C.touchTime,Xe=C.touchLength,Me=C.pause,ze=C.reach,_e=Ic({onScale:function(Ee){return Pe(r0(Ee))},onRotate:function(Ee){de!==Ee&&(k({rotate:Ee}),R(Js({rotate:Ee},sv(D,N,Ee))))}});function Pe(Ee,Qe,kt){ye!==Ee&&(k({scale:Ee}),R(Js({scale:Ee},nv(ee,z,P,I,ye,Ee,Qe,kt),Ee<=1&&{x:0,y:0})))}var Fe=a0(function(Ee,Qe,kt){if(kt===void 0&&(kt=0),(K||W)&&S){var nn=LS(de,P,I),Kt=nn[0],Xt=nn[1];if(kt===0&&M.current===0){var Vt=Math.abs(Ee-we)<=20,Qt=Math.abs(Qe-ue)<=20;if(Vt&&Qt)return void R({lastCX:Ee,lastCY:Qe});M.current=Vt?Qe>ue?3:2:1}var Rt,Bt=Ee-pe,qn=Qe-oe;if(kt===0){var qs=dl(Bt+he,ye,Kt,innerWidth)[0],Ys=dl(qn+Re,ye,Xt,innerHeight);Rt=function(Fn,rn,Sn,hs){return rn&&Fn===1||hs==="x"?"x":Sn&&Fn>1||hs==="y"?"y":void 0}(M.current,qs,Ys[0],ze),Rt!==void 0&&E(Rt,Ee,Qe,ye)}if(Rt==="x"||W)return void R({reach:"x"});var Un=r0(ye+(kt-Xe)/100/2*ye,D/P,.2);k({scale:Un}),R(Js({touchLength:kt,reach:Rt,scale:Un},nv(ee,z,P,I,ye,Un,Ee,Qe,Bt,qn)))}},{maxWait:8});function Ke(Ee){return!se&&!K&&(L.current&&R(Js({},Ee,{pause:u})),L.current)}var X,ae,te,ge,Ue,Ye,xt,at,fn=(Ue=function(Ee){return Ke({x:Ee})},Ye=function(Ee){return Ke({y:Ee})},xt=function(Ee){return L.current&&(k({scale:Ee}),R({scale:Ee})),!K&&L.current},at=Ic({X:function(Ee){return Ue(Ee)},Y:function(Ee){return Ye(Ee)},S:function(Ee){return xt(Ee)}}),function(Ee,Qe,kt,nn,Kt,Xt,Vt,Qt,Rt,Bt,qn){var qs=LS(Bt,Kt,Xt),Ys=qs[0],Un=qs[1],Fn=dl(Ee,Qt,Ys,innerWidth),rn=Fn[0],Sn=Fn[1],hs=dl(Qe,Qt,Un,innerHeight),js=hs[0],vi=hs[1],is=Date.now()-qn;if(is>=200||Qt!==Vt||Math.abs(Rt-Vt)>1){var ms=nv(Ee,Qe,Kt,Xt,Vt,Qt),Rn=ms.x,$n=ms.y,un=rn?Sn:Rn!==Ee?Rn:null,me=js?vi:$n!==Qe?$n:null;return un!==null&&bc(Ee,un,at.X),me!==null&&bc(Qe,me,at.Y),void(Qt!==Vt&&bc(Vt,Qt,at.S))}var De=(Ee-kt)/is,Ae=(Qe-nn)/is,Je=Math.sqrt(Math.pow(De,2)+Math.pow(Ae,2)),ut=!1,pt=!1;(function(Ot,jt){var bt,_n=Ot,Le=0,ot=0,dt=function(Ki){bt||(bt=Ki);var ps=Ki-bt,ur=Math.sign(Ot),ji=-.001*ur,Yn=Math.sign(-_n)*Math.pow(_n,2)*2e-4,Ms=_n*ps+(ji+Yn)*Math.pow(ps,2)/2;Le+=Ms,bt=Ki,ur*(_n+=(ji+Yn)*ps)<=0?bn():jt(Le)?On():bn()};function On(){ot=requestAnimationFrame(dt)}function bn(){cancelAnimationFrame(ot)}On()})(Je,function(Ot){var jt=Ee+Ot*(De/Je),bt=Qe+Ot*(Ae/Je),_n=dl(jt,Vt,Ys,innerWidth),Le=_n[0],ot=_n[1],dt=dl(bt,Vt,Un,innerHeight),On=dt[0],bn=dt[1];if(Le&&!ut&&(ut=!0,rn?bc(jt,ot,at.X):AR(ot,jt+(jt-ot),at.X)),On&&!pt&&(pt=!0,js?bc(bt,bn,at.Y):AR(bn,bt+(bt-bn),at.Y)),ut&&pt)return!1;var Ki=ut||at.X(ot),ps=pt||at.Y(bn);return Ki&&ps})}),vt=(X=y,ae=function(Ee,Qe){ze||Pe(ye!==1?1:Math.max(2,D/P),Ee,Qe)},te=b.useRef(0),ge=a0(function(){te.current=0,X.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var Ee=[].slice.call(arguments);te.current+=1,ge.apply(void 0,Ee),te.current>=2&&(ge.cancel(),te.current=0,ae.apply(void 0,Ee))});function it(Ee,Qe){if(M.current=0,(K||W)&&S){R({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var kt=r0(ye,D/P);if(fn(ee,z,he,Re,P,I,ye,kt,Te,de,xe),w(Ee,Qe),we===Ee&&ue===Qe){if(K)return void vt(Ee,Qe);W&&x(Ee,Qe)}}}function Ht(Ee,Qe,kt){kt===void 0&&(kt=0),R({touched:!0,CX:Ee,CY:Qe,lastCX:Ee,lastCY:Qe,lastX:ee,lastY:z,lastScale:ye,touchLength:kt,touchTime:Date.now()})}function qe(Ee){R({maskTouched:!0,CX:Ee.clientX,CY:Ee.clientY,lastX:ee,lastY:z})}zu(fo?void 0:"mousemove",function(Ee){Ee.preventDefault(),Fe(Ee.clientX,Ee.clientY)}),zu(fo?void 0:"mouseup",function(Ee){it(Ee.clientX,Ee.clientY)}),zu(fo?"touchmove":void 0,function(Ee){Ee.preventDefault();var Qe=kR(Ee);Fe.apply(void 0,Qe)},{passive:!1}),zu(fo?"touchend":void 0,function(Ee){var Qe=Ee.changedTouches[0];it(Qe.clientX,Qe.clientY)},{passive:!1}),zu("resize",a0(function(){Q&&!K&&(R(sv(D,N,de)),T())},{maxWait:8})),MS(function(){S&&k(Js({scale:ye,rotate:de},_e))},[S]);var zt=function(Ee,Qe,kt,nn,Kt,Xt,Vt,Qt,Rt,Bt){var qn=function(Rn,$n,un,me,De){var Ae=b.useRef(!1),Je=my({lead:!0,scale:un}),ut=Je[0],pt=ut.lead,Ot=ut.scale,jt=Je[1],bt=a0(function(_n){try{return De(!0),jt({lead:!1,scale:_n}),Promise.resolve()}catch(Le){return Promise.reject(Le)}},{wait:me});return MS(function(){Ae.current?(De(!1),jt({lead:!0}),bt(un)):Ae.current=!0},[un]),pt?[Rn*Ot,$n*Ot,un/Ot]:[Rn*un,$n*un,1]}(Xt,Vt,Qt,Rt,Bt),qs=qn[0],Ys=qn[1],Un=qn[2],Fn=function(Rn,$n,un,me,De){var Ae=b.useState(hZ),Je=Ae[0],ut=Ae[1],pt=b.useState(0),Ot=pt[0],jt=pt[1],bt=b.useRef(),_n=Ic({OK:function(){return Rn&&jt(4)}});function Le(ot){De(!1),jt(ot)}return b.useEffect(function(){if(bt.current||(bt.current=Date.now()),un){if(function(ot,dt){var On=ot&&ot.current;if(On&&On.nodeType===1){var bn=On.getBoundingClientRect();dt({T:bn.top,L:bn.left,W:bn.width,H:bn.height,FIT:On.tagName==="IMG"?getComputedStyle(On).objectFit:void 0})}}($n,ut),Rn)return Date.now()-bt.current<250?(jt(1),requestAnimationFrame(function(){jt(2),requestAnimationFrame(function(){return Le(3)})}),void setTimeout(_n.OK,me)):void jt(4);Le(5)}},[Rn,un]),[Ot,Je]}(Ee,Qe,kt,Rt,Bt),rn=Fn[0],Sn=Fn[1],hs=Sn.W,js=Sn.FIT,vi=innerWidth/2,is=innerHeight/2,ms=rn<3||rn>4;return[ms?hs?Sn.L:vi:nn+(vi-Xt*Qt/2),ms?hs?Sn.T:is:Kt+(is-Vt*Qt/2),qs,ms&&js?qs*(Sn.H/hs):Ys,rn===0?Un:ms?hs/(Xt*Qt)||.01:Un,ms?js?1:0:1,rn,js]}(u,c,Q,ee,z,P,I,ye,d,function(Ee){return R({pause:Ee})}),st=zt[4],St=zt[6],$e="transform "+d+"ms "+f,Tt={className:m,onMouseDown:fo?void 0:function(Ee){Ee.stopPropagation(),Ee.button===0&&Ht(Ee.clientX,Ee.clientY,0)},onTouchStart:fo?function(Ee){Ee.stopPropagation(),Ht.apply(void 0,kR(Ee))}:void 0,onWheel:function(Ee){if(!ze){var Qe=r0(ye-Ee.deltaY/100/2,D/P);R({stopRaf:!0}),Pe(Qe,Ee.clientX,Ee.clientY)}},style:{width:zt[2]+"px",height:zt[3]+"px",opacity:zt[5],objectFit:St===4?void 0:zt[7],transform:de?"rotate("+de+"deg)":void 0,transition:St>2?$e+", opacity "+d+"ms ease, height "+(St<4?d/2:St>4?d:0)+"ms "+f:void 0}};return Lt.createElement("div",{className:"PhotoView__PhotoWrap"+(h?" "+h:""),style:p,onMouseDown:!fo&&S?qe:void 0,onTouchStart:fo&&S?function(Ee){return qe(Ee.touches[0])}:void 0},Lt.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+st+", 0, 0, "+st+", "+zt[0]+", "+zt[1]+")",transition:K||Me?void 0:$e,willChange:S?"transform":void 0}},n?Lt.createElement(bZ,Js({src:n,loaded:Q,broken:B},Tt,{onPhotoLoad:function(Ee){R(Js({},Ee,Ee.loaded&&sv(Ee.naturalWidth||0,Ee.naturalHeight||0,de)))},loadingElement:g,brokenElement:v})):s&&s({attrs:Tt,scale:st,rotate:de})))}var CR={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 EZ(e){var t=e.loop,n=t===void 0?3:t,s=e.speed,i=e.easing,r=e.photoClosable,a=e.maskClosable,l=a===void 0||a,c=e.maskOpacity,u=c===void 0?1:c,d=e.pullClosable,f=d===void 0||d,h=e.bannerVisible,m=h===void 0||h,p=e.overlayRender,g=e.toolbarRender,v=e.className,y=e.maskClassName,x=e.photoClassName,E=e.photoWrapClassName,w=e.loadingElement,T=e.brokenElement,S=e.images,k=e.index,A=k===void 0?0:k,C=e.onIndexChange,R=e.visible,M=e.onClose,L=e.afterClose,G=e.portalContainer,D=my(CR),F=D[0],N=D[1],O=b.useState(0),P=O[0],$=O[1],I=F.x,q=F.touched,Q=F.pause,B=F.lastCX,ee=F.lastCY,z=F.bg,K=z===void 0?u:z,se=F.lastBg,W=F.overlay,de=F.minimal,ye=F.scale,we=F.rotate,ue=F.onScale,he=F.onRotate,Re=e.hasOwnProperty("index"),pe=Re?A:P,oe=Re?C:$,Te=b.useRef(pe),xe=S.length,Xe=S[pe],Me=typeof n=="boolean"?n:xe>n,ze=function(st,St){var $e=b.useReducer(function(kt){return!kt},!1)[1],Tt=b.useRef(0),Ee=function(kt){var nn=b.useRef(kt);function Kt(Xt){nn.current=Xt}return b.useMemo(function(){(function(Xt){st?(Xt(st),Tt.current=1):Tt.current=2})(Kt)},[kt]),[nn.current,Kt]}(st),Qe=Ee[1];return[Ee[0],Tt.current,function(){$e(),Tt.current===2&&(Qe(!1),St&&St()),Tt.current=0}]}(R,L),_e=ze[0],Pe=ze[1],Fe=ze[2];MS(function(){if(_e)return N({pause:!0,x:pe*-(innerWidth+Au)}),void(Te.current=pe);N(CR)},[_e]);var Ke=Ic({close:function(st){he&&he(0),N({overlay:!0,lastBg:K}),M(st)},changeIndex:function(st,St){St===void 0&&(St=!1);var $e=Me?Te.current+(st-pe):st,Tt=xe-1,Ee=jS($e,0,Tt),Qe=Me?$e:Ee,kt=innerWidth+Au;N({touched:!1,lastCX:void 0,lastCY:void 0,x:-kt*Qe,pause:St}),Te.current=Qe,oe&&oe(Me?st<0?Tt:st>Tt?0:st:Ee)}}),X=Ke.close,ae=Ke.changeIndex;function te(st){return st?X():N({overlay:!W})}function ge(){N({x:-(innerWidth+Au)*pe,lastCX:void 0,lastCY:void 0,pause:!0}),Te.current=pe}function Ue(st,St,$e,Tt){st==="x"?function(Ee){if(B!==void 0){var Qe=Ee-B,kt=Qe;!Me&&(pe===0&&Qe>0||pe===xe-1&&Qe<0)&&(kt=Qe/2),N({touched:!0,lastCX:B,x:-(innerWidth+Au)*Te.current+kt,pause:!1})}else N({touched:!0,lastCX:Ee,x:I,pause:!1})}(St):st==="y"&&function(Ee,Qe){if(ee!==void 0){var kt=u===null?null:jS(u,.01,u-Math.abs(Ee-ee)/100/4);N({touched:!0,lastCY:ee,bg:Qe===1?kt:u,minimal:Qe===1})}else N({touched:!0,lastCY:Ee,bg:K,minimal:!0})}($e,Tt)}function Ye(st,St){var $e=st-(B??st),Tt=St-(ee??St),Ee=!1;if($e<-40)ae(pe+1);else if($e>40)ae(pe-1);else{var Qe=-(innerWidth+Au)*Te.current;Math.abs(Tt)>100&&de&&f&&(Ee=!0,X()),N({touched:!1,x:Qe,lastCX:void 0,lastCY:void 0,bg:u,overlay:!!Ee||W})}}zu("keydown",function(st){if(R)switch(st.key){case"ArrowLeft":ae(pe-1,!0);break;case"ArrowRight":ae(pe+1,!0);break;case"Escape":X()}});var xt=function(st,St,$e){return b.useMemo(function(){var Tt=st.length;return $e?st.concat(st).concat(st).slice(Tt+St-1,Tt+St+2):st.slice(Math.max(St-1,0),Math.min(St+2,Tt+1))},[st,St,$e])}(S,pe,Me);if(!_e)return null;var at=W&&!Pe,fn=R?K:se,vt=ue&&he&&{images:S,index:pe,visible:R,onClose:X,onIndexChange:ae,overlayVisible:at,overlay:Xe&&Xe.overlay,scale:ye,rotate:we,onScale:ue,onRotate:he},it=s?s(Pe):400,Ht=i?i(Pe):NR,qe=s?s(3):600,zt=i?i(3):NR;return Lt.createElement(oZ,{className:"PhotoView-Portal"+(at?"":" PhotoView-Slider__clean")+(R?"":" PhotoView-Slider__willClose")+(v?" "+v:""),role:"dialog",onClick:function(st){return st.stopPropagation()},container:G},R&&Lt.createElement(dZ,null),Lt.createElement("div",{className:"PhotoView-Slider__Backdrop"+(y?" "+y:"")+(Pe===1?" PhotoView-Slider__fadeIn":Pe===2?" PhotoView-Slider__fadeOut":""),style:{background:fn?"rgba(0, 0, 0, "+fn+")":void 0,transitionTimingFunction:Ht,transitionDuration:(q?0:it)+"ms",animationDuration:it+"ms"},onAnimationEnd:Fe}),m&&Lt.createElement("div",{className:"PhotoView-Slider__BannerWrap"},Lt.createElement("div",{className:"PhotoView-Slider__Counter"},pe+1," / ",xe),Lt.createElement("div",{className:"PhotoView-Slider__BannerRight"},g&&vt&&g(vt),Lt.createElement(lZ,{className:"PhotoView-Slider__toolbarIcon",onClick:X}))),xt.map(function(st,St){var $e=Me||pe!==0?Te.current-1+St:pe+St;return Lt.createElement(xZ,{key:Me?st.key+"/"+st.src+"/"+$e:st.key,item:st,speed:it,easing:Ht,visible:R,onReachMove:Ue,onReachUp:Ye,onPhotoTap:function(){return te(r)},onMaskTap:function(){return te(l)},wrapClassName:E,className:x,style:{left:(innerWidth+Au)*$e+"px",transform:"translate3d("+I+"px, 0px, 0)",transition:q||Q?void 0:"transform "+qe+"ms "+zt},loadingElement:w,brokenElement:T,onPhotoResize:ge,isActive:Te.current===$e,expose:N})}),!fo&&m&&Lt.createElement(Lt.Fragment,null,(Me||pe!==0)&&Lt.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return ae(pe-1,!0)}},Lt.createElement(cZ,null)),(Me||pe+1-1){var y=u.slice();return y.splice(v,1,g),void l({images:y})}l(function(x){return{images:x.images.concat(g)}})},remove:function(g){l(function(v){var y=v.images.filter(function(x){return x.key!==g});return{images:y,index:Math.min(y.length-1,f)}})},show:function(g){var v=u.findIndex(function(y){return y.key===g});l({visible:!0,index:v}),s&&s(!0,v,a)}}),m=Ic({close:function(){l({visible:!1}),s&&s(!1,f,a)},changeIndex:function(g){l({index:g}),n&&n(g,a)}}),p=b.useMemo(function(){return Js({},a,h)},[a,h]);return Lt.createElement(aP.Provider,{value:p},t,Lt.createElement(EZ,Js({images:u,visible:d,index:f,onIndexChange:m.changeIndex,onClose:m.close},i)))}var lP=function(e){var t,n,s=e.src,i=e.render,r=e.overlay,a=e.width,l=e.height,c=e.triggers,u=c===void 0?["onClick"]:c,d=e.children,f=b.useContext(aP),h=(t=function(){return f.nextId()},(n=b.useRef({sign:!1,fn:void 0}).current).sign||(n.sign=!0,n.fn=t()),n.fn),m=b.useRef(null);b.useImperativeHandle(d==null?void 0:d.ref,function(){return m.current}),b.useEffect(function(){return function(){f.remove(h)}},[]);var p=Ic({render:function(v){return i&&i(v)},show:function(v,y){f.show(h),function(x,E){if(d){var w=d.props[x];w&&w(E)}}(v,y)}}),g=b.useMemo(function(){var v={};return u.forEach(function(y){v[y]=p.show.bind(null,y)}),v},[]);return b.useEffect(function(){f.update({key:h,src:s,originRef:m,render:p.render,overlay:r,width:a,height:l})},[s]),d?b.Children.only(b.cloneElement(d,Js({},g,{ref:m}))):null};/** + `),()=>{document.head.removeChild(d)}},[t]),o.jsx(Hq,{isPresent:t,childRef:s,sizeRef:i,children:b.cloneElement(e,{ref:s})})}const Vq=({children:e,initial:t,isPresent:n,onExitComplete:s,custom:i,presenceAffectsLayout:r,mode:a})=>{const l=E1(Gq),c=b.useId(),u=b.useCallback(f=>{l.set(f,!0);for(const h of l.values())if(!h)return;s&&s()},[l,s]),d=b.useMemo(()=>({id:c,initial:t,isPresent:n,custom:i,onExitComplete:u,register:f=>(l.set(f,!1),()=>l.delete(f))}),r?[Math.random(),u]:[n,u]);return b.useMemo(()=>{l.forEach((f,h)=>l.set(h,!1))},[n]),b.useEffect(()=>{!n&&!l.size&&s&&s()},[n]),a==="popLayout"&&(e=o.jsx(zq,{isPresent:n,children:e})),o.jsx(v1.Provider,{value:d,children:e})};function Gq(){return new Map}function L5(e=!0){const t=b.useContext(v1);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:s,register:i}=t,r=b.useId();b.useEffect(()=>{e&&i(r)},[e]);const a=b.useCallback(()=>e&&s&&s(r),[r,s,e]);return!n&&s?[!1,a]:[!0]}const n0=e=>e.key||"";function mI(e){const t=[];return b.Children.forEach(e,n=>{b.isValidElement(n)&&t.push(n)}),t}const yN=typeof window<"u",D5=yN?b.useLayoutEffect:b.useEffect,Eo=({children:e,custom:t,initial:n=!0,onExitComplete:s,presenceAffectsLayout:i=!0,mode:r="sync",propagate:a=!1})=>{const[l,c]=L5(a),u=b.useMemo(()=>mI(e),[e]),d=a&&!l?[]:u.map(n0),f=b.useRef(!0),h=b.useRef(u),m=E1(()=>new Map),[p,g]=b.useState(u),[v,y]=b.useState(u);D5(()=>{f.current=!1,h.current=u;for(let w=0;w{const T=n0(w),S=a&&!l?!1:u===v||d.includes(T),N=()=>{if(m.has(T))m.set(T,!0);else return;let A=!0;m.forEach(C=>{C||(A=!1)}),A&&(E==null||E(),y(h.current),a&&(c==null||c()),s&&s())};return o.jsx(Vq,{isPresent:S,initial:!f.current||n?void 0:!1,custom:S?void 0:t,presenceAffectsLayout:i,mode:r,onExitComplete:S?void 0:N,children:w},T)})})},Tr=e=>e;let P5=Tr;const Kq={useManualTiming:!1};function qq(e){let t=new Set,n=new Set,s=!1,i=!1;const r=new WeakSet;let a={delta:0,timestamp:0,isProcessing:!1};function l(u){r.has(u)&&(c.schedule(u),e()),u(a)}const c={schedule:(u,d=!1,f=!1)=>{const m=f&&s?t:n;return d&&r.add(u),m.has(u)||m.add(u),u},cancel:u=>{n.delete(u),r.delete(u)},process:u=>{if(a=u,s){i=!0;return}s=!0,[t,n]=[n,t],t.forEach(l),t.clear(),s=!1,i&&(i=!1,c.process(u))}};return c}const s0=["read","resolveKeyframes","update","preRender","render","postRender"],Yq=40;function B5(e,t){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,a=s0.reduce((y,x)=>(y[x]=qq(r),y),{}),{read:l,resolveKeyframes:c,update:u,preRender:d,render:f,postRender:h}=a,m=()=>{const y=performance.now();n=!1,i.delta=s?1e3/60:Math.max(Math.min(y-i.timestamp,Yq),1),i.timestamp=y,i.isProcessing=!0,l.process(i),c.process(i),u.process(i),d.process(i),f.process(i),h.process(i),i.isProcessing=!1,n&&t&&(s=!1,e(m))},p=()=>{n=!0,s=!0,i.isProcessing||e(m)};return{schedule:s0.reduce((y,x)=>{const E=a[x];return y[x]=(w,T=!1,S=!1)=>(n||p(),E.schedule(w,T,S)),y},{}),cancel:y=>{for(let x=0;xpI[e].some(n=>!!t[n])};function Wq(e){for(const t in e)Qd[t]={...Qd[t],...e[t]}}const Xq=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 ly(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Xq.has(e)}let F5=e=>!ly(e);function $5(e){e&&(F5=t=>t.startsWith("on")?!ly(t):e(t))}try{$5(require("@emotion/is-prop-valid").default)}catch{}function Qq(e,t,n){const s={};for(const i in e)i==="values"&&typeof e.values=="object"||(F5(i)||n===!0&&ly(i)||!t&&!ly(i)||e.draggable&&i.startsWith("onDrag"))&&(s[i]=e[i]);return s}function Zq({children:e,isValidProp:t,...n}){t&&$5(t),n={...b.useContext(ep),...n},n.isStatic=E1(()=>n.isStatic);const s=b.useMemo(()=>n,[JSON.stringify(n.transition),n.transformPagePoint,n.reducedMotion]);return o.jsx(ep.Provider,{value:s,children:e})}function Jq(e){if(typeof Proxy>"u")return e;const t=new Map,n=(...s)=>e(...s);return new Proxy(n,{get:(s,i)=>i==="create"?e:(t.has(i)||t.set(i,e(i)),t.get(i))})}const w1=b.createContext({});function tp(e){return typeof e=="string"||Array.isArray(e)}function S1(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}const xN=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],EN=["initial",...xN];function _1(e){return S1(e.animate)||EN.some(t=>tp(e[t]))}function H5(e){return!!(_1(e)||e.variants)}function eY(e,t){if(_1(e)){const{initial:n,animate:s}=e;return{initial:n===!1||tp(n)?n:void 0,animate:tp(s)?s:void 0}}return e.inherit!==!1?t:{}}function tY(e){const{initial:t,animate:n}=eY(e,b.useContext(w1));return b.useMemo(()=>({initial:t,animate:n}),[gI(t),gI(n)])}function gI(e){return Array.isArray(e)?e.join(" "):e}const nY=Symbol.for("motionComponentSymbol");function ld(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function sY(e,t,n){return b.useCallback(s=>{s&&e.onMount&&e.onMount(s),t&&(s?t.mount(s):t.unmount()),n&&(typeof n=="function"?n(s):ld(n)&&(n.current=s))},[t])}const vN=e=>e.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),iY="framerAppearId",z5="data-"+vN(iY),{schedule:wN}=B5(queueMicrotask,!1),V5=b.createContext({});function rY(e,t,n,s,i){var r,a;const{visualElement:l}=b.useContext(w1),c=b.useContext(U5),u=b.useContext(v1),d=b.useContext(ep).reducedMotion,f=b.useRef(null);s=s||c.renderer,!f.current&&s&&(f.current=s(e,{visualState:t,parent:l,props:n,presenceContext:u,blockInitialAnimation:u?u.initial===!1:!1,reducedMotionConfig:d}));const h=f.current,m=b.useContext(V5);h&&!h.projection&&i&&(h.type==="html"||h.type==="svg")&&aY(f.current,n,i,m);const p=b.useRef(!1);b.useInsertionEffect(()=>{h&&p.current&&h.update(n,u)});const g=n[z5],v=b.useRef(!!g&&!(!((r=window.MotionHandoffIsComplete)===null||r===void 0)&&r.call(window,g))&&((a=window.MotionHasOptimisedAnimation)===null||a===void 0?void 0:a.call(window,g)));return D5(()=>{h&&(p.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),wN.render(h.render),v.current&&h.animationState&&h.animationState.animateChanges())}),b.useEffect(()=>{h&&(!v.current&&h.animationState&&h.animationState.animateChanges(),v.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)===null||y===void 0||y.call(window,g)}),v.current=!1))}),h}function aY(e,t,n,s){const{layoutId:i,layout:r,drag:a,dragConstraints:l,layoutScroll:c,layoutRoot:u}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:G5(e.parent)),e.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!a||l&&ld(l),visualElement:e,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,layoutScroll:c,layoutRoot:u})}function G5(e){if(e)return e.options.allowProjection!==!1?e.projection:G5(e.parent)}function oY({preloadedFeatures:e,createVisualElement:t,useRender:n,useVisualState:s,Component:i}){var r,a;e&&Wq(e);function l(u,d){let f;const h={...b.useContext(ep),...u,layoutId:lY(u)},{isStatic:m}=h,p=tY(u),g=s(u,m);if(!m&&yN){cY();const v=uY(h);f=v.MeasureLayout,p.visualElement=rY(i,g,h,t,v.ProjectionNode)}return o.jsxs(w1.Provider,{value:p,children:[f&&p.visualElement?o.jsx(f,{visualElement:p.visualElement,...h}):null,n(i,u,sY(g,p.visualElement,d),g,m,p.visualElement)]})}l.displayName=`motion.${typeof i=="string"?i:`create(${(a=(r=i.displayName)!==null&&r!==void 0?r:i.name)!==null&&a!==void 0?a:""})`}`;const c=b.forwardRef(l);return c[nY]=i,c}function lY({layoutId:e}){const t=b.useContext(bN).id;return t&&e!==void 0?t+"-"+e:e}function cY(e,t){b.useContext(U5).strict}function uY(e){const{drag:t,layout:n}=Qd;if(!t&&!n)return{};const s={...t,...n};return{MeasureLayout:t!=null&&t.isEnabled(e)||n!=null&&n.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}const dY=["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 SN(e){return typeof e!="string"||e.includes("-")?!1:!!(dY.indexOf(e)>-1||/[A-Z]/u.test(e))}function bI(e){const t=[{},{}];return e==null||e.values.forEach((n,s)=>{t[0][s]=n.get(),t[1][s]=n.getVelocity()}),t}function _N(e,t,n,s){if(typeof t=="function"){const[i,r]=bI(s);t=t(n!==void 0?n:e.custom,i,r)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,r]=bI(s);t=t(n!==void 0?n:e.custom,i,r)}return t}const ES=e=>Array.isArray(e),fY=e=>!!(e&&typeof e=="object"&&e.mix&&e.toValue),hY=e=>ES(e)?e[e.length-1]||0:e,Ii=e=>!!(e&&e.getVelocity);function rb(e){const t=Ii(e)?e.get():e;return fY(t)?t.toValue():t}function mY({scrapeMotionValuesFromProps:e,createRenderState:t,onUpdate:n},s,i,r){const a={latestValues:pY(s,i,r,e),renderState:t()};return n&&(a.onMount=l=>n({props:s,current:l,...a}),a.onUpdate=l=>n(l)),a}const K5=e=>(t,n)=>{const s=b.useContext(w1),i=b.useContext(v1),r=()=>mY(e,t,s,i);return n?r():E1(r)};function pY(e,t,n,s){const i={},r=s(e,{});for(const h in r)i[h]=rb(r[h]);let{initial:a,animate:l}=e;const c=_1(e),u=H5(e);t&&u&&!c&&e.inherit!==!1&&(a===void 0&&(a=t.initial),l===void 0&&(l=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const f=d?l:a;if(f&&typeof f!="boolean"&&!S1(f)){const h=Array.isArray(f)?f:[f];for(let m=0;mt=>typeof t=="string"&&t.startsWith(e),Y5=q5("--"),gY=q5("var(--"),TN=e=>gY(e)?bY.test(e.split("/*")[0].trim()):!1,bY=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,W5=(e,t)=>t&&typeof e=="number"?t.transform(e):e,Do=(e,t,n)=>n>t?t:ntypeof e=="number",parse:parseFloat,transform:e=>e},np={...Rf,transform:e=>Do(0,1,e)},i0={...Rf,default:1},zp=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),al=zp("deg"),Ha=zp("%"),xt=zp("px"),yY=zp("vh"),xY=zp("vw"),yI={...Ha,parse:e=>Ha.parse(e)/100,transform:e=>Ha.transform(e*100)},EY={borderWidth:xt,borderTopWidth:xt,borderRightWidth:xt,borderBottomWidth:xt,borderLeftWidth:xt,borderRadius:xt,radius:xt,borderTopLeftRadius:xt,borderTopRightRadius:xt,borderBottomRightRadius:xt,borderBottomLeftRadius:xt,width:xt,maxWidth:xt,height:xt,maxHeight:xt,top:xt,right:xt,bottom:xt,left:xt,padding:xt,paddingTop:xt,paddingRight:xt,paddingBottom:xt,paddingLeft:xt,margin:xt,marginTop:xt,marginRight:xt,marginBottom:xt,marginLeft:xt,backgroundPositionX:xt,backgroundPositionY:xt},vY={rotate:al,rotateX:al,rotateY:al,rotateZ:al,scale:i0,scaleX:i0,scaleY:i0,scaleZ:i0,skew:al,skewX:al,skewY:al,distance:xt,translateX:xt,translateY:xt,translateZ:xt,x:xt,y:xt,z:xt,perspective:xt,transformPerspective:xt,opacity:np,originX:yI,originY:yI,originZ:xt},xI={...Rf,transform:Math.round},NN={...EY,...vY,zIndex:xI,size:xt,fillOpacity:np,strokeOpacity:np,numOctaves:xI},wY={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},SY=If.length;function _Y(e,t,n){let s="",i=!0;for(let r=0;r({style:{},transform:{},transformOrigin:{},vars:{}}),X5=()=>({...CN(),attrs:{}}),IN=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Q5(e,{style:t,vars:n},s,i){Object.assign(e.style,t,i&&i.getProjectionStyles(s));for(const r in n)e.style.setProperty(r,n[r])}const Z5=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 J5(e,t,n,s){Q5(e,t,void 0,s);for(const i in t.attrs)e.setAttribute(Z5.has(i)?i:vN(i),t.attrs[i])}const cy={};function CY(e){Object.assign(cy,e)}function e6(e,{layout:t,layoutId:n}){return ru.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!cy[e]||e==="opacity")}function RN(e,t,n){var s;const{style:i}=e,r={};for(const a in i)(Ii(i[a])||t.style&&Ii(t.style[a])||e6(a,e)||((s=n==null?void 0:n.getValue(a))===null||s===void 0?void 0:s.liveStyle)!==void 0)&&(r[a]=i[a]);return r}function t6(e,t,n){const s=RN(e,t,n);for(const i in e)if(Ii(e[i])||Ii(t[i])){const r=If.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[r]=e[i]}return s}function IY(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 vI=["x","y","width","height","cx","cy","r"],RY={useVisualState:K5({scrapeMotionValuesFromProps:t6,createRenderState:X5,onUpdate:({props:e,prevProps:t,current:n,renderState:s,latestValues:i})=>{if(!n)return;let r=!!e.drag;if(!r){for(const l in i)if(ru.has(l)){r=!0;break}}if(!r)return;let a=!t;if(t)for(let l=0;l{IY(n,s),ss.render(()=>{AN(s,i,IN(n.tagName),e.transformTemplate),J5(n,s)})})}})},jY={useVisualState:K5({scrapeMotionValuesFromProps:RN,createRenderState:CN})};function n6(e,t,n){for(const s in t)!Ii(t[s])&&!e6(s,n)&&(e[s]=t[s])}function OY({transformTemplate:e},t){return b.useMemo(()=>{const n=CN();return kN(n,t,e),Object.assign({},n.vars,n.style)},[t])}function MY(e,t){const n=e.style||{},s={};return n6(s,n,e),Object.assign(s,OY(e,t)),s}function LY(e,t){const n={},s=MY(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.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=s,n}function DY(e,t,n,s){const i=b.useMemo(()=>{const r=X5();return AN(r,t,IN(s),e.transformTemplate),{...r.attrs,style:{...r.style}}},[t]);if(e.style){const r={};n6(r,e.style,e),i.style={...r,...i.style}}return i}function PY(e=!1){return(n,s,i,{latestValues:r},a)=>{const c=(SN(n)?DY:LY)(s,r,a,n),u=Qq(s,typeof n=="string",e),d=n!==b.Fragment?{...u,...c,ref:i}:{},{children:f}=s,h=b.useMemo(()=>Ii(f)?f.get():f,[f]);return b.createElement(n,{...d,children:h})}}function BY(e,t){return function(s,{forwardMotionProps:i}={forwardMotionProps:!1}){const a={...SN(s)?RY:jY,preloadedFeatures:e,useRender:PY(i),createVisualElement:t,Component:s};return oY(a)}}function s6(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let s=0;s(ab===void 0&&za.set(gi.isProcessing||Kq.useManualTiming?gi.timestamp:performance.now()),ab),set:e=>{ab=e,queueMicrotask(UY)}};function ON(e,t){e.indexOf(t)===-1&&e.push(t)}function MN(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class LN{constructor(){this.subscriptions=[]}add(t){return ON(this.subscriptions,t),()=>MN(this.subscriptions,t)}notify(t,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,n,s);else for(let r=0;r!isNaN(parseFloat(e));class $Y{constructor(t,n={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(s,i=!0)=>{const r=za.now();this.updatedAt!==r&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),i&&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=za.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=FY(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 LN);const s=this.events[t].add(n);return t==="change"?()=>{s(),ss.read(()=>{this.events.change.getSize()||this.stop()})}:s}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,s){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-s}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=za.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>wI)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,wI);return r6(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 sp(e,t){return new $Y(e,t)}function HY(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,sp(n))}function zY(e,t){const n=T1(e,t);let{transitionEnd:s={},transition:i={},...r}=n||{};r={...r,...s};for(const a in r){const l=hY(r[a]);HY(e,a,l)}}function VY(e){return!!(Ii(e)&&e.add)}function vS(e,t){const n=e.getValue("willChange");if(VY(n))return n.add(t)}function a6(e){return e.props[z5]}function DN(e){let t;return()=>(t===void 0&&(t=e()),t)}const GY=DN(()=>window.ScrollTimeline!==void 0);class KY{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 s=0;s{if(GY()&&i.attachTimeline)return i.attachTimeline(t);if(typeof n=="function")return n(i)});return()=>{s.forEach((i,r)=>{i&&i(),this.animations[r].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 qY extends KY{then(t,n){return Promise.all(this.animations).then(t).catch(n)}}const No=e=>e*1e3,ko=e=>e/1e3;function PN(e){return typeof e=="function"}function SI(e,t){e.timeline=t,e.onfinish=null}const BN=e=>Array.isArray(e)&&typeof e[0]=="number",YY={linearEasing:void 0};function WY(e,t){const n=DN(e);return()=>{var s;return(s=YY[t])!==null&&s!==void 0?s:n()}}const uy=WY(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Zd=(e,t,n)=>{const s=t-e;return s===0?1:(n-e)/s},o6=(e,t,n=10)=>{let s="";const i=Math.max(Math.round(t/n),2);for(let r=0;r`cubic-bezier(${e}, ${t}, ${n}, ${s})`,wS={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:zh([0,.65,.55,1]),circOut:zh([.55,0,1,.45]),backIn:zh([.31,.01,.66,-.59]),backOut:zh([.33,1.53,.69,.99])};function c6(e,t){if(e)return typeof e=="function"&&uy()?o6(e,t):BN(e)?zh(e):Array.isArray(e)?e.map(n=>c6(n,t)||wS.easeOut):wS[e]}const u6=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,XY=1e-7,QY=12;function ZY(e,t,n,s,i){let r,a,l=0;do a=t+(n-t)/2,r=u6(a,s,i)-e,r>0?n=a:t=a;while(Math.abs(r)>XY&&++lZY(r,0,1,e,n);return r=>r===0||r===1?r:u6(i(r),t,s)}const d6=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,f6=e=>t=>1-e(1-t),h6=Vp(.33,1.53,.69,.99),UN=f6(h6),m6=d6(UN),p6=e=>(e*=2)<1?.5*UN(e):.5*(2-Math.pow(2,-10*(e-1))),FN=e=>1-Math.sin(Math.acos(e)),g6=f6(FN),b6=d6(FN),y6=e=>/^0[^.\s]+$/u.test(e);function JY(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||y6(e):!0}const bm=e=>Math.round(e*1e5)/1e5,$N=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function eW(e){return e==null}const tW=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,HN=(e,t)=>n=>!!(typeof n=="string"&&tW.test(n)&&n.startsWith(e)||t&&!eW(n)&&Object.prototype.hasOwnProperty.call(n,t)),x6=(e,t,n)=>s=>{if(typeof s!="string")return s;const[i,r,a,l]=s.match($N);return{[e]:parseFloat(i),[t]:parseFloat(r),[n]:parseFloat(a),alpha:l!==void 0?parseFloat(l):1}},nW=e=>Do(0,255,e),qE={...Rf,transform:e=>Math.round(nW(e))},xc={test:HN("rgb","red"),parse:x6("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:s=1})=>"rgba("+qE.transform(e)+", "+qE.transform(t)+", "+qE.transform(n)+", "+bm(np.transform(s))+")"};function sW(e){let t="",n="",s="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),s=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),s=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,s+=s,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const SS={test:HN("#"),parse:sW,transform:xc.transform},cd={test:HN("hsl","hue"),parse:x6("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:s=1})=>"hsla("+Math.round(e)+", "+Ha.transform(bm(t))+", "+Ha.transform(bm(n))+", "+bm(np.transform(s))+")"},Ai={test:e=>xc.test(e)||SS.test(e)||cd.test(e),parse:e=>xc.test(e)?xc.parse(e):cd.test(e)?cd.parse(e):SS.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?xc.transform(e):cd.transform(e)},iW=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function rW(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match($N))===null||t===void 0?void 0:t.length)||0)+(((n=e.match(iW))===null||n===void 0?void 0:n.length)||0)>0}const E6="number",v6="color",aW="var",oW="var(",_I="${}",lW=/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 ip(e){const t=e.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const l=t.replace(lW,c=>(Ai.test(c)?(s.color.push(r),i.push(v6),n.push(Ai.parse(c))):c.startsWith(oW)?(s.var.push(r),i.push(aW),n.push(c)):(s.number.push(r),i.push(E6),n.push(parseFloat(c))),++r,_I)).split(_I);return{values:n,split:l,indexes:s,types:i}}function w6(e){return ip(e).values}function S6(e){const{split:t,types:n}=ip(e),s=t.length;return i=>{let r="";for(let a=0;atypeof e=="number"?0:e;function uW(e){const t=w6(e);return S6(e)(t.map(cW))}const Hl={test:rW,parse:w6,createTransformer:S6,getAnimatableNone:uW},dW=new Set(["brightness","contrast","saturate","opacity"]);function fW(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[s]=n.match($N)||[];if(!s)return e;const i=n.replace(s,"");let r=dW.has(t)?1:0;return s!==n&&(r*=100),t+"("+r+i+")"}const hW=/\b([a-z-]*)\(.*?\)/gu,_S={...Hl,getAnimatableNone:e=>{const t=e.match(hW);return t?t.map(fW).join(" "):e}},mW={...NN,color:Ai,backgroundColor:Ai,outlineColor:Ai,fill:Ai,stroke:Ai,borderColor:Ai,borderTopColor:Ai,borderRightColor:Ai,borderBottomColor:Ai,borderLeftColor:Ai,filter:_S,WebkitFilter:_S},zN=e=>mW[e];function _6(e,t){let n=zN(e);return n!==_S&&(n=Hl),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const pW=new Set(["auto","none","0"]);function gW(e,t,n){let s=0,i;for(;se===Rf||e===xt,NI=(e,t)=>parseFloat(e.split(", ")[t]),kI=(e,t)=>(n,{transform:s})=>{if(s==="none"||!s)return 0;const i=s.match(/^matrix3d\((.+)\)$/u);if(i)return NI(i[1],t);{const r=s.match(/^matrix\((.+)\)$/u);return r?NI(r[1],e):0}},bW=new Set(["x","y","z"]),yW=If.filter(e=>!bW.has(e));function xW(e){const t=[];return yW.forEach(n=>{const s=e.getValue(n);s!==void 0&&(t.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),t}const Jd={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:kI(4,13),y:kI(5,14)};Jd.translateX=Jd.x;Jd.translateY=Jd.y;const Cc=new Set;let TS=!1,NS=!1;function T6(){if(NS){const e=Array.from(Cc).filter(s=>s.needsMeasurement),t=new Set(e.map(s=>s.element)),n=new Map;t.forEach(s=>{const i=xW(s);i.length&&(n.set(s,i),s.render())}),e.forEach(s=>s.measureInitialState()),t.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([r,a])=>{var l;(l=s.getValue(r))===null||l===void 0||l.set(a)})}),e.forEach(s=>s.measureEndState()),e.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}NS=!1,TS=!1,Cc.forEach(e=>e.complete()),Cc.clear()}function N6(){Cc.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(NS=!0)})}function EW(){N6(),T6()}class VN{constructor(t,n,s,i,r,a=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=s,this.motionValue=i,this.element=r,this.isAsync=a}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Cc.add(this),TS||(TS=!0,ss.read(N6),ss.resolveKeyframes(T6))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:s,motionValue:i}=this;for(let r=0;r/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),vW=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function wW(e){const t=vW.exec(e);if(!t)return[,];const[,n,s,i]=t;return[`--${n??s}`,i]}function A6(e,t,n=1){const[s,i]=wW(e);if(!s)return;const r=window.getComputedStyle(t).getPropertyValue(s);if(r){const a=r.trim();return k6(a)?parseFloat(a):a}return TN(i)?A6(i,t,n+1):i}const C6=e=>t=>t.test(e),SW={test:e=>e==="auto",parse:e=>e},I6=[Rf,xt,Ha,al,xY,yY,SW],AI=e=>I6.find(C6(e));class R6 extends VN{constructor(t,n,s,i,r){super(t,n,s,i,r,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:s}=this;if(!n||!n.current)return;super.readKeyframes();for(let c=0;c{n.getValue(c).set(u)}),this.resolveNoneKeyframes()}}const CI=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Hl.test(e)||e==="0")&&!e.startsWith("url("));function _W(e){const t=e[0];if(e.length===1)return!0;for(let n=0;ne!==null;function N1(e,{repeat:t,repeatType:n="loop"},s){const i=e.filter(NW),r=t&&n!=="loop"&&t%2===1?0:i.length-1;return!r||s===void 0?i[r]:s}const kW=40;class j6{constructor({autoplay:t=!0,delay:n=0,type:s="keyframes",repeat:i=0,repeatDelay:r=0,repeatType:a="loop",...l}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=za.now(),this.options={autoplay:t,delay:n,type:s,repeat:i,repeatDelay:r,repeatType:a,...l},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>kW?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&EW(),this._resolved}onKeyframesResolved(t,n){this.resolvedAt=za.now(),this.hasAttemptedResolve=!0;const{name:s,type:i,velocity:r,delay:a,onComplete:l,onUpdate:c,isGenerator:u}=this.options;if(!u&&!TW(t,s,i,r))if(a)this.options.duration=0;else{c&&c(N1(t,this.options,n)),l&&l(),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 kS=2e4;function O6(e){let t=0;const n=50;let s=e.next(t);for(;!s.done&&t=kS?1/0:t}const xs=(e,t,n)=>e+(t-e)*n;function YE(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 AW({hue:e,saturation:t,lightness:n,alpha:s}){e/=360,t/=100,n/=100;let i=0,r=0,a=0;if(!t)i=r=a=n;else{const l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;i=YE(c,l,e+1/3),r=YE(c,l,e),a=YE(c,l,e-1/3)}return{red:Math.round(i*255),green:Math.round(r*255),blue:Math.round(a*255),alpha:s}}function dy(e,t){return n=>n>0?t:e}const WE=(e,t,n)=>{const s=e*e,i=n*(t*t-s)+s;return i<0?0:Math.sqrt(i)},CW=[SS,xc,cd],IW=e=>CW.find(t=>t.test(e));function II(e){const t=IW(e);if(!t)return!1;let n=t.parse(e);return t===cd&&(n=AW(n)),n}const RI=(e,t)=>{const n=II(e),s=II(t);if(!n||!s)return dy(e,t);const i={...n};return r=>(i.red=WE(n.red,s.red,r),i.green=WE(n.green,s.green,r),i.blue=WE(n.blue,s.blue,r),i.alpha=xs(n.alpha,s.alpha,r),xc.transform(i))},RW=(e,t)=>n=>t(e(n)),Gp=(...e)=>e.reduce(RW),AS=new Set(["none","hidden"]);function jW(e,t){return AS.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function OW(e,t){return n=>xs(e,t,n)}function GN(e){return typeof e=="number"?OW:typeof e=="string"?TN(e)?dy:Ai.test(e)?RI:DW:Array.isArray(e)?M6:typeof e=="object"?Ai.test(e)?RI:MW:dy}function M6(e,t){const n=[...e],s=n.length,i=e.map((r,a)=>GN(r)(r,t[a]));return r=>{for(let a=0;a{for(const r in s)n[r]=s[r](i);return n}}function LW(e,t){var n;const s=[],i={color:0,var:0,number:0};for(let r=0;r{const n=Hl.createTransformer(t),s=ip(e),i=ip(t);return s.indexes.var.length===i.indexes.var.length&&s.indexes.color.length===i.indexes.color.length&&s.indexes.number.length>=i.indexes.number.length?AS.has(e)&&!i.values.length||AS.has(t)&&!s.values.length?jW(e,t):Gp(M6(LW(s,i),i.values),n):dy(e,t)};function L6(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?xs(e,t,n):GN(e)(e,t)}const PW=5;function D6(e,t,n){const s=Math.max(t-PW,0);return r6(n-e(s),t-s)}const Ts={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},XE=.001;function BW({duration:e=Ts.duration,bounce:t=Ts.bounce,velocity:n=Ts.velocity,mass:s=Ts.mass}){let i,r,a=1-t;a=Do(Ts.minDamping,Ts.maxDamping,a),e=Do(Ts.minDuration,Ts.maxDuration,ko(e)),a<1?(i=u=>{const d=u*a,f=d*e,h=d-n,m=CS(u,a),p=Math.exp(-f);return XE-h/m*p},r=u=>{const f=u*a*e,h=f*n+n,m=Math.pow(a,2)*Math.pow(u,2)*e,p=Math.exp(-f),g=CS(Math.pow(u,2),a);return(-i(u)+XE>0?-1:1)*((h-m)*p)/g}):(i=u=>{const d=Math.exp(-u*e),f=(u-n)*e+1;return-XE+d*f},r=u=>{const d=Math.exp(-u*e),f=(n-u)*(e*e);return d*f});const l=5/e,c=FW(i,r,l);if(e=No(e),isNaN(c))return{stiffness:Ts.stiffness,damping:Ts.damping,duration:e};{const u=Math.pow(c,2)*s;return{stiffness:u,damping:a*2*Math.sqrt(s*u),duration:e}}}const UW=12;function FW(e,t,n){let s=n;for(let i=1;ie[n]!==void 0)}function zW(e){let t={velocity:Ts.velocity,stiffness:Ts.stiffness,damping:Ts.damping,mass:Ts.mass,isResolvedFromDuration:!1,...e};if(!jI(e,HW)&&jI(e,$W))if(e.visualDuration){const n=e.visualDuration,s=2*Math.PI/(n*1.2),i=s*s,r=2*Do(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:Ts.mass,stiffness:i,damping:r}}else{const n=BW(e);t={...t,...n,mass:Ts.mass},t.isResolvedFromDuration=!0}return t}function P6(e=Ts.visualDuration,t=Ts.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:s,restDelta:i}=n;const r=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],l={done:!1,value:r},{stiffness:c,damping:u,mass:d,duration:f,velocity:h,isResolvedFromDuration:m}=zW({...n,velocity:-ko(n.velocity||0)}),p=h||0,g=u/(2*Math.sqrt(c*d)),v=a-r,y=ko(Math.sqrt(c/d)),x=Math.abs(v)<5;s||(s=x?Ts.restSpeed.granular:Ts.restSpeed.default),i||(i=x?Ts.restDelta.granular:Ts.restDelta.default);let E;if(g<1){const T=CS(y,g);E=S=>{const N=Math.exp(-g*y*S);return a-N*((p+g*y*v)/T*Math.sin(T*S)+v*Math.cos(T*S))}}else if(g===1)E=T=>a-Math.exp(-y*T)*(v+(p+y*v)*T);else{const T=y*Math.sqrt(g*g-1);E=S=>{const N=Math.exp(-g*y*S),A=Math.min(T*S,300);return a-N*((p+g*y*v)*Math.sinh(A)+T*v*Math.cosh(A))/T}}const w={calculatedDuration:m&&f||null,next:T=>{const S=E(T);if(m)l.done=T>=f;else{let N=0;g<1&&(N=T===0?No(p):D6(E,T,S));const A=Math.abs(N)<=s,C=Math.abs(a-S)<=i;l.done=A&&C}return l.value=l.done?a:S,l},toString:()=>{const T=Math.min(O6(w),kS),S=o6(N=>w.next(T*N).value,T,30);return T+"ms "+S}};return w}function OI({keyframes:e,velocity:t=0,power:n=.8,timeConstant:s=325,bounceDamping:i=10,bounceStiffness:r=500,modifyTarget:a,min:l,max:c,restDelta:u=.5,restSpeed:d}){const f=e[0],h={done:!1,value:f},m=A=>l!==void 0&&Ac,p=A=>l===void 0?c:c===void 0||Math.abs(l-A)-g*Math.exp(-A/s),E=A=>y+x(A),w=A=>{const C=x(A),I=E(A);h.done=Math.abs(C)<=u,h.value=h.done?y:I};let T,S;const N=A=>{m(h.value)&&(T=A,S=P6({keyframes:[h.value,p(h.value)],velocity:D6(E,A,h.value),damping:i,stiffness:r,restDelta:u,restSpeed:d}))};return N(0),{calculatedDuration:null,next:A=>{let C=!1;return!S&&T===void 0&&(C=!0,w(A),N(A)),T!==void 0&&A>=T?S.next(A-T):(!C&&w(A),h)}}}const VW=Vp(.42,0,1,1),GW=Vp(0,0,.58,1),B6=Vp(.42,0,.58,1),KW=e=>Array.isArray(e)&&typeof e[0]!="number",qW={linear:Tr,easeIn:VW,easeInOut:B6,easeOut:GW,circIn:FN,circInOut:b6,circOut:g6,backIn:UN,backInOut:m6,backOut:h6,anticipate:p6},MI=e=>{if(BN(e)){P5(e.length===4);const[t,n,s,i]=e;return Vp(t,n,s,i)}else if(typeof e=="string")return qW[e];return e};function YW(e,t,n){const s=[],i=n||L6,r=e.length-1;for(let a=0;at[0];if(r===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[r-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=YW(t,s,i),c=l.length,u=d=>{if(a&&d1)for(;fu(Do(e[0],e[r-1],d)):u}function XW(e,t){const n=e[e.length-1];for(let s=1;s<=t;s++){const i=Zd(0,t,s);e.push(xs(n,1,i))}}function QW(e){const t=[0];return XW(t,e.length-1),t}function ZW(e,t){return e.map(n=>n*t)}function JW(e,t){return e.map(()=>t||B6).splice(0,e.length-1)}function fy({duration:e=300,keyframes:t,times:n,ease:s="easeInOut"}){const i=KW(s)?s.map(MI):MI(s),r={done:!1,value:t[0]},a=ZW(n&&n.length===t.length?n:QW(t),e),l=WW(a,t,{ease:Array.isArray(i)?i:JW(t,i)});return{calculatedDuration:e,next:c=>(r.value=l(c),r.done=c>=e,r)}}const eX=e=>{const t=({timestamp:n})=>e(n);return{start:()=>ss.update(t,!0),stop:()=>$l(t),now:()=>gi.isProcessing?gi.timestamp:za.now()}},tX={decay:OI,inertia:OI,tween:fy,keyframes:fy,spring:P6},nX=e=>e/100;class KN extends j6{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:c}=this.options;c&&c()};const{name:n,motionValue:s,element:i,keyframes:r}=this.options,a=(i==null?void 0:i.KeyframeResolver)||VN,l=(c,u)=>this.onKeyframesResolved(c,u);this.resolver=new a(r,l,n,s,i),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(t){const{type:n="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:r,velocity:a=0}=this.options,l=PN(n)?n:tX[n]||fy;let c,u;l!==fy&&typeof t[0]!="number"&&(c=Gp(nX,L6(t[0],t[1])),t=[0,100]);const d=l({...this.options,keyframes:t});r==="mirror"&&(u=l({...this.options,keyframes:[...t].reverse(),velocity:-a})),d.calculatedDuration===null&&(d.calculatedDuration=O6(d));const{calculatedDuration:f}=d,h=f+i,m=h*(s+1)-i;return{generator:d,mirroredGenerator:u,mapPercentToKeyframes:c,calculatedDuration:f,resolvedDuration:h,totalDuration:m}}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:s}=this;if(!s){const{keyframes:A}=this.options;return{done:!0,value:A[A.length-1]}}const{finalKeyframe:i,generator:r,mirroredGenerator:a,mapPercentToKeyframes:l,keyframes:c,calculatedDuration:u,totalDuration:d,resolvedDuration:f}=s;if(this.startTime===null)return r.next(0);const{delay:h,repeat:m,repeatType:p,repeatDelay:g,onUpdate:v}=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 y=this.currentTime-h*(this.speed>=0?1:-1),x=this.speed>=0?y<0:y>d;this.currentTime=Math.max(y,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=d);let E=this.currentTime,w=r;if(m){const A=Math.min(this.currentTime,d)/f;let C=Math.floor(A),I=A%1;!I&&A>=1&&(I=1),I===1&&C--,C=Math.min(C,m+1),!!(C%2)&&(p==="reverse"?(I=1-I,g&&(I-=g/f)):p==="mirror"&&(w=a)),E=Do(0,1,I)*f}const T=x?{done:!1,value:c[0]}:w.next(E);l&&(T.value=l(T.value));let{done:S}=T;!x&&u!==null&&(S=this.speed>=0?this.currentTime>=d:this.currentTime<=0);const N=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&S);return N&&i!==void 0&&(T.value=N1(c,this.options,i)),v&&v(T.value),N&&this.finish(),T}get duration(){const{resolved:t}=this;return t?ko(t.calculatedDuration):0}get time(){return ko(this.currentTime)}set time(t){t=No(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=ko(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:t=eX,onPlay:n,startTime:s}=this.options;this.driver||(this.driver=t(r=>this.tick(r))),n&&n();const i=this.driver.now();this.holdTime!==null?this.startTime=i-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=i):this.startTime=s??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 sX=new Set(["opacity","clipPath","filter","transform"]);function iX(e,t,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:a="loop",ease:l="easeInOut",times:c}={}){const u={[t]:n};c&&(u.offset=c);const d=c6(l,i);return Array.isArray(d)&&(u.easing=d),e.animate(u,{delay:s,duration:i,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:r+1,direction:a==="reverse"?"alternate":"normal"})}const rX=DN(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),hy=10,aX=2e4;function oX(e){return PN(e.type)||e.type==="spring"||!l6(e.ease)}function lX(e,t){const n=new KN({...t,keyframes:e,repeat:0,delay:0,isGenerator:!0});let s={done:!1,value:e[0]};const i=[];let r=0;for(;!s.done&&rthis.onKeyframesResolved(a,l),n,s,i),this.resolver.scheduleResolve()}initPlayback(t,n){let{duration:s=300,times:i,ease:r,type:a,motionValue:l,name:c,startTime:u}=this.options;if(!l.owner||!l.owner.current)return!1;if(typeof r=="string"&&uy()&&cX(r)&&(r=U6[r]),oX(this.options)){const{onComplete:f,onUpdate:h,motionValue:m,element:p,...g}=this.options,v=lX(t,g);t=v.keyframes,t.length===1&&(t[1]=t[0]),s=v.duration,i=v.times,r=v.ease,a="keyframes"}const d=iX(l.owner.current,c,t,{...this.options,duration:s,times:i,ease:r});return d.startTime=u??this.calcStartTime(),this.pendingTimeline?(SI(d,this.pendingTimeline),this.pendingTimeline=void 0):d.onfinish=()=>{const{onComplete:f}=this.options;l.set(N1(t,this.options,n)),f&&f(),this.cancel(),this.resolveFinishedPromise()},{animation:d,duration:s,times:i,type:a,ease:r,keyframes:t}}get duration(){const{resolved:t}=this;if(!t)return 0;const{duration:n}=t;return ko(n)}get time(){const{resolved:t}=this;if(!t)return 0;const{animation:n}=t;return ko(n.currentTime||0)}set time(t){const{resolved:n}=this;if(!n)return;const{animation:s}=n;s.currentTime=No(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:s}=n;s.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 Tr;const{animation:s}=n;SI(s,t)}return Tr}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:s,duration:i,type:r,ease:a,times:l}=t;if(n.playState==="idle"||n.playState==="finished")return;if(this.time){const{motionValue:u,onUpdate:d,onComplete:f,element:h,...m}=this.options,p=new KN({...m,keyframes:s,duration:i,type:r,ease:a,times:l,isGenerator:!0}),g=No(this.time);u.setWithVelocity(p.sample(g-hy).value,p.sample(g).value,hy)}const{onStop:c}=this.options;c&&c(),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:s,repeatDelay:i,repeatType:r,damping:a,type:l}=t;if(!n||!n.owner||!(n.owner.current instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=n.owner.getProps();return rX()&&s&&sX.has(s)&&!c&&!u&&!i&&r!=="mirror"&&a!==0&&l!=="inertia"}}const uX={type:"spring",stiffness:500,damping:25,restSpeed:10},dX=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),fX={type:"keyframes",duration:.8},hX={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},mX=(e,{keyframes:t})=>t.length>2?fX:ru.has(e)?e.startsWith("scale")?dX(t[1]):uX:hX;function pX({when:e,delay:t,delayChildren:n,staggerChildren:s,staggerDirection:i,repeat:r,repeatType:a,repeatDelay:l,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const qN=(e,t,n,s={},i,r)=>a=>{const l=jN(s,e)||{},c=l.delay||s.delay||0;let{elapsed:u=0}=s;u=u-No(c);let d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-u,onUpdate:h=>{t.set(h),l.onUpdate&&l.onUpdate(h)},onComplete:()=>{a(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:r?void 0:i};pX(l)||(d={...d,...mX(e,d)}),d.duration&&(d.duration=No(d.duration)),d.repeatDelay&&(d.repeatDelay=No(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&&!r&&t.get()!==void 0){const h=N1(d.keyframes,l);if(h!==void 0)return ss.update(()=>{d.onUpdate(h),d.onComplete()}),new qY([])}return!r&&LI.supports(d)?new LI(d):new KN(d)};function gX({protectedKeys:e,needsAnimating:t},n){const s=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,s}function F6(e,t,{delay:n=0,transitionOverride:s,type:i}={}){var r;let{transition:a=e.getDefaultTransition(),transitionEnd:l,...c}=t;s&&(a=s);const u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(const f in c){const h=e.getValue(f,(r=e.latestValues[f])!==null&&r!==void 0?r:null),m=c[f];if(m===void 0||d&&gX(d,f))continue;const p={delay:n,...jN(a||{},f)};let g=!1;if(window.MotionHandoffAnimation){const y=a6(e);if(y){const x=window.MotionHandoffAnimation(y,f,ss);x!==null&&(p.startTime=x,g=!0)}}vS(e,f),h.start(qN(f,h,m,e.shouldReduceMotion&&i6.has(f)?{type:!1}:p,e,g));const v=h.animation;v&&u.push(v)}return l&&Promise.all(u).then(()=>{ss.update(()=>{l&&zY(e,l)})}),u}function IS(e,t,n={}){var s;const i=T1(e,t,n.type==="exit"?(s=e.presenceContext)===null||s===void 0?void 0:s.custom:void 0);let{transition:r=e.getDefaultTransition()||{}}=i||{};n.transitionOverride&&(r=n.transitionOverride);const a=i?()=>Promise.all(F6(e,i,n)):()=>Promise.resolve(),l=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:f,staggerDirection:h}=r;return bX(e,t,d+u,f,h,n)}:()=>Promise.resolve(),{when:c}=r;if(c){const[u,d]=c==="beforeChildren"?[a,l]:[l,a];return u().then(()=>d())}else return Promise.all([a(),l(n.delay)])}function bX(e,t,n=0,s=0,i=1,r){const a=[],l=(e.variantChildren.size-1)*s,c=i===1?(u=0)=>u*s:(u=0)=>l-u*s;return Array.from(e.variantChildren).sort(yX).forEach((u,d)=>{u.notify("AnimationStart",t),a.push(IS(u,t,{...r,delay:n+c(d)}).then(()=>u.notify("AnimationComplete",t)))}),Promise.all(a)}function yX(e,t){return e.sortNodePosition(t)}function xX(e,t,n={}){e.notify("AnimationStart",t);let s;if(Array.isArray(t)){const i=t.map(r=>IS(e,r,n));s=Promise.all(i)}else if(typeof t=="string")s=IS(e,t,n);else{const i=typeof t=="function"?T1(e,t,n.custom):t;s=Promise.all(F6(e,i,n))}return s.then(()=>{e.notify("AnimationComplete",t)})}const EX=EN.length;function $6(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?$6(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:s})=>xX(e,n,s)))}function _X(e){let t=SX(e),n=DI(),s=!0;const i=c=>(u,d)=>{var f;const h=T1(e,d,c==="exit"?(f=e.presenceContext)===null||f===void 0?void 0:f.custom:void 0);if(h){const{transition:m,transitionEnd:p,...g}=h;u={...u,...g,...p}}return u};function r(c){t=c(e)}function a(c){const{props:u}=e,d=$6(e.parent)||{},f=[],h=new Set;let m={},p=1/0;for(let v=0;vp&&w,C=!1;const I=Array.isArray(E)?E:[E];let O=I.reduce(i(y),{});T===!1&&(O={});const{prevResolvedValues:L={}}=x,G={...L,...O},D=j=>{A=!0,h.has(j)&&(C=!0,h.delete(j)),x.needsAnimating[j]=!0;const P=e.getValue(j);P&&(P.liveStyle=!1)};for(const j in G){const P=O[j],$=L[j];if(m.hasOwnProperty(j))continue;let R=!1;ES(P)&&ES($)?R=!s6(P,$):R=P!==$,R?P!=null?D(j):h.add(j):P!==void 0&&h.has(j)?D(j):x.protectedKeys[j]=!0}x.prevProp=E,x.prevResolvedValues=O,x.isActive&&(m={...m,...O}),s&&e.blockInitialAnimation&&(A=!1),A&&(!(S&&N)||C)&&f.push(...I.map(j=>({animation:j,options:{type:y}})))}if(h.size){const v={};h.forEach(y=>{const x=e.getBaseTarget(y),E=e.getValue(y);E&&(E.liveStyle=!0),v[y]=x??null}),f.push({animation:v})}let g=!!f.length;return s&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(g=!1),s=!1,g?t(f):Promise.resolve()}function l(c,u){var d;if(n[c].isActive===u)return Promise.resolve();(d=e.variantChildren)===null||d===void 0||d.forEach(h=>{var m;return(m=h.animationState)===null||m===void 0?void 0:m.setActive(c,u)}),n[c].isActive=u;const f=a(c);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:a,setActive:l,setAnimateFunction:r,getState:()=>n,reset:()=>{n=DI(),s=!0}}}function TX(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!s6(t,e):!1}function ic(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function DI(){return{animate:ic(!0),whileInView:ic(),whileHover:ic(),whileTap:ic(),whileDrag:ic(),whileFocus:ic(),exit:ic()}}class Wl{constructor(t){this.isMounted=!1,this.node=t}update(){}}class NX extends Wl{constructor(t){super(t),t.animationState||(t.animationState=_X(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();S1(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 kX=0;class AX extends Wl{constructor(){super(...arguments),this.id=kX++}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===s)return;const i=this.node.animationState.setActive("exit",!t);n&&!t&&i.then(()=>n(this.id))}mount(){const{register:t}=this.node.presenceContext||{};t&&(this.unmount=t(this.id))}unmount(){}}const CX={animation:{Feature:NX},exit:{Feature:AX}},oa={x:!1,y:!1};function H6(){return oa.x||oa.y}function IX(e){return e==="x"||e==="y"?oa[e]?null:(oa[e]=!0,()=>{oa[e]=!1}):oa.x||oa.y?null:(oa.x=oa.y=!0,()=>{oa.x=oa.y=!1})}const YN=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1;function rp(e,t,n,s={passive:!0}){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n)}function Kp(e){return{point:{x:e.pageX,y:e.pageY}}}const RX=e=>t=>YN(t)&&e(t,Kp(t));function ym(e,t,n,s){return rp(e,t,RX(n),s)}const PI=(e,t)=>Math.abs(e-t);function jX(e,t){const n=PI(e.x,t.x),s=PI(e.y,t.y);return Math.sqrt(n**2+s**2)}class z6{constructor(t,n,{transformPagePoint:s,contextWindow:i,dragSnapToOrigin:r=!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=ZE(this.lastMoveEventInfo,this.history),h=this.startEvent!==null,m=jX(f.offset,{x:0,y:0})>=3;if(!h&&!m)return;const{point:p}=f,{timestamp:g}=gi;this.history.push({...p,timestamp:g});const{onStart:v,onMove:y}=this.handlers;h||(v&&v(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),y&&y(this.lastMoveEvent,f)},this.handlePointerMove=(f,h)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=QE(h,this.transformPagePoint),ss.update(this.updatePoint,!0)},this.handlePointerUp=(f,h)=>{this.end();const{onEnd:m,onSessionEnd:p,resumeAnimation:g}=this.handlers;if(this.dragSnapToOrigin&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const v=ZE(f.type==="pointercancel"?this.lastMoveEventInfo:QE(h,this.transformPagePoint),this.history);this.startEvent&&m&&m(f,v),p&&p(f,v)},!YN(t))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=s,this.contextWindow=i||window;const a=Kp(t),l=QE(a,this.transformPagePoint),{point:c}=l,{timestamp:u}=gi;this.history=[{...c,timestamp:u}];const{onSessionStart:d}=n;d&&d(t,ZE(l,this.history)),this.removeListeners=Gp(ym(this.contextWindow,"pointermove",this.handlePointerMove),ym(this.contextWindow,"pointerup",this.handlePointerUp),ym(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),$l(this.updatePoint)}}function QE(e,t){return t?{point:t(e.point)}:e}function BI(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ZE({point:e},t){return{point:e,delta:BI(e,V6(t)),offset:BI(e,OX(t)),velocity:MX(t,.1)}}function OX(e){return e[0]}function V6(e){return e[e.length-1]}function MX(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,s=null;const i=V6(e);for(;n>=0&&(s=e[n],!(i.timestamp-s.timestamp>No(t)));)n--;if(!s)return{x:0,y:0};const r=ko(i.timestamp-s.timestamp);if(r===0)return{x:0,y:0};const a={x:(i.x-s.x)/r,y:(i.y-s.y)/r};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}const G6=1e-4,LX=1-G6,DX=1+G6,K6=.01,PX=0-K6,BX=0+K6;function Cr(e){return e.max-e.min}function UX(e,t,n){return Math.abs(e-t)<=n}function UI(e,t,n,s=.5){e.origin=s,e.originPoint=xs(t.min,t.max,e.origin),e.scale=Cr(n)/Cr(t),e.translate=xs(n.min,n.max,e.origin)-e.originPoint,(e.scale>=LX&&e.scale<=DX||isNaN(e.scale))&&(e.scale=1),(e.translate>=PX&&e.translate<=BX||isNaN(e.translate))&&(e.translate=0)}function xm(e,t,n,s){UI(e.x,t.x,n.x,s?s.originX:void 0),UI(e.y,t.y,n.y,s?s.originY:void 0)}function FI(e,t,n){e.min=n.min+t.min,e.max=e.min+Cr(t)}function FX(e,t,n){FI(e.x,t.x,n.x),FI(e.y,t.y,n.y)}function $I(e,t,n){e.min=t.min-n.min,e.max=e.min+Cr(t)}function Em(e,t,n){$I(e.x,t.x,n.x),$I(e.y,t.y,n.y)}function $X(e,{min:t,max:n},s){return t!==void 0&&en&&(e=s?xs(n,e,s.max):Math.min(e,n)),e}function HI(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 HX(e,{top:t,left:n,bottom:s,right:i}){return{x:HI(e.x,n,i),y:HI(e.y,t,s)}}function zI(e,t){let n=t.min-e.min,s=t.max-e.max;return t.max-t.mins?n=Zd(t.min,t.max-s,e.min):s>i&&(n=Zd(e.min,e.max-i,t.min)),Do(0,1,n)}function GX(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 RS=.35;function KX(e=RS){return e===!1?e=0:e===!0&&(e=RS),{x:VI(e,"left","right"),y:VI(e,"top","bottom")}}function VI(e,t,n){return{min:GI(e,t),max:GI(e,n)}}function GI(e,t){return typeof e=="number"?e:e[t]||0}const KI=()=>({translate:0,scale:1,origin:0,originPoint:0}),ud=()=>({x:KI(),y:KI()}),qI=()=>({min:0,max:0}),Cs=()=>({x:qI(),y:qI()});function Lr(e){return[e("x"),e("y")]}function q6({top:e,left:t,right:n,bottom:s}){return{x:{min:t,max:n},y:{min:e,max:s}}}function qX({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function YX(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),s=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:s.y,right:s.x}}function JE(e){return e===void 0||e===1}function jS({scale:e,scaleX:t,scaleY:n}){return!JE(e)||!JE(t)||!JE(n)}function dc(e){return jS(e)||Y6(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Y6(e){return YI(e.x)||YI(e.y)}function YI(e){return e&&e!=="0%"}function my(e,t,n){const s=e-n,i=t*s;return n+i}function WI(e,t,n,s,i){return i!==void 0&&(e=my(e,i,s)),my(e,n,s)+t}function OS(e,t=0,n=1,s,i){e.min=WI(e.min,t,n,s,i),e.max=WI(e.max,t,n,s,i)}function W6(e,{x:t,y:n}){OS(e.x,t.translate,t.scale,t.originPoint),OS(e.y,n.translate,n.scale,n.originPoint)}const XI=.999999999999,QI=1.0000000000001;function WX(e,t,n,s=!1){const i=n.length;if(!i)return;t.x=t.y=1;let r,a;for(let l=0;lXI&&(t.x=1),t.yXI&&(t.y=1)}function dd(e,t){e.min=e.min+t,e.max=e.max+t}function ZI(e,t,n,s,i=.5){const r=xs(e.min,e.max,i);OS(e,t,n,r,s)}function fd(e,t){ZI(e.x,t.x,t.scaleX,t.scale,t.originX),ZI(e.y,t.y,t.scaleY,t.scale,t.originY)}function X6(e,t){return q6(YX(e.getBoundingClientRect(),t))}function XX(e,t,n){const s=X6(e,n),{scroll:i}=t;return i&&(dd(s.x,i.offset.x),dd(s.y,i.offset.y)),s}const Q6=({current:e})=>e?e.ownerDocument.defaultView:null,QX=new WeakMap;class ZX{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=Cs(),this.visualElement=t}start(t,{snapToCursor:n=!1}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const i=d=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(Kp(d).point)},r=(d,f)=>{const{drag:h,dragPropagation:m,onDragStart:p}=this.getProps();if(h&&!m&&(this.openDragLock&&this.openDragLock(),this.openDragLock=IX(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),Lr(v=>{let y=this.getAxisMotionValue(v).get()||0;if(Ha.test(y)){const{projection:x}=this.visualElement;if(x&&x.layout){const E=x.layout.layoutBox[v];E&&(y=Cr(E)*(parseFloat(y)/100))}}this.originPoint[v]=y}),p&&ss.postRender(()=>p(d,f)),vS(this.visualElement,"transform");const{animationState:g}=this.visualElement;g&&g.setActive("whileDrag",!0)},a=(d,f)=>{const{dragPropagation:h,dragDirectionLock:m,onDirectionLock:p,onDrag:g}=this.getProps();if(!h&&!this.openDragLock)return;const{offset:v}=f;if(m&&this.currentDirection===null){this.currentDirection=JX(v),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",f.point,v),this.updateAxis("y",f.point,v),this.visualElement.render(),g&&g(d,f)},l=(d,f)=>this.stop(d,f),c=()=>Lr(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 z6(t,{onSessionStart:i,onStart:r,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,contextWindow:Q6(this.visualElement)})}stop(t,n){const s=this.isDragging;if(this.cancel(),!s)return;const{velocity:i}=n;this.startAnimation(i);const{onDragEnd:r}=this.getProps();r&&ss.postRender(()=>r(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:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(t,n,s){const{drag:i}=this.getProps();if(!s||!r0(t,i,this.currentDirection))return;const r=this.getAxisMotionValue(t);let a=this.originPoint[t]+s[t];this.constraints&&this.constraints[t]&&(a=$X(a,this.constraints[t],this.elastic[t])),r.set(a)}resolveConstraints(){var t;const{dragConstraints:n,dragElastic:s}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(t=this.visualElement.projection)===null||t===void 0?void 0:t.layout,r=this.constraints;n&&ld(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):n&&i?this.constraints=HX(i.layoutBox,n):this.constraints=!1,this.elastic=KX(s),r!==this.constraints&&i&&this.constraints&&!this.hasMutatedConstraints&&Lr(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=GX(i.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!ld(t))return!1;const s=t.current,{projection:i}=this.visualElement;if(!i||!i.layout)return!1;const r=XX(s,i.root,this.visualElement.getTransformPagePoint());let a=zX(i.layout.layoutBox,r);if(n){const l=n(qX(a));this.hasMutatedConstraints=!!l,l&&(a=q6(l))}return a}startAnimation(t){const{drag:n,dragMomentum:s,dragElastic:i,dragTransition:r,dragSnapToOrigin:a,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},u=Lr(d=>{if(!r0(d,n,this.currentDirection))return;let f=c&&c[d]||{};a&&(f={min:0,max:0});const h=i?200:1e6,m=i?40:1e7,p={type:"inertia",velocity:s?t[d]:0,bounceStiffness:h,bounceDamping:m,timeConstant:750,restDelta:1,restSpeed:10,...r,...f};return this.startAxisValueAnimation(d,p)});return Promise.all(u).then(l)}startAxisValueAnimation(t,n){const s=this.getAxisMotionValue(t);return vS(this.visualElement,t),s.start(qN(t,s,0,n,this.visualElement,!1))}stopAnimation(){Lr(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Lr(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()}`,s=this.visualElement.getProps(),i=s[n];return i||this.visualElement.getValue(t,(s.initial?s.initial[t]:void 0)||0)}snapToCursor(t){Lr(n=>{const{drag:s}=this.getProps();if(!r0(n,s,this.currentDirection))return;const{projection:i}=this.visualElement,r=this.getAxisMotionValue(n);if(i&&i.layout){const{min:a,max:l}=i.layout.layoutBox[n];r.set(t[n]-xs(a,l,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:s}=this.visualElement;if(!ld(n)||!s||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Lr(a=>{const l=this.getAxisMotionValue(a);if(l&&this.constraints!==!1){const c=l.get();i[a]=VX({min:c,max:c},this.constraints[a])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Lr(a=>{if(!r0(a,t,null))return;const l=this.getAxisMotionValue(a),{min:c,max:u}=this.constraints[a];l.set(xs(c,u,i[a]))})}addListeners(){if(!this.visualElement.current)return;QX.set(this.visualElement,this);const t=this.visualElement.current,n=ym(t,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps();u&&d&&this.start(c)}),s=()=>{const{dragConstraints:c}=this.getProps();ld(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:i}=this.visualElement,r=i.addEventListener("measure",s);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),ss.read(s);const a=rp(window,"resize",()=>this.scalePositionWithinConstraints()),l=i.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(Lr(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=c[d].translate,f.set(f.get()+c[d].translate))}),this.visualElement.render())});return()=>{a(),n(),r(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:s=!1,dragPropagation:i=!1,dragConstraints:r=!1,dragElastic:a=RS,dragMomentum:l=!0}=t;return{...t,drag:n,dragDirectionLock:s,dragPropagation:i,dragConstraints:r,dragElastic:a,dragMomentum:l}}}function r0(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function JX(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class eQ extends Wl{constructor(t){super(t),this.removeGroupControls=Tr,this.removeListeners=Tr,this.controls=new ZX(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Tr}unmount(){this.removeGroupControls(),this.removeListeners()}}const JI=e=>(t,n)=>{e&&ss.postRender(()=>e(t,n))};class tQ extends Wl{constructor(){super(...arguments),this.removePointerDownListener=Tr}onPointerDown(t){this.session=new z6(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Q6(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:s,onPanEnd:i}=this.node.getProps();return{onSessionStart:JI(t),onStart:JI(n),onMove:s,onEnd:(r,a)=>{delete this.session,i&&ss.postRender(()=>i(r,a))}}}mount(){this.removePointerDownListener=ym(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 ob={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function eR(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const vh={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(xt.test(e))e=parseFloat(e);else return e;const n=eR(e,t.target.x),s=eR(e,t.target.y);return`${n}% ${s}%`}},nQ={correct:(e,{treeScale:t,projectionDelta:n})=>{const s=e,i=Hl.parse(e);if(i.length>5)return s;const r=Hl.createTransformer(e),a=typeof i[0]!="number"?1:0,l=n.x.scale*t.x,c=n.y.scale*t.y;i[0+a]/=l,i[1+a]/=c;const u=xs(l,c,.5);return typeof i[2+a]=="number"&&(i[2+a]/=u),typeof i[3+a]=="number"&&(i[3+a]/=u),r(i)}};class sQ extends b.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s,layoutId:i}=this.props,{projection:r}=t;CY(iQ),r&&(n.group&&n.group.add(r),s&&s.register&&i&&s.register(r),r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),ob.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:s,drag:i,isPresent:r}=this.props,a=s.projection;return a&&(a.isPresent=r,i||t.layoutDependency!==n||n===void 0?a.willUpdate():this.safeToRemove(),t.isPresent!==r&&(r?a.promote():a.relegate()||ss.postRender(()=>{const l=a.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),wN.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:s}=this.props,{projection:i}=t;i&&(i.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(i),s&&s.deregister&&s.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Z6(e){const[t,n]=L5(),s=b.useContext(bN);return o.jsx(sQ,{...e,layoutGroup:s,switchLayoutGroup:b.useContext(V5),isPresent:t,safeToRemove:n})}const iQ={borderRadius:{...vh,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:vh,borderTopRightRadius:vh,borderBottomLeftRadius:vh,borderBottomRightRadius:vh,boxShadow:nQ};function rQ(e,t,n){const s=Ii(e)?e:sp(e);return s.start(qN("",s,t,n)),s.animation}function aQ(e){return e instanceof SVGElement&&e.tagName!=="svg"}const oQ=(e,t)=>e.depth-t.depth;class lQ{constructor(){this.children=[],this.isDirty=!1}add(t){ON(this.children,t),this.isDirty=!0}remove(t){MN(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(oQ),this.isDirty=!1,this.children.forEach(t)}}function cQ(e,t){const n=za.now(),s=({timestamp:i})=>{const r=i-n;r>=t&&($l(s),e(r-t))};return ss.read(s,!0),()=>$l(s)}const J6=["TopLeft","TopRight","BottomLeft","BottomRight"],uQ=J6.length,tR=e=>typeof e=="string"?parseFloat(e):e,nR=e=>typeof e=="number"||xt.test(e);function dQ(e,t,n,s,i,r){i?(e.opacity=xs(0,n.opacity!==void 0?n.opacity:1,fQ(s)),e.opacityExit=xs(t.opacity!==void 0?t.opacity:1,0,hQ(s))):r&&(e.opacity=xs(t.opacity!==void 0?t.opacity:1,n.opacity!==void 0?n.opacity:1,s));for(let a=0;ast?1:n(Zd(e,t,s))}function iR(e,t){e.min=t.min,e.max=t.max}function Mr(e,t){iR(e.x,t.x),iR(e.y,t.y)}function rR(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function aR(e,t,n,s,i){return e-=t,e=my(e,1/n,s),i!==void 0&&(e=my(e,1/i,s)),e}function mQ(e,t=0,n=1,s=.5,i,r=e,a=e){if(Ha.test(t)&&(t=parseFloat(t),t=xs(a.min,a.max,t/100)-a.min),typeof t!="number")return;let l=xs(r.min,r.max,s);e===r&&(l-=t),e.min=aR(e.min,t,n,l,i),e.max=aR(e.max,t,n,l,i)}function oR(e,t,[n,s,i],r,a){mQ(e,t[n],t[s],t[i],t.scale,r,a)}const pQ=["x","scaleX","originX"],gQ=["y","scaleY","originY"];function lR(e,t,n,s){oR(e.x,t,pQ,n?n.x:void 0,s?s.x:void 0),oR(e.y,t,gQ,n?n.y:void 0,s?s.y:void 0)}function cR(e){return e.translate===0&&e.scale===1}function tP(e){return cR(e.x)&&cR(e.y)}function uR(e,t){return e.min===t.min&&e.max===t.max}function bQ(e,t){return uR(e.x,t.x)&&uR(e.y,t.y)}function dR(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function nP(e,t){return dR(e.x,t.x)&&dR(e.y,t.y)}function fR(e){return Cr(e.x)/Cr(e.y)}function hR(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class yQ{constructor(){this.members=[]}add(t){ON(this.members,t),t.scheduleRender()}remove(t){if(MN(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(i=>t===i);if(n===0)return!1;let s;for(let i=n;i>=0;i--){const r=this.members[i];if(r.isPresent!==!1){s=r;break}}return s?(this.promote(s),!0):!1}promote(t,n){const s=this.lead;if(t!==s&&(this.prevLead=s,this.lead=t,t.show(),s)){s.instance&&s.scheduleRender(),t.scheduleRender(),t.resumeFrom=s,n&&(t.resumeFrom.preserveOpacity=!0),s.snapshot&&(t.snapshot=s.snapshot,t.snapshot.latestValues=s.animationValues||s.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0);const{crossfade:i}=t.options;i===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:s}=t;n.onExitComplete&&n.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function xQ(e,t,n){let s="";const i=e.x.translate/t.x,r=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((i||r||a)&&(s=`translate3d(${i}px, ${r}px, ${a}px) `),(t.x!==1||t.y!==1)&&(s+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:f,rotateY:h,skewX:m,skewY:p}=n;u&&(s=`perspective(${u}px) ${s}`),d&&(s+=`rotate(${d}deg) `),f&&(s+=`rotateX(${f}deg) `),h&&(s+=`rotateY(${h}deg) `),m&&(s+=`skewX(${m}deg) `),p&&(s+=`skewY(${p}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(s+=`scale(${l}, ${c})`),s||"none"}const fc={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},Vh=typeof window<"u"&&window.MotionDebug!==void 0,ev=["","X","Y","Z"],EQ={visibility:"hidden"},mR=1e3;let vQ=0;function tv(e,t,n,s){const{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),s&&(s[e]=0))}function sP(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=a6(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:i,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",ss,!(i||r))}const{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&sP(s)}function iP({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:s,resetTransform:i}){return class{constructor(a={},l=t==null?void 0:t()){this.id=vQ++,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,Vh&&(fc.totalNodes=fc.resolvedTargetDeltas=fc.recalculatedProjection=0),this.nodes.forEach(_Q),this.nodes.forEach(CQ),this.nodes.forEach(IQ),this.nodes.forEach(TQ),Vh&&window.MotionDebug.record(fc)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;cthis.root.updateBlockedByResize=!1;e(a,()=>{this.root.updateBlockedByResize=!0,f&&f(),f=cQ(h,250),ob.hasAnimatedSinceResize&&(ob.hasAnimatedSinceResize=!1,this.nodes.forEach(gR))})}c&&this.root.registerSharedNode(c,this),this.options.animate!==!1&&d&&(c||u)&&this.addEventListener("didUpdate",({delta:f,hasLayoutChanged:h,hasRelativeTargetChanged:m,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||LQ,{onLayoutAnimationStart:v,onLayoutAnimationComplete:y}=d.getProps(),x=!this.targetLayout||!nP(this.targetLayout,p)||m,E=!h&&m;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||E||h&&(x||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(f,E);const w={...jN(g,"layout"),onPlay:v,onComplete:y};(d.shouldReduceMotion||this.options.layoutRoot)&&(w.delay=0,w.type=!1),this.startAnimation(w)}else h||gR(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}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,$l(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(RQ),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&&sP(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 c=0;c{const T=w/1e3;bR(f.x,a.x,T),bR(f.y,a.y,T),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Em(h,this.layout.layoutBox,this.relativeParent.layout.layoutBox),OQ(this.relativeTarget,this.relativeTargetOrigin,h,T),E&&bQ(this.relativeTarget,E)&&(this.isProjectionDirty=!1),E||(E=Cs()),Mr(E,this.relativeTarget)),g&&(this.animationValues=d,dQ(d,u,this.latestValues,T,x,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=T},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&&($l(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ss.update(()=>{ob.hasAnimatedSinceResize=!0,this.currentAnimation=rQ(0,mR,{...a,onUpdate:l=>{this.mixTargetDelta(l),a.onUpdate&&a.onUpdate(l)},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(mR),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:l,target:c,layout:u,latestValues:d}=a;if(!(!l||!c||!u)){if(this!==a&&this.layout&&u&&rP(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||Cs();const f=Cr(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+f;const h=Cr(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+h}Mr(l,c),fd(l,d),xm(this.projectionDeltaWithTransform,this.layoutCorrected,l,d)}}registerSharedNode(a,l){this.sharedNodes.has(a)||this.sharedNodes.set(a,new yQ),this.sharedNodes.get(a).add(l);const u=l.options.initialPromotionConfig;l.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(l):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var a;const{layoutId:l}=this.options;return l?((a=this.getStack())===null||a===void 0?void 0:a.lead)||this:this}getPrevLead(){var a;const{layoutId:l}=this.options;return l?(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:l,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let l=!1;const{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const u={};c.z&&tv("z",a,u,this.animationValues);for(let d=0;d{var l;return(l=a.currentAnimation)===null||l===void 0?void 0:l.stop()}),this.root.nodes.forEach(pR),this.root.sharedNodes.clear()}}}function wQ(e){e.updateLayout()}function SQ(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:s,measuredBox:i}=e.layout,{animationType:r}=e.options,a=n.source!==e.layout.source;r==="size"?Lr(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],m=Cr(h);h.min=s[f].min,h.max=h.min+m}):rP(r,n.layoutBox,s)&&Lr(f=>{const h=a?n.measuredBox[f]:n.layoutBox[f],m=Cr(s[f]);h.max=h.min+m,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[f].max=e.relativeTarget[f].min+m)});const l=ud();xm(l,s,n.layoutBox);const c=ud();a?xm(c,e.applyTransform(i,!0),n.measuredBox):xm(c,s,n.layoutBox);const u=!tP(l);let d=!1;if(!e.resumeFrom){const f=e.getClosestProjectingParent();if(f&&!f.resumeFrom){const{snapshot:h,layout:m}=f;if(h&&m){const p=Cs();Em(p,n.layoutBox,h.layoutBox);const g=Cs();Em(g,s,m.layoutBox),nP(p,g)||(d=!0),f.options.layoutRoot&&(e.relativeTarget=g,e.relativeTargetOrigin=p,e.relativeParent=f)}}}e.notifyListeners("didUpdate",{layout:s,snapshot:n,delta:c,layoutDelta:l,hasLayoutChanged:u,hasRelativeTargetChanged:d})}else if(e.isLead()){const{onExitComplete:s}=e.options;s&&s()}e.options.transition=void 0}function _Q(e){Vh&&fc.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 TQ(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function NQ(e){e.clearSnapshot()}function pR(e){e.clearMeasurements()}function kQ(e){e.isLayoutDirty=!1}function AQ(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function gR(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function CQ(e){e.resolveTargetDelta()}function IQ(e){e.calcProjection()}function RQ(e){e.resetSkewAndRotation()}function jQ(e){e.removeLeadSnapshot()}function bR(e,t,n){e.translate=xs(t.translate,0,n),e.scale=xs(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function yR(e,t,n,s){e.min=xs(t.min,n.min,s),e.max=xs(t.max,n.max,s)}function OQ(e,t,n,s){yR(e.x,t.x,n.x,s),yR(e.y,t.y,n.y,s)}function MQ(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const LQ={duration:.45,ease:[.4,0,.1,1]},xR=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),ER=xR("applewebkit/")&&!xR("chrome/")?Math.round:Tr;function vR(e){e.min=ER(e.min),e.max=ER(e.max)}function DQ(e){vR(e.x),vR(e.y)}function rP(e,t,n){return e==="position"||e==="preserve-aspect"&&!UX(fR(t),fR(n),.2)}function PQ(e){var t;return e!==e.root&&((t=e.scroll)===null||t===void 0?void 0:t.wasRoot)}const BQ=iP({attachResizeListener:(e,t)=>rp(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),nv={current:void 0},aP=iP({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!nv.current){const e=new BQ({});e.mount(window),e.setOptions({layoutScroll:!0}),nv.current=e}return nv.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),UQ={pan:{Feature:tQ},drag:{Feature:eQ,ProjectionNode:aP,MeasureLayout:Z6}};function FQ(e,t,n){var s;if(e instanceof Element)return[e];if(typeof e=="string"){let i=document;const r=(s=void 0)!==null&&s!==void 0?s:i.querySelectorAll(e);return r?Array.from(r):[]}return Array.from(e)}function oP(e,t){const n=FQ(e),s=new AbortController,i={passive:!0,...t,signal:s.signal};return[n,i,()=>s.abort()]}function wR(e){return t=>{t.pointerType==="touch"||H6()||e(t)}}function $Q(e,t,n={}){const[s,i,r]=oP(e,n),a=wR(l=>{const{target:c}=l,u=t(l);if(typeof u!="function"||!c)return;const d=wR(f=>{u(f),c.removeEventListener("pointerleave",d)});c.addEventListener("pointerleave",d,i)});return s.forEach(l=>{l.addEventListener("pointerenter",a,i)}),r}function SR(e,t,n){const{props:s}=e;e.animationState&&s.whileHover&&e.animationState.setActive("whileHover",n==="Start");const i="onHover"+n,r=s[i];r&&ss.postRender(()=>r(t,Kp(t)))}class HQ extends Wl{mount(){const{current:t}=this.node;t&&(this.unmount=$Q(t,n=>(SR(this.node,n,"Start"),s=>SR(this.node,s,"End"))))}unmount(){}}class zQ extends Wl{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=Gp(rp(this.node.current,"focus",()=>this.onFocus()),rp(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const lP=(e,t)=>t?e===t?!0:lP(e,t.parentElement):!1,VQ=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function GQ(e){return VQ.has(e.tagName)||e.tabIndex!==-1}const Gh=new WeakSet;function _R(e){return t=>{t.key==="Enter"&&e(t)}}function sv(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const KQ=(e,t)=>{const n=e.currentTarget;if(!n)return;const s=_R(()=>{if(Gh.has(n))return;sv(n,"down");const i=_R(()=>{sv(n,"up")}),r=()=>sv(n,"cancel");n.addEventListener("keyup",i,t),n.addEventListener("blur",r,t)});n.addEventListener("keydown",s,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",s),t)};function TR(e){return YN(e)&&!H6()}function qQ(e,t,n={}){const[s,i,r]=oP(e,n),a=l=>{const c=l.currentTarget;if(!TR(l)||Gh.has(c))return;Gh.add(c);const u=t(l),d=(m,p)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),!(!TR(m)||!Gh.has(c))&&(Gh.delete(c),typeof u=="function"&&u(m,{success:p}))},f=m=>{d(m,n.useGlobalTarget||lP(c,m.target))},h=m=>{d(m,!1)};window.addEventListener("pointerup",f,i),window.addEventListener("pointercancel",h,i)};return s.forEach(l=>{!GQ(l)&&l.getAttribute("tabindex")===null&&(l.tabIndex=0),(n.useGlobalTarget?window:l).addEventListener("pointerdown",a,i),l.addEventListener("focus",u=>KQ(u,i),i)}),r}function NR(e,t,n){const{props:s}=e;e.animationState&&s.whileTap&&e.animationState.setActive("whileTap",n==="Start");const i="onTap"+(n==="End"?"":n),r=s[i];r&&ss.postRender(()=>r(t,Kp(t)))}class YQ extends Wl{mount(){const{current:t}=this.node;t&&(this.unmount=qQ(t,n=>(NR(this.node,n,"Start"),(s,{success:i})=>NR(this.node,s,i?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const MS=new WeakMap,iv=new WeakMap,WQ=e=>{const t=MS.get(e.target);t&&t(e)},XQ=e=>{e.forEach(WQ)};function QQ({root:e,...t}){const n=e||document;iv.has(n)||iv.set(n,{});const s=iv.get(n),i=JSON.stringify(t);return s[i]||(s[i]=new IntersectionObserver(XQ,{root:e,...t})),s[i]}function ZQ(e,t,n){const s=QQ(t);return MS.set(e,n),s.observe(e),()=>{MS.delete(e),s.unobserve(e)}}const JQ={some:0,all:1};class eZ extends Wl{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:s,amount:i="some",once:r}=t,a={root:n?n.current:void 0,rootMargin:s,threshold:typeof i=="number"?i:JQ[i]},l=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,r&&!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(c)};return ZQ(this.node.current,a,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(tZ(t,n))&&this.startObserver()}unmount(){}}function tZ({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const nZ={inView:{Feature:eZ},tap:{Feature:YQ},focus:{Feature:zQ},hover:{Feature:HQ}},sZ={layout:{ProjectionNode:aP,MeasureLayout:Z6}},LS={current:null},cP={current:!1};function iZ(){if(cP.current=!0,!!yN)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>LS.current=e.matches;e.addListener(t),t()}else LS.current=!1}const rZ=[...I6,Ai,Hl],aZ=e=>rZ.find(C6(e)),kR=new WeakMap;function oZ(e,t,n){for(const s in t){const i=t[s],r=n[s];if(Ii(i))e.addValue(s,i);else if(Ii(r))e.addValue(s,sp(i,{owner:e}));else if(r!==i)if(e.hasValue(s)){const a=e.getValue(s);a.liveStyle===!0?a.jump(i):a.hasAnimated||a.set(i)}else{const a=e.getStaticValue(s);e.addValue(s,sp(a!==void 0?a:i,{owner:e}))}}for(const s in n)t[s]===void 0&&e.removeValue(s);return t}const AR=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class lZ{scrapeMotionValuesFromProps(t,n,s){return{}}constructor({parent:t,props:n,presenceContext:s,reducedMotionConfig:i,blockInitialAnimation:r,visualState:a},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=VN,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 m=za.now();this.renderScheduledAtthis.bindToMotionValue(s,n)),cP.current||iZ(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:LS.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){kR.delete(this.current),this.projection&&this.projection.unmount(),$l(this.notifyUpdate),$l(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 s=ru.has(t),i=n.on("change",l=>{this.latestValues[t]=l,this.props.onUpdate&&ss.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0)}),r=n.on("renderRequest",this.scheduleRender);let a;window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{i(),r(),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 Qd){const n=Qd[t];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[t]&&i&&s(this.props)&&(this.features[t]=new i(this)),this.features[t]){const r=this.features[t];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Cs()}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 s=0;sn.variantChildren.delete(t)}addValue(t,n){const s=this.values.get(t);n!==s&&(s&&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 s=this.values.get(t);return s===void 0&&n!==void 0&&(s=sp(n===null?void 0:n,{owner:this}),this.addValue(t,s)),s}readValue(t,n){var s;let i=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:(s=this.getBaseTargetFromProps(this.props,t))!==null&&s!==void 0?s:this.readValueFromInstance(this.current,t,this.options);return i!=null&&(typeof i=="string"&&(k6(i)||y6(i))?i=parseFloat(i):!aZ(i)&&Hl.test(n)&&(i=_6(t,n)),this.setBaseTarget(t,Ii(i)?i.get():i)),Ii(i)?i.get():i}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var n;const{initial:s}=this.props;let i;if(typeof s=="string"||typeof s=="object"){const a=_N(this.props,s,(n=this.presenceContext)===null||n===void 0?void 0:n.custom);a&&(i=a[t])}if(s&&i!==void 0)return i;const r=this.getBaseTargetFromProps(this.props,t);return r!==void 0&&!Ii(r)?r:this.initialValues[t]!==void 0&&i===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new LN),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}}class uP extends lZ{constructor(){super(...arguments),this.KeyframeResolver=R6}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:s}){delete n[t],delete s[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Ii(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function cZ(e){return window.getComputedStyle(e)}class uZ extends uP{constructor(){super(...arguments),this.type="html",this.renderInstance=Q5}readValueFromInstance(t,n){if(ru.has(n)){const s=zN(n);return s&&s.default||0}else{const s=cZ(t),i=(Y5(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return X6(t,n)}build(t,n,s){kN(t,n,s.transformTemplate)}scrapeMotionValuesFromProps(t,n,s){return RN(t,n,s)}}class dZ extends uP{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Cs}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(ru.has(n)){const s=zN(n);return s&&s.default||0}return n=Z5.has(n)?n:vN(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,s){return t6(t,n,s)}build(t,n,s){AN(t,n,this.isSVGTag,s.transformTemplate)}renderInstance(t,n,s,i){J5(t,n,s,i)}mount(t){this.isSVGTag=IN(t.tagName),super.mount(t)}}const fZ=(e,t)=>SN(e)?new dZ(t):new uZ(t,{allowProjection:e!==b.Fragment}),hZ=BY({...CX,...nZ,...UQ,...sZ},fZ),ts=Jq(hZ);function ni(){return ni=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||/ServerSideRendering/.test(navigator&&navigator.userAgent)?b.useEffect:b.useLayoutEffect;function zu(e,t,n){var s=b.useRef(t);s.current=t,b.useEffect(function(){function i(r){s.current(r)}return e&&window.addEventListener(e,i,n),function(){e&&window.removeEventListener(e,i)}},[e])}var mZ=["container"];function pZ(e){var t=e.container,n=t===void 0?document.body:t,s=k1(e,mZ);return Si.createPortal(Lt.createElement("div",ni({},s)),n)}function gZ(e){return Lt.createElement("svg",ni({width:"44",height:"44",viewBox:"0 0 768 768"},e),Lt.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 bZ(e){return Lt.createElement("svg",ni({width:"44",height:"44",viewBox:"0 0 768 768"},e),Lt.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 yZ(e){return Lt.createElement("svg",ni({width:"44",height:"44",viewBox:"0 0 768 768"},e),Lt.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function xZ(){return b.useEffect(function(){var e=document.body.style,t=e.overflow;return e.overflow="hidden",function(){e.overflow=t}},[]),null}function IR(e){var t=e.touches[0],n=t.clientX,s=t.clientY;if(e.touches.length>=2){var i=e.touches[1],r=i.clientX,a=i.clientY;return[(n+r)/2,(s+a)/2,Math.sqrt(Math.pow(r-n,2)+Math.pow(a-s,2))]}return[n,s,0]}var dl=function(e,t,n,s){var i,r=n*t,a=(r-s)/2,l=e;return r<=s?(i=1,l=0):e>0&&a-e<=0?(i=2,l=a):e<0&&a+e<=0&&(i=3,l=-a),[i,l]};function rv(e,t,n,s,i,r,a,l,c,u){a===void 0&&(a=innerWidth/2),l===void 0&&(l=innerHeight/2),c===void 0&&(c=0),u===void 0&&(u=0);var d=dl(e,r,n,innerWidth)[0],f=dl(t,r,s,innerHeight),h=innerWidth/2,m=innerHeight/2;return{x:a-r/i*(a-(h+e))-h+(s/n>=3&&n*r===innerWidth?0:d?c/2:c),y:l-r/i*(l-(m+t))-m+(f[0]?u/2:u),lastCX:a,lastCY:l}}function BS(e,t,n){var s=e%180!=0;return s?[n,t,s]:[t,n,s]}function av(e,t,n){var s=BS(n,innerWidth,innerHeight),i=s[0],r=s[1],a=0,l=i,c=r,u=e/t*r,d=t/e*i;return e=r?l=u:e>=i&&ti/r?c=d:t/e>=3&&!s[2]?a=((c=d)-r)/2:l=u,{width:l,height:c,x:0,y:a,pause:!0}}function o0(e,t){var n=t.leading,s=n!==void 0&&n,i=t.maxWait,r=t.wait,a=r===void 0?i||0:r,l=b.useRef(e);l.current=e;var c=b.useRef(0),u=b.useRef(),d=function(){return u.current&&clearTimeout(u.current)},f=b.useCallback(function(){var h=[].slice.call(arguments),m=Date.now();function p(){c.current=m,d(),l.current.apply(null,h)}var g=c.current,v=m-g;if(g===0&&(s&&p(),c.current=m),i!==void 0){if(v>i)return void p()}else v=1&&r&&r())};d()}function d(){c=requestAnimationFrame(u)}}var vZ={T:0,L:0,W:0,H:0,FIT:void 0},fP=function(){var e=b.useRef(!1);return b.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),e},wZ=["className"];function SZ(e){var t=e.className,n=t===void 0?"":t,s=k1(e,wZ);return Lt.createElement("div",ni({className:"PhotoView__Spinner "+n},s),Lt.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},Lt.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"}),Lt.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var _Z=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function TZ(e){var t=e.src,n=e.loaded,s=e.broken,i=e.className,r=e.onPhotoLoad,a=e.loadingElement,l=e.brokenElement,c=k1(e,_Z),u=fP();return t&&!s?Lt.createElement(Lt.Fragment,null,Lt.createElement("img",ni({className:"PhotoView__Photo"+(i?" "+i:""),src:t,onLoad:function(d){var f=d.target;u.current&&r({loaded:!0,naturalWidth:f.naturalWidth,naturalHeight:f.naturalHeight})},onError:function(){u.current&&r({broken:!0})},draggable:!1,alt:""},c)),!n&&(a?Lt.createElement("span",{className:"PhotoView__icon"},a):Lt.createElement(SZ,{className:"PhotoView__icon"}))):l?Lt.createElement("span",{className:"PhotoView__icon"},typeof l=="function"?l({src:t}):l):null}var NZ={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 kZ(e){var t=e.item,n=t.src,s=t.render,i=t.width,r=i===void 0?0:i,a=t.height,l=a===void 0?0:a,c=t.originRef,u=e.visible,d=e.speed,f=e.easing,h=e.wrapClassName,m=e.className,p=e.style,g=e.loadingElement,v=e.brokenElement,y=e.onPhotoTap,x=e.onMaskTap,E=e.onReachMove,w=e.onReachUp,T=e.onPhotoResize,S=e.isActive,N=e.expose,A=py(NZ),C=A[0],I=A[1],O=b.useRef(0),L=fP(),G=C.naturalWidth,D=G===void 0?r:G,F=C.naturalHeight,k=F===void 0?l:F,j=C.width,P=j===void 0?r:j,$=C.height,R=$===void 0?l:$,q=C.loaded,Q=q===void 0?!n:q,B=C.broken,ee=C.x,z=C.y,K=C.touched,ne=C.stopRaf,W=C.maskTouched,de=C.rotate,ye=C.scale,_e=C.CX,ue=C.CY,me=C.lastX,Ce=C.lastY,pe=C.lastCX,oe=C.lastCY,ve=C.lastScale,xe=C.touchTime,Ze=C.touchLength,De=C.pause,Ve=C.reach,Se=Ic({onScale:function(we){return Fe(a0(we))},onRotate:function(we){de!==we&&(N({rotate:we}),I(ni({rotate:we},av(D,k,we))))}});function Fe(we,Ue,St){ye!==we&&(N({scale:we}),I(ni({scale:we},rv(ee,z,P,R,ye,we,Ue,St),we<=1&&{x:0,y:0})))}var He=o0(function(we,Ue,St){if(St===void 0&&(St=0),(K||W)&&S){var Qt=BS(de,P,R),zt=Qt[0],Zt=Qt[1];if(St===0&&O.current===0){var Rt=Math.abs(we-_e)<=20,Yt=Math.abs(Ue-ue)<=20;if(Rt&&Yt)return void I({lastCX:we,lastCY:Ue});O.current=Rt?Ue>ue?3:2:1}var jt,Bt=we-pe,Gn=Ue-oe;if(St===0){var Ds=dl(Bt+me,ye,zt,innerWidth)[0],mi=dl(Gn+Ce,ye,Zt,innerHeight);jt=function(Kn,cn,Sn,rs){return cn&&Kn===1||rs==="x"?"x":Sn&&Kn>1||rs==="y"?"y":void 0}(O.current,Ds,mi[0],Ve),jt!==void 0&&E(jt,we,Ue,ye)}if(jt==="x"||W)return void I({reach:"x"});var Bn=a0(ye+(St-Ze)/100/2*ye,D/P,.2);N({scale:Bn}),I(ni({touchLength:St,reach:jt,scale:Bn},rv(ee,z,P,R,ye,Bn,we,Ue,Bt,Gn)))}},{maxWait:8});function Ge(we){return!ne&&!K&&(L.current&&I(ni({},we,{pause:u})),L.current)}var X,ie,se,ge,Pe,Ye,bt,ot,fn=(Pe=function(we){return Ge({x:we})},Ye=function(we){return Ge({y:we})},bt=function(we){return L.current&&(N({scale:we}),I({scale:we})),!K&&L.current},ot=Ic({X:function(we){return Pe(we)},Y:function(we){return Ye(we)},S:function(we){return bt(we)}}),function(we,Ue,St,Qt,zt,Zt,Rt,Yt,jt,Bt,Gn){var Ds=BS(Bt,zt,Zt),mi=Ds[0],Bn=Ds[1],Kn=dl(we,Yt,mi,innerWidth),cn=Kn[0],Sn=Kn[1],rs=dl(Ue,Yt,Bn,innerHeight),Ps=rs[0],Qs=rs[1],ms=Date.now()-Gn;if(ms>=200||Yt!==Rt||Math.abs(jt-Rt)>1){var vs=rv(we,Ue,zt,Zt,Rt,Yt),Un=vs.x,qn=vs.y,un=cn?Sn:Un!==we?Un:null,ps=Ps?Qs:qn!==Ue?qn:null;return un!==null&&bc(we,un,ot.X),ps!==null&&bc(Ue,ps,ot.Y),void(Yt!==Rt&&bc(Rt,Yt,ot.S))}var ks=(we-St)/ms,yn=(Ue-Qt)/ms,Jt=Math.sqrt(Math.pow(ks,2)+Math.pow(yn,2)),fe=!1,Me=!1;(function(je,tt){var et,ht=je,Ae=0,Ot=0,en=function(Nt){et||(et=Nt);var rt=Nt-et,ws=Math.sign(je),Yn=-.001*ws,Wn=Math.sign(-ht)*Math.pow(ht,2)*2e-4,Bs=ht*rt+(Yn+Wn)*Math.pow(rt,2)/2;Ae+=Bs,et=Nt,ws*(ht+=(Yn+Wn)*rt)<=0?Rn():tt(Ae)?In():Rn()};function In(){Ot=requestAnimationFrame(en)}function Rn(){cancelAnimationFrame(Ot)}In()})(Jt,function(je){var tt=we+je*(ks/Jt),et=Ue+je*(yn/Jt),ht=dl(tt,Rt,mi,innerWidth),Ae=ht[0],Ot=ht[1],en=dl(et,Rt,Bn,innerHeight),In=en[0],Rn=en[1];if(Ae&&!fe&&(fe=!0,cn?bc(tt,Ot,ot.X):RR(Ot,tt+(tt-Ot),ot.X)),In&&!Me&&(Me=!0,Ps?bc(et,Rn,ot.Y):RR(Rn,et+(et-Rn),ot.Y)),fe&&Me)return!1;var Nt=fe||ot.X(Ot),rt=Me||ot.Y(Rn);return Nt&&rt})}),It=(X=y,ie=function(we,Ue){Ve||Fe(ye!==1?1:Math.max(2,D/P),we,Ue)},se=b.useRef(0),ge=o0(function(){se.current=0,X.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var we=[].slice.call(arguments);se.current+=1,ge.apply(void 0,we),se.current>=2&&(ge.cancel(),se.current=0,ie.apply(void 0,we))});function Et(we,Ue){if(O.current=0,(K||W)&&S){I({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var St=a0(ye,D/P);if(fn(ee,z,me,Ce,P,R,ye,St,ve,de,xe),w(we,Ue),_e===we&&ue===Ue){if(K)return void It(we,Ue);W&&x(we,Ue)}}}function yt(we,Ue,St){St===void 0&&(St=0),I({touched:!0,CX:we,CY:Ue,lastCX:we,lastCY:Ue,lastX:ee,lastY:z,lastScale:ye,touchLength:St,touchTime:Date.now()})}function $e(we){I({maskTouched:!0,CX:we.clientX,CY:we.clientY,lastX:ee,lastY:z})}zu(fo?void 0:"mousemove",function(we){we.preventDefault(),He(we.clientX,we.clientY)}),zu(fo?void 0:"mouseup",function(we){Et(we.clientX,we.clientY)}),zu(fo?"touchmove":void 0,function(we){we.preventDefault();var Ue=IR(we);He.apply(void 0,Ue)},{passive:!1}),zu(fo?"touchend":void 0,function(we){var Ue=we.changedTouches[0];Et(Ue.clientX,Ue.clientY)},{passive:!1}),zu("resize",o0(function(){Q&&!K&&(I(av(D,k,de)),T())},{maxWait:8})),PS(function(){S&&N(ni({scale:ye,rotate:de},Se))},[S]);var qt=function(we,Ue,St,Qt,zt,Zt,Rt,Yt,jt,Bt){var Gn=function(Un,qn,un,ps,ks){var yn=b.useRef(!1),Jt=py({lead:!0,scale:un}),fe=Jt[0],Me=fe.lead,je=fe.scale,tt=Jt[1],et=o0(function(ht){try{return ks(!0),tt({lead:!1,scale:ht}),Promise.resolve()}catch(Ae){return Promise.reject(Ae)}},{wait:ps});return PS(function(){yn.current?(ks(!1),tt({lead:!0}),et(un)):yn.current=!0},[un]),Me?[Un*je,qn*je,un/je]:[Un*un,qn*un,1]}(Zt,Rt,Yt,jt,Bt),Ds=Gn[0],mi=Gn[1],Bn=Gn[2],Kn=function(Un,qn,un,ps,ks){var yn=b.useState(vZ),Jt=yn[0],fe=yn[1],Me=b.useState(0),je=Me[0],tt=Me[1],et=b.useRef(),ht=Ic({OK:function(){return Un&&tt(4)}});function Ae(Ot){ks(!1),tt(Ot)}return b.useEffect(function(){if(et.current||(et.current=Date.now()),un){if(function(Ot,en){var In=Ot&&Ot.current;if(In&&In.nodeType===1){var Rn=In.getBoundingClientRect();en({T:Rn.top,L:Rn.left,W:Rn.width,H:Rn.height,FIT:In.tagName==="IMG"?getComputedStyle(In).objectFit:void 0})}}(qn,fe),Un)return Date.now()-et.current<250?(tt(1),requestAnimationFrame(function(){tt(2),requestAnimationFrame(function(){return Ae(3)})}),void setTimeout(ht.OK,ps)):void tt(4);Ae(5)}},[Un,un]),[je,Jt]}(we,Ue,St,jt,Bt),cn=Kn[0],Sn=Kn[1],rs=Sn.W,Ps=Sn.FIT,Qs=innerWidth/2,ms=innerHeight/2,vs=cn<3||cn>4;return[vs?rs?Sn.L:Qs:Qt+(Qs-Zt*Yt/2),vs?rs?Sn.T:ms:zt+(ms-Rt*Yt/2),Ds,vs&&Ps?Ds*(Sn.H/rs):mi,cn===0?Bn:vs?rs/(Zt*Yt)||.01:Bn,vs?Ps?1:0:1,cn,Ps]}(u,c,Q,ee,z,P,R,ye,d,function(we){return I({pause:we})}),it=qt[4],vt=qt[6],Xe="transform "+d+"ms "+f,Tt={className:m,onMouseDown:fo?void 0:function(we){we.stopPropagation(),we.button===0&&yt(we.clientX,we.clientY,0)},onTouchStart:fo?function(we){we.stopPropagation(),yt.apply(void 0,IR(we))}:void 0,onWheel:function(we){if(!Ve){var Ue=a0(ye-we.deltaY/100/2,D/P);I({stopRaf:!0}),Fe(Ue,we.clientX,we.clientY)}},style:{width:qt[2]+"px",height:qt[3]+"px",opacity:qt[5],objectFit:vt===4?void 0:qt[7],transform:de?"rotate("+de+"deg)":void 0,transition:vt>2?Xe+", opacity "+d+"ms ease, height "+(vt<4?d/2:vt>4?d:0)+"ms "+f:void 0}};return Lt.createElement("div",{className:"PhotoView__PhotoWrap"+(h?" "+h:""),style:p,onMouseDown:!fo&&S?$e:void 0,onTouchStart:fo&&S?function(we){return $e(we.touches[0])}:void 0},Lt.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+it+", 0, 0, "+it+", "+qt[0]+", "+qt[1]+")",transition:K||De?void 0:Xe,willChange:S?"transform":void 0}},n?Lt.createElement(TZ,ni({src:n,loaded:Q,broken:B},Tt,{onPhotoLoad:function(we){I(ni({},we,we.loaded&&av(we.naturalWidth||0,we.naturalHeight||0,de)))},loadingElement:g,brokenElement:v})):s&&s({attrs:Tt,scale:it,rotate:de})))}var jR={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 AZ(e){var t=e.loop,n=t===void 0?3:t,s=e.speed,i=e.easing,r=e.photoClosable,a=e.maskClosable,l=a===void 0||a,c=e.maskOpacity,u=c===void 0?1:c,d=e.pullClosable,f=d===void 0||d,h=e.bannerVisible,m=h===void 0||h,p=e.overlayRender,g=e.toolbarRender,v=e.className,y=e.maskClassName,x=e.photoClassName,E=e.photoWrapClassName,w=e.loadingElement,T=e.brokenElement,S=e.images,N=e.index,A=N===void 0?0:N,C=e.onIndexChange,I=e.visible,O=e.onClose,L=e.afterClose,G=e.portalContainer,D=py(jR),F=D[0],k=D[1],j=b.useState(0),P=j[0],$=j[1],R=F.x,q=F.touched,Q=F.pause,B=F.lastCX,ee=F.lastCY,z=F.bg,K=z===void 0?u:z,ne=F.lastBg,W=F.overlay,de=F.minimal,ye=F.scale,_e=F.rotate,ue=F.onScale,me=F.onRotate,Ce=e.hasOwnProperty("index"),pe=Ce?A:P,oe=Ce?C:$,ve=b.useRef(pe),xe=S.length,Ze=S[pe],De=typeof n=="boolean"?n:xe>n,Ve=function(it,vt){var Xe=b.useReducer(function(St){return!St},!1)[1],Tt=b.useRef(0),we=function(St){var Qt=b.useRef(St);function zt(Zt){Qt.current=Zt}return b.useMemo(function(){(function(Zt){it?(Zt(it),Tt.current=1):Tt.current=2})(zt)},[St]),[Qt.current,zt]}(it),Ue=we[1];return[we[0],Tt.current,function(){Xe(),Tt.current===2&&(Ue(!1),vt&&vt()),Tt.current=0}]}(I,L),Se=Ve[0],Fe=Ve[1],He=Ve[2];PS(function(){if(Se)return k({pause:!0,x:pe*-(innerWidth+Au)}),void(ve.current=pe);k(jR)},[Se]);var Ge=Ic({close:function(it){me&&me(0),k({overlay:!0,lastBg:K}),O(it)},changeIndex:function(it,vt){vt===void 0&&(vt=!1);var Xe=De?ve.current+(it-pe):it,Tt=xe-1,we=DS(Xe,0,Tt),Ue=De?Xe:we,St=innerWidth+Au;k({touched:!1,lastCX:void 0,lastCY:void 0,x:-St*Ue,pause:vt}),ve.current=Ue,oe&&oe(De?it<0?Tt:it>Tt?0:it:we)}}),X=Ge.close,ie=Ge.changeIndex;function se(it){return it?X():k({overlay:!W})}function ge(){k({x:-(innerWidth+Au)*pe,lastCX:void 0,lastCY:void 0,pause:!0}),ve.current=pe}function Pe(it,vt,Xe,Tt){it==="x"?function(we){if(B!==void 0){var Ue=we-B,St=Ue;!De&&(pe===0&&Ue>0||pe===xe-1&&Ue<0)&&(St=Ue/2),k({touched:!0,lastCX:B,x:-(innerWidth+Au)*ve.current+St,pause:!1})}else k({touched:!0,lastCX:we,x:R,pause:!1})}(vt):it==="y"&&function(we,Ue){if(ee!==void 0){var St=u===null?null:DS(u,.01,u-Math.abs(we-ee)/100/4);k({touched:!0,lastCY:ee,bg:Ue===1?St:u,minimal:Ue===1})}else k({touched:!0,lastCY:we,bg:K,minimal:!0})}(Xe,Tt)}function Ye(it,vt){var Xe=it-(B??it),Tt=vt-(ee??vt),we=!1;if(Xe<-40)ie(pe+1);else if(Xe>40)ie(pe-1);else{var Ue=-(innerWidth+Au)*ve.current;Math.abs(Tt)>100&&de&&f&&(we=!0,X()),k({touched:!1,x:Ue,lastCX:void 0,lastCY:void 0,bg:u,overlay:!!we||W})}}zu("keydown",function(it){if(I)switch(it.key){case"ArrowLeft":ie(pe-1,!0);break;case"ArrowRight":ie(pe+1,!0);break;case"Escape":X()}});var bt=function(it,vt,Xe){return b.useMemo(function(){var Tt=it.length;return Xe?it.concat(it).concat(it).slice(Tt+vt-1,Tt+vt+2):it.slice(Math.max(vt-1,0),Math.min(vt+2,Tt+1))},[it,vt,Xe])}(S,pe,De);if(!Se)return null;var ot=W&&!Fe,fn=I?K:ne,It=ue&&me&&{images:S,index:pe,visible:I,onClose:X,onIndexChange:ie,overlayVisible:ot,overlay:Ze&&Ze.overlay,scale:ye,rotate:_e,onScale:ue,onRotate:me},Et=s?s(Fe):400,yt=i?i(Fe):CR,$e=s?s(3):600,qt=i?i(3):CR;return Lt.createElement(pZ,{className:"PhotoView-Portal"+(ot?"":" PhotoView-Slider__clean")+(I?"":" PhotoView-Slider__willClose")+(v?" "+v:""),role:"dialog",onClick:function(it){return it.stopPropagation()},container:G},I&&Lt.createElement(xZ,null),Lt.createElement("div",{className:"PhotoView-Slider__Backdrop"+(y?" "+y:"")+(Fe===1?" PhotoView-Slider__fadeIn":Fe===2?" PhotoView-Slider__fadeOut":""),style:{background:fn?"rgba(0, 0, 0, "+fn+")":void 0,transitionTimingFunction:yt,transitionDuration:(q?0:Et)+"ms",animationDuration:Et+"ms"},onAnimationEnd:He}),m&&Lt.createElement("div",{className:"PhotoView-Slider__BannerWrap"},Lt.createElement("div",{className:"PhotoView-Slider__Counter"},pe+1," / ",xe),Lt.createElement("div",{className:"PhotoView-Slider__BannerRight"},g&&It&&g(It),Lt.createElement(gZ,{className:"PhotoView-Slider__toolbarIcon",onClick:X}))),bt.map(function(it,vt){var Xe=De||pe!==0?ve.current-1+vt:pe+vt;return Lt.createElement(kZ,{key:De?it.key+"/"+it.src+"/"+Xe:it.key,item:it,speed:Et,easing:yt,visible:I,onReachMove:Pe,onReachUp:Ye,onPhotoTap:function(){return se(r)},onMaskTap:function(){return se(l)},wrapClassName:E,className:x,style:{left:(innerWidth+Au)*Xe+"px",transform:"translate3d("+R+"px, 0px, 0)",transition:q||Q?void 0:"transform "+$e+"ms "+qt},loadingElement:w,brokenElement:T,onPhotoResize:ge,isActive:ve.current===Xe,expose:k})}),!fo&&m&&Lt.createElement(Lt.Fragment,null,(De||pe!==0)&&Lt.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return ie(pe-1,!0)}},Lt.createElement(bZ,null)),(De||pe+1-1){var y=u.slice();return y.splice(v,1,g),void l({images:y})}l(function(x){return{images:x.images.concat(g)}})},remove:function(g){l(function(v){var y=v.images.filter(function(x){return x.key!==g});return{images:y,index:Math.min(y.length-1,f)}})},show:function(g){var v=u.findIndex(function(y){return y.key===g});l({visible:!0,index:v}),s&&s(!0,v,a)}}),m=Ic({close:function(){l({visible:!1}),s&&s(!1,f,a)},changeIndex:function(g){l({index:g}),n&&n(g,a)}}),p=b.useMemo(function(){return ni({},a,h)},[a,h]);return Lt.createElement(dP.Provider,{value:p},t,Lt.createElement(AZ,ni({images:u,visible:d,index:f,onIndexChange:m.changeIndex,onClose:m.close},i)))}var hP=function(e){var t,n,s=e.src,i=e.render,r=e.overlay,a=e.width,l=e.height,c=e.triggers,u=c===void 0?["onClick"]:c,d=e.children,f=b.useContext(dP),h=(t=function(){return f.nextId()},(n=b.useRef({sign:!1,fn:void 0}).current).sign||(n.sign=!0,n.fn=t()),n.fn),m=b.useRef(null);b.useImperativeHandle(d==null?void 0:d.ref,function(){return m.current}),b.useEffect(function(){return function(){f.remove(h)}},[]);var p=Ic({render:function(v){return i&&i(v)},show:function(v,y){f.show(h),function(x,E){if(d){var w=d.props[x];w&&w(E)}}(v,y)}}),g=b.useMemo(function(){var v={};return u.forEach(function(y){v[y]=p.show.bind(null,y)}),v},[]);return b.useEffect(function(){f.update({key:h,src:s,originRef:m,render:p.render,overlay:r,width:a,height:l})},[s]),d?b.Children.only(b.cloneElement(d,ni({},g,{ref:m}))):null};/** * @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 _Z=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),cP=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim();/** + */const jZ=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),mP=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.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 TZ={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 OZ={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 NZ=b.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:i="",children:r,iconNode:a,...l},c)=>b.createElement("svg",{ref:c,...TZ,width:t,height:t,stroke:e,strokeWidth:s?Number(n)*24/Number(t):n,className:cP("lucide",i),...l},[...a.map(([u,d])=>b.createElement(u,d)),...Array.isArray(r)?r:[r]]));/** + */const MZ=b.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:i="",children:r,iconNode:a,...l},c)=>b.createElement("svg",{ref:c,...OZ,width:t,height:t,stroke:e,strokeWidth:s?Number(n)*24/Number(t):n,className:mP("lucide",i),...l},[...a.map(([u,d])=>b.createElement(u,d)),...Array.isArray(r)?r:[r]]));/** * @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 He=(e,t)=>{const n=b.forwardRef(({className:s,...i},r)=>b.createElement(NZ,{ref:r,iconNode:t,className:cP(`lucide-${_Z(e)}`,s),...i}));return n.displayName=`${e}`,n};/** + */const ze=(e,t)=>{const n=b.forwardRef(({className:s,...i},r)=>b.createElement(MZ,{ref:r,iconNode:t,className:mP(`lucide-${jZ(e)}`,s),...i}));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 kZ=He("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const LZ=ze("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @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 KN=He("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** + */const WN=ze("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 uP=He("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 pP=ze("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. * See the LICENSE file in the root directory of this source tree. - */const vm=He("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** + */const vm=ze("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** * @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 dP=He("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + */const gP=ze("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 fP=He("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 bP=ze("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 AZ=He("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** + */const DZ=ze("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** * @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 Hc=He("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 Hc=ze("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 CZ=He("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 PZ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const IZ=He("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + */const BZ=ze("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @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 RZ=He("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/** + */const UZ=ze("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/** * @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 Ya=He("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const Ya=ze("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @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=He("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const FZ=ze("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 zl=He("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const zl=ze("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 qN=He("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 XN=ze("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 jZ=He("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const $Z=ze("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. * See the LICENSE file in the root directory of this source tree. - */const IR=He("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** + */const OR=ze("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** * @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=He("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 HZ=ze("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 YN=He("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 QN=ze("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. * See the LICENSE file in the root directory of this source tree. - */const k1=He("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const A1=ze("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @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=He("CornerDownRight",[["polyline",{points:"15 10 20 15 15 20",key:"1q7qjw"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]);/** + */const zZ=ze("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 DZ=He("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 VZ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const ob=He("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/** + */const lb=ze("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/** * @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 A1=He("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + */const C1=ze("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** * @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=He("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** + */const GZ=ze("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** * @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 WN=He("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 I1=ze("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 BZ=He("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const KZ=ze("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @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 hP=He("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 yP=ze("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. * See the LICENSE file in the root directory of this source tree. - */const UZ=He("FileArchive",[["path",{d:"M10 12v-1",key:"v7bkov"}],["path",{d:"M10 18v-2",key:"1cjy8d"}],["path",{d:"M10 7V6",key:"dljcrl"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01",key:"gkbcor"}],["circle",{cx:"10",cy:"20",r:"2",key:"1xzdoj"}]]);/** + */const qZ=ze("FileArchive",[["path",{d:"M10 12v-1",key:"v7bkov"}],["path",{d:"M10 18v-2",key:"1cjy8d"}],["path",{d:"M10 7V6",key:"dljcrl"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01",key:"gkbcor"}],["circle",{cx:"10",cy:"20",r:"2",key:"1xzdoj"}]]);/** * @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 RR=He("FileCode2",[["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:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** + */const MR=ze("FileCode2",[["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:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** * @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 FZ=He("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 YZ=ze("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 $Z=He("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 WZ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const XN=He("FileText",[["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:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + */const ZN=ze("FileText",[["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:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** * @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=He("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 XZ=ze("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 mP=He("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 xP=ze("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 zZ=He("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 QZ=ze("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 VZ=He("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 ZZ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const GZ=He("FolderTree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]);/** + */const JZ=ze("FolderTree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]);/** * @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 QN=He("FolderUp",[["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"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m9 13 3-3 3 3",key:"1pxg3c"}]]);/** + */const JN=ze("FolderUp",[["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"}],["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"m9 13 3-3 3 3",key:"1pxg3c"}]]);/** * @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 pP=He("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 EP=ze("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 KZ=He("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 eJ=ze("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 qZ=He("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 tJ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const C1=He("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** + */const R1=ze("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** * @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 YZ=He("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** + */const nJ=ze("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** * @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 WZ=He("Headset",[["path",{d:"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z",key:"12oyoe"}],["path",{d:"M21 16v2a4 4 0 0 1-4 4h-5",key:"1x7m43"}]]);/** + */const sJ=ze("Headset",[["path",{d:"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z",key:"12oyoe"}],["path",{d:"M21 16v2a4 4 0 0 1-4 4h-5",key:"1x7m43"}]]);/** * @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 ZN=He("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** + */const ek=ze("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** * @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 au=He("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 au=ze("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 XZ=He("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);/** + */const iJ=ze("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);/** * @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 gP=He("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 vP=ze("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 QZ=He("LayoutTemplate",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]);/** + */const rJ=ze("LayoutTemplate",[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]]);/** * @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 bP=He("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 wP=ze("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. * See the LICENSE file in the root directory of this source tree. - */const wn=He("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const gn=ze("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @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 ZZ=He("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 aJ=ze("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 JZ=He("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 oJ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const Rc=He("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]);/** + */const Rc=ze("Maximize2",[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["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 eJ=He("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);/** + */const lJ=ze("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 yP=He("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 SP=ze("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 tJ=He("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** + */const cJ=ze("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** * @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 nJ=He("Microscope",[["path",{d:"M6 18h8",key:"1borvv"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M14 22a7 7 0 1 0 0-14h-1",key:"1jwaiy"}],["path",{d:"M9 14h2",key:"197e7h"}],["path",{d:"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z",key:"1bmzmy"}],["path",{d:"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3",key:"1drr47"}]]);/** + */const uJ=ze("Microscope",[["path",{d:"M6 18h8",key:"1borvv"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M14 22a7 7 0 1 0 0-14h-1",key:"1jwaiy"}],["path",{d:"M9 14h2",key:"197e7h"}],["path",{d:"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z",key:"1bmzmy"}],["path",{d:"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3",key:"1drr47"}]]);/** * @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 sJ=He("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 dJ=ze("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 iJ=He("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 fJ=ze("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 rJ=He("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + */const hJ=ze("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** * @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 aJ=He("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 mJ=ze("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 oJ=He("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 pJ=ze("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 lJ=He("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 gJ=ze("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 cJ=He("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/** + */const bJ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const bi=He("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const vi=ze("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** * @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 uJ=He("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 yJ=ze("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 JN=He("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 tk=ze("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 dJ=He("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 xJ=ze("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 fJ=He("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 EJ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const py=He("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const gy=ze("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @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 hJ=He("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const vJ=ze("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @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 mJ=He("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 wJ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const OR=He("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const LR=ze("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @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 zc=He("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** + */const zc=ze("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** * @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 pJ=He("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 SJ=ze("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. * See the LICENSE file in the root directory of this source tree. - */const Po=He("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** + */const Po=ze("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** * @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 gJ=He("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 _J=ze("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 bJ=He("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** + */const TJ=ze("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** * @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 yJ=He("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** + */const NJ=ze("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** * @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 xJ=He("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** + */const kJ=ze("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** * @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 EJ=He("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);/** + */const AJ=ze("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);/** * @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 xP=He("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 _P=ze("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 Ei=He("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),jR="veadk_auth_qs";let wh=null;function vJ(){if(wh!==null)return wh;const t=new URLSearchParams(window.location.search).toString();return t?(sessionStorage.setItem(jR,t),wh=t):wh=sessionStorage.getItem(jR)??"",window.location.search&&window.history.replaceState(null,"",window.location.pathname+window.location.hash),wh}function An(e){const t=vJ();if(!t)return e;const n=new URL(e,window.location.origin);return new URLSearchParams(t).forEach((s,i)=>{n.searchParams.has(i)||n.searchParams.set(i,s)}),/^https?:\/\//i.test(e)?n.toString():n.pathname+n.search+n.hash}const Of=3e4,Kp=12e4,EP=1e4;function Dn(e,t=Of){if(t<=0)return e??void 0;const n=AbortSignal.timeout(t);return e?AbortSignal.any([e,n]):n}const gy="veadk_local_user",by="veadk_local_user_tab",wJ=/^[A-Za-z0-9]{1,16}$/;function vP(){try{const e=sessionStorage.getItem(by);if(e)return e;const t=localStorage.getItem(gy);return t&&sessionStorage.setItem(by,t),t}catch{try{return localStorage.getItem(gy)}catch{return null}}}function MR(e){try{sessionStorage.setItem(by,e)}catch{}try{localStorage.setItem(gy,e)}catch{}}function SJ(){try{sessionStorage.removeItem(by)}catch{}try{localStorage.removeItem(gy)}catch{}}function I1(e){const t=new Headers(e),n=vP();return n&&t.set("X-VeADK-Local-User",n),t}async function wP(){let e;try{e=await fetch("/web/auth-config",{headers:{Accept:"application/json"},signal:Dn(void 0,EP)})}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 _J(e){const t=window.location.pathname+window.location.search+window.location.hash,n=e.includes("?")?"&":"?";window.location.assign(`${e}${n}redirect=${encodeURIComponent(t)}`)}function TJ(){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 NJ(){const[e,t]=await Promise.all([DS(),wP()]);return e.status==="unauthenticated"&&t.length>0}function kJ(){window.location.assign("/oauth2/logout")}async function DS(){let e;try{e=await fetch("/oauth2/userinfo",{headers:{Accept:"application/json"},signal:Dn(void 0,EP)})}catch(n){throw console.warn("[identity] /oauth2/userinfo is unreachable:",n),new Error("无法连接身份服务,请检查网络后重试。")}if(e.ok){let n;try{n=await e.json()}catch(i){throw console.warn("[identity] /oauth2/userinfo returned a non-JSON response:",i),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=vP();return t?{status:"authenticated",userId:t,info:{name:t},local:!0}:{status:"unauthenticated",userId:"",local:!0}}function AJ(e){return e?String(e.name??e.preferred_username??e.email??e.sub??""):""}function CJ(e){const t=e==null?void 0:e.picture;return typeof t=="string"?t.trim():""}const PS="veadk:authentication-required";let wm=null,Kh=null;function IJ(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 RJ(e){wm||(wm=new Promise(n=>{Kh=n}),window.dispatchEvent(new Event(PS)));const t=wm;return e?e.aborted?Promise.reject(e.reason??new Error("Request aborted")):new Promise((n,s)=>{const i=()=>s(e.reason??new Error("Request aborted"));e.addEventListener("abort",i,{once:!0}),t.then(()=>{e.removeEventListener("abort",i),n()},r=>{e.removeEventListener("abort",i),s(r)})}):t}function OJ(){return wm!==null}function jJ(){Kh==null||Kh(),Kh=null,wm=null}async function R1(e,t){var s;const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const i=((s=e.headers.get("content-type"))==null?void 0:s.split(";",1)[0])||"Content-Type 缺失",r=n.trim().slice(0,2e3),a=r?` -响应:${r}`:"";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},${i})${a}`)}}const MJ=/\brun_sse\s*failed\s*:\s*404\b/i,LJ=/session not found/i,DJ=/(?:^|[::\s])not found\s*$/i,PJ=/Expecting (?:'[^']+'|\w+)(?: delimiter)?: line \d+ column \d+ \(char \d+\)/i,LR="提示:会话已不存在。使用 in-memory 或 SQLite 短期记忆时,多实例、进程重启或滚动发布都可能导致会话丢失;建议改用基于数据库的持久化短期记忆存储。",DR="提示:该 Runtime 未提供会话能力运行接口,可能是 Runtime 版本与当前 Studio 不兼容。",PR="提示:模型生成的工具参数格式不完整,请重新发送一次。";function o0(e){const t=String(e);return PJ.test(t)?t.includes(PR)?t:`${t} + */const _i=ze("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),DR="veadk_auth_qs";let wh=null;function CJ(){if(wh!==null)return wh;const t=new URLSearchParams(window.location.search).toString();return t?(sessionStorage.setItem(DR,t),wh=t):wh=sessionStorage.getItem(DR)??"",window.location.search&&window.history.replaceState(null,"",window.location.pathname+window.location.hash),wh}function kn(e){const t=CJ();if(!t)return e;const n=new URL(e,window.location.origin);return new URLSearchParams(t).forEach((s,i)=>{n.searchParams.has(i)||n.searchParams.set(i,s)}),/^https?:\/\//i.test(e)?n.toString():n.pathname+n.search+n.hash}const jf=3e4,qp=12e4,TP=1e4;function Ln(e,t=jf){if(t<=0)return e??void 0;const n=AbortSignal.timeout(t);return e?AbortSignal.any([e,n]):n}const by="veadk_local_user",yy="veadk_local_user_tab",IJ=/^[A-Za-z0-9]{1,16}$/;function NP(){try{const e=sessionStorage.getItem(yy);if(e)return e;const t=localStorage.getItem(by);return t&&sessionStorage.setItem(yy,t),t}catch{try{return localStorage.getItem(by)}catch{return null}}}function PR(e){try{sessionStorage.setItem(yy,e)}catch{}try{localStorage.setItem(by,e)}catch{}}function RJ(){try{sessionStorage.removeItem(yy)}catch{}try{localStorage.removeItem(by)}catch{}}function j1(e){const t=new Headers(e),n=NP();return n&&t.set("X-VeADK-Local-User",n),t}async function kP(){let e;try{e=await fetch("/web/auth-config",{headers:{Accept:"application/json"},signal:Ln(void 0,TP)})}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 jJ(e){const t=window.location.pathname+window.location.search+window.location.hash,n=e.includes("?")?"&":"?";window.location.assign(`${e}${n}redirect=${encodeURIComponent(t)}`)}function OJ(){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 MJ(){const[e,t]=await Promise.all([US(),kP()]);return e.status==="unauthenticated"&&t.length>0}function LJ(){window.location.assign("/oauth2/logout")}async function US(){let e;try{e=await fetch("/oauth2/userinfo",{headers:{Accept:"application/json"},signal:Ln(void 0,TP)})}catch(n){throw console.warn("[identity] /oauth2/userinfo is unreachable:",n),new Error("无法连接身份服务,请检查网络后重试。")}if(e.ok){let n;try{n=await e.json()}catch(i){throw console.warn("[identity] /oauth2/userinfo returned a non-JSON response:",i),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=NP();return t?{status:"authenticated",userId:t,info:{name:t},local:!0}:{status:"unauthenticated",userId:"",local:!0}}function DJ(e){return e?String(e.name??e.preferred_username??e.email??e.sub??""):""}function PJ(e){const t=e==null?void 0:e.picture;return typeof t=="string"?t.trim():""}const FS="veadk:authentication-required";let wm=null,Kh=null;function BJ(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 UJ(e){wm||(wm=new Promise(n=>{Kh=n}),window.dispatchEvent(new Event(FS)));const t=wm;return e?e.aborted?Promise.reject(e.reason??new Error("Request aborted")):new Promise((n,s)=>{const i=()=>s(e.reason??new Error("Request aborted"));e.addEventListener("abort",i,{once:!0}),t.then(()=>{e.removeEventListener("abort",i),n()},r=>{e.removeEventListener("abort",i),s(r)})}):t}function FJ(){return wm!==null}function $J(){Kh==null||Kh(),Kh=null,wm=null}async function O1(e,t){var s;const n=await e.text().catch(()=>"");try{return JSON.parse(n)}catch{const i=((s=e.headers.get("content-type"))==null?void 0:s.split(";",1)[0])||"Content-Type 缺失",r=n.trim().slice(0,2e3),a=r?` +响应:${r}`:"";throw new Error(`${t}:服务端返回非 JSON 响应(HTTP ${e.status},${i})${a}`)}}const HJ=/\brun_sse\s*failed\s*:\s*404\b/i,zJ=/session not found/i,VJ=/(?:^|[::\s])not found\s*$/i,GJ=/Expecting (?:'[^']+'|\w+)(?: delimiter)?: line \d+ column \d+ \(char \d+\)/i,BR="提示:会话已不存在。使用 in-memory 或 SQLite 短期记忆时,多实例、进程重启或滚动发布都可能导致会话丢失;建议改用基于数据库的持久化短期记忆存储。",UR="提示:该 Runtime 未提供会话能力运行接口,可能是 Runtime 版本与当前 Studio 不兼容。",FR="提示:模型生成的工具参数格式不完整,请重新发送一次。";function l0(e){const t=String(e);return GJ.test(t)?t.includes(FR)?t:`${t} -${PR}`:MJ.test(t)?LJ.test(t)?t.includes(LR)?t:`${t} +${FR}`:HJ.test(t)?zJ.test(t)?t.includes(BR)?t:`${t} -${LR}`:DJ.test(t)?t.includes(DR)?t:`${t} +${BR}`:VJ.test(t)?t.includes(UR)?t:`${t} -${DR}`:t:t}async function*ek(e){if(!e.body)throw new Error("Response has no body");const t=e.body.getReader(),n=new TextDecoder;let s="";try{for(;;){const{done:i,value:r}=await t.read();if(i)break;s+=n.decode(r,{stream:!0});let a=s.match(/\r?\n\r?\n/);for(;(a==null?void 0:a.index)!==void 0;){const l=s.slice(0,a.index);s=s.slice(a.index+a[0].length);const c=l.split(/\r?\n/).filter(u=>u.startsWith("data:")).map(u=>u.slice(5).trimStart()).join(` -`);if(c)try{yield JSON.parse(c)}catch{c!=="[DONE]"&&c!=="ping"&&console.debug(`parseSSE: dropping unparseable frame (${c.length} chars):`,c.slice(0,200))}a=s.match(/\r?\n\r?\n/)}}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}const BJ=255,UJ=/[\p{L}\p{M}\p{N}\p{P}\p{Zs}]/u;function FJ(e){const t=e.normalize("NFKC").replace(/\s+/gu," ").trim(),n=new TextEncoder;let s=0,i="";for(const r of t){if(!UJ.test(r))continue;const a=n.encode(r).byteLength;if(s+a>BJ)break;i+=r,s+=a}return i.replace(/ +/g," ").trimEnd()}const tk="veadk.messageFeedback.v1";function nk(e,t,n,s){return[e,t,n,s].join(":")}function sk(){if(typeof window>"u")return{};try{const e=JSON.parse(localStorage.getItem(tk)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}}function $J(e,t,n){if(typeof window>"u")return;const s=sk();s[e]={...s[e]??{},[`veadk_feedback:${t}`]:n},localStorage.setItem(tk,JSON.stringify(s))}function SP(e){if(typeof window>"u")return;const t=nk(e.runtimeId,e.appName,e.userId,e.sessionId),n=sk(),s=n[t];if(s){for(const i of e.eventIds)delete s[`veadk_feedback:${i}`];Object.keys(s).length===0?delete n[t]:n[t]=s,localStorage.setItem(tk,JSON.stringify(n))}}const lb="",ik=new Map;function _P(e,t){ik.set(e,t)}function TP(){ik.clear()}function Gs(e){const t=ik.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 _t(e,t={},n={},s=Of){const i=!!n.runtimeId&&String(t.method??"GET").toUpperCase()==="DELETE",r={...t,...i?{method:"POST"}:{},headers:I1(t.headers)},a=()=>{const u={...r,signal:Dn(t.signal,s)};if(n.runtimeId){const d=new URLSearchParams;n.region&&d.set("region",n.region),n.retryProbe&&d.set("probe_retry","connect"),i&&d.set("_method","DELETE");const f=d.toString()?`${e.includes("?")?"&":"?"}${d.toString()}`:"";return fetch(An(`${lb}/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(An(`${lb}/agentkit-proxy${e}`),{...u,headers:d})}return fetch(An(`${lb}${e}`),u)},l=async u=>{if(IJ(u))return!0;if(u.status!==401)return!1;try{return await NJ()}catch{return!1}};let c=await a();for(;await l(c);)await RJ(t.signal),c=await a();return c}function HJ(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{var n;if(t&&typeof t=="object"&&"msg"in t){const s=Array.isArray(t.loc)?(n=t.loc)==null?void 0:n.join("."):"",i=String(t.msg??"");return s?`${s}: ${i}`:i}return String(t)}).filter(Boolean).join(` -`):e&&typeof e=="object"?JSON.stringify(e):""}async function cn(e,t){const n=await e.text().catch(()=>"");if(!n)return`${t} (${e.status})`;try{const s=JSON.parse(n);return HJ(s.detail??s.error)||n||`${t} (${e.status})`}catch{return n||`${t} (${e.status})`}}async function NP(){const e=await _t("/list-apps");if(!e.ok)throw new Error(`list-apps failed: ${e.status}`);return e.json()}class jf extends Error{constructor(){super("当前账号无权访问该 Runtime,请刷新列表或重新登录后重试。"),this.name="RuntimeAccessDeniedError"}}class Er extends Error{constructor(t,n=!1){super(t),this.unsupported=n,this.name="RuntimeProbeError"}}const kP="Runtime 已部署成功,但当前 Studio 无法访问私网 Runtime。请使用已绑定相同 VPC 的 Studio 访问,或改用公网 / 公网+VPC 部署。",AP="Runtime 已部署成功,但 Studio 暂时无法连接服务。网关域名可能仍在生效,或当前网络/DNS 无法访问该 Runtime,请稍后在智能体管理页重试连接。",zJ=["cn-beijing","cn-shanghai"],VJ=3e4,O1=5*60*1e3,CP=60*1e3,cb=new Map,hc=new Map,mc=new Map,ua=new Map;function IP(e,t){return`${t}:${e}`}function j1(e){const t=e||"cn-beijing";return[t,...zJ.filter(n=>n!==t)]}function Mf(...e){return e.map(t=>String(t??"")).join("")}function Lf(e,t,n){const s=e.get(t);return s!=null&&s.value&&Date.now()-s.updatedAt<=n?s.value:null}function rk(e,t,n){return e.set(t,{value:n,updatedAt:Date.now()}),n}async function RP(e){try{const t=await e.clone().json();return typeof t.detail=="string"?t.detail:""}catch{return""}}async function M1(e,t,n){const s=await _t("/list-apps",{},n??{base:e,apiKey:t}),i=n!=null&&n.runtimeId?await RP(s):"";if(n!=null&&n.runtimeId&&i==="runtime_access_denied")throw new jf;if(n!=null&&n.runtimeId&&i==="runtime_private_endpoint_unreachable")throw new Er(kP);if(n!=null&&n.runtimeId&&["runtime_proxy_connect_error","runtime_proxy_timeout","runtime_json_connect_error","runtime_json_timeout"].includes(i))throw new Er(AP);if(n!=null&&n.runtimeId&&s.status===404)throw new Er("该 Runtime 的 Agent Server 未提供连接接口,请确认 Runtime 已就绪且版本兼容。",!0);if(n!=null&&n.runtimeId&&(s.status===401||s.status===403))throw new Er("Runtime 服务拒绝了连接请求,请检查 Runtime 的鉴权配置。");if(!s.ok)throw new Error(await cn(s,"读取 Agent 列表失败"));const r=await s.json();return n!=null&&n.runtimeId&&cb.set(IP(n.runtimeId,n.region??""),{apps:r,expiresAt:Date.now()+VJ}),r}async function yy(e,t){const{app:n,ep:s}=Gs(e),i=await _t(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"},s);if(!i.ok){const a=`创建会话失败 (${i.status})`,l=await cn(i,"创建会话失败");throw new Error(l===a?a:`${a}:${l}`)}return(await i.json()).id}async function ak(e,t){const{app:n,ep:s}=Gs(e),i=await _t(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{},s);if(!i.ok)throw new Error(`list sessions failed: ${i.status}`);return i.json()}async function xy(e,t,n){const{app:s,ep:i}=Gs(e),r=await _t(`/apps/${s}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}`,{},i);if(!r.ok){const l=await cn(r,"读取会话失败");throw new Error(`get session failed: ${r.status}:${l}`)}const a=await r.json();if(i.runtimeId){const l=nk(i.runtimeId,s,t,n);a.state={...sk()[l]??{},...a.state??{}}}return a}async function OP(e){const{app:t,ep:n}=Gs(e.appName);if(!n.runtimeId)throw new Error("只有连接到 AgentKit Runtime 的会话支持反馈回流");if(!n.region)throw new Error("Runtime 缺少地域信息,无法提交反馈");const s=await _t("/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??""})},{},Kp);if(!s.ok)throw new Error(await cn(s,"提交反馈失败"));const i=await s.json(),r=nk(n.runtimeId,t,e.userId,e.sessionId);return $J(r,e.eventId,i),i}async function L1(e,t={}){const n=Mf(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),s=Lf(ua,n,CP);if(!t.force&&s)return s;const i=ua.get(n);if(!t.force&&(i!=null&&i.promise))return i.promise;let r=null;const a=(async()=>{for(const l of j1(e.region)){const c=new URLSearchParams({runtimeId:e.runtimeId,region:l,appName:e.appName,page_size:String(e.pageSize??100)}),u=await _t(`/web/evaluation/feedback-cases?${c.toString()}`);if(u.ok)return rk(ua,n,await u.json());r=new Error(await cn(u,"读取评测集失败"))}throw r??new Error("读取评测集失败")})();ua.set(n,{...i,promise:a,updatedAt:(i==null?void 0:i.updatedAt)??0});try{return await a}finally{const l=ua.get(n);(l==null?void 0:l.promise)===a&&ua.set(n,{value:l.value,updatedAt:l.updatedAt})}}function jP(e){return Lf(ua,Mf(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),CP)}function BS(e){L1(e).catch(()=>{})}function MP(e){L1(e,{force:!0}).catch(()=>{})}function LP(e,t){return["good","bad"].map(n=>{const s=e.find(i=>i.kind===n);return{kind:n,evaluationSetId:(s==null?void 0:s.evaluationSetId)??null,evaluationSetName:(s==null?void 0:s.evaluationSetName)??null,workspaceId:(s==null?void 0:s.workspaceId)??null,itemCount:t.filter(i=>i.kind===n).length}})}function ub(e){for(const[t,n]of ua.entries()){const s=n.value;if(!s||s.runtimeId!==e.runtimeId||s.agentName!==e.appName)continue;const i=s.items.filter(a=>a.sessionId!==e.sessionId||a.messageId!==e.messageId),r=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:"",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:""},...i]:i;ua.set(t,{value:{...s,sets:LP(s.sets,r),items:r},updatedAt:Date.now(),promise:n.promise})}}async function DP(e){let t=null;for(const n of j1(e.region)){const s=await _t("/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})},{},Kp);if(s.ok){const i=await s.json(),r=new Set(e.itemIds);for(const[a,l]of ua.entries()){const c=l.value;if(!c||c.runtimeId!==e.runtimeId||c.agentName!==e.appName)continue;const u=c.items.filter(d=>!r.has(d.id));ua.set(a,{value:{...c,sets:LP(c.sets,u),items:u},updatedAt:Date.now()})}return i}t=new Error(await cn(s,"删除评测案例失败"))}throw t??new Error("删除评测案例失败")}async function US(e,t,n){const{app:s,ep:i}=Gs(e),r=await _t(`/apps/${s}/users/${encodeURIComponent(t)}/sessions/${n}`,{method:"DELETE"},i);if(!r.ok&&r.status!==404)throw new Error(`delete session failed: ${r.status}`)}function GJ(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"="),s=window.atob(n),i=new Uint8Array(s.length);for(let r=0;rURL.revokeObjectURL(l),0)}async function BP(e,t,n,s,i){const{app:r,ep:a}=Gs(e),l=i==null?"":`?version=${encodeURIComponent(i)}`,c=`/apps/${encodeURIComponent(r)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/artifacts/${encodeURIComponent(s)}${l}`,u=await _t(c,{},a,Kp);if(!u.ok)throw new Error(await cn(u,"下载文件失败"));const d=await u.json(),f=d.inlineData??d.inline_data;if(!(f!=null&&f.data))throw new Error("文件内容不可用");const h=GJ(f.data),m=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength);return{blob:new Blob([m],{type:f.mimeType??f.mime_type??"application/octet-stream"}),downloadName:f.displayName??f.display_name??s}}async function UP(e,t,n,s,i){const{blob:r}=await BP(e,t,n,s,i);return URL.createObjectURL(r)}async function KJ(e){const t=await _t("/web/media/capabilities");if(!t.ok)throw new Error(await cn(t,"media capabilities failed"));return t.json()}async function FP(e,t,n,s){const{app:i}=Gs(e),r=new FormData;r.set("app_name",i),r.set("user_id",t),r.set("session_id",n),r.set("file",s);const a=await _t("/web/media",{method:"POST",body:r},{},Kp);if(!a.ok)throw new Error(await cn(a,"文件上传失败"));return{...await a.json(),status:"ready"}}async function FS(e,t,n){const{app:s}=Gs(e),i=`/web/media/${encodeURIComponent(s)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/delete`,r=await _t(i,{method:"POST"});if(!r.ok&&r.status!==404)throw new Error(await cn(r,"media cleanup failed"))}function $P(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((s,i)=>![1,3,5].includes(i)).join("/")}`}catch{return}}async function db(e,t){const n=$P(t);if(!n)throw new Error("Invalid VeADK media URI");const s=await _t(`${n}/delete`,{method:"POST"});if(!s.ok&&s.status!==404)throw new Error(await cn(s,"media cleanup failed"))}function HP(e,t){if(t.startsWith("data:")||t.startsWith("blob:")||/^https?:/.test(t))return t;const n=$P(t);if(!n)return t;const s=`${n}/content`;return An(`${lb}${s}`)}async function zP(e,t){const{app:n,ep:s}=Gs(e),i=await _t(`/dev/apps/${encodeURIComponent(n)}/debug/trace/session/${encodeURIComponent(t)}`,{},s);if(!i.ok)throw new Error(`trace failed: ${i.status}`);const r=i.headers.get("content-type")??"";if(!r.includes("application/json")){const l=r.split(";",1)[0]||"Content-Type 缺失";throw new Error(`trace failed: 服务端返回了非 JSON 响应(${l}),请检查 Studio API 代理配置`)}const a=await i.json();if(!Array.isArray(a))throw new Error("trace failed: 返回格式无效");return a}function ok(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 lk(e,t,n){return`/harness/apps/${encodeURIComponent(e)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/capabilities`}async function $S(e,t,n){const{app:s,ep:i}=Gs(e),r=await _t(lk(s,t,n),{},i);if(!r.ok)throw new Error(await cn(r,"读取会话能力失败"));return ok(await r.json())}async function ck(e){const{ep:t}=Gs(e),n=await _t("/harness/capabilities/tools",{},t);if(!n.ok)throw new Error(await cn(n,"读取内置工具失败"));return((await n.json()).tools??[]).map(i=>{var r;return((r=i.name)==null?void 0:r.trim())??""}).filter(Boolean)}async function qJ(e){const{ep:t}=Gs(e),n=await _t("/harness/skills/spaces?region=all",{},t);if(!n.ok)throw new Error(await cn(n,"读取 Skill Space 失败"));return(await n.json()).items??[]}async function YJ(e,t,n){const{ep:s}=Gs(e),i=new URLSearchParams({region:n||"cn-beijing"}),r=`/harness/skills/spaces/${encodeURIComponent(t)}/skills?${i.toString()}`,a=await _t(r,{},s);if(!a.ok)throw new Error(await cn(a,"读取 Skill 列表失败"));return(await a.json()).items??[]}async function VP(e,t,n=1,s=20){const{ep:i}=Gs(e),r=new URLSearchParams({query:t,page_number:String(n),page_size:String(s)}),a=await _t(`/harness/skills/findskill?${r.toString()}`,{},i);if(!a.ok)throw new Error(await cn(a,"搜索 Skill Hub 失败"));const l=await a.json();return{items:l.items??[],totalCount:Number(l.totalCount??0)}}async function HS(e,t,n,s,i){const{app:r,ep:a}=Gs(e),l=await _t(lk(r,t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:s.kind,name:s.name,skill_source_id:s.skillSourceId,description:s.description,version:s.version,expected_revision:i})},a);if(!l.ok)throw new Error(await cn(l,"添加会话能力失败"));return ok(await l.json())}async function GP(e,t,n,s,i){const{app:r,ep:a}=Gs(e),l=`${lk(r,t,n)}/${encodeURIComponent(s)}?expected_revision=${i}`,c=await _t(l,{method:"DELETE"},a);if(!c.ok)throw new Error(await cn(c,"移除会话能力失败"));return ok(await c.json())}async function KP(e,t,n=!0){const s=await _t(`/web/agent-info/${e}`,{},t);if(!s.ok)throw new Error(`agent-info failed: ${s.status}`);const i=await s.json();if(n&&!i.draft)try{const r=await _t(`/web/agent-draft/${e}`,{},t);if(r.ok){const a=await r.json();i.draft=a.draft}}catch{}return{appName:e,name:i.name??e,description:i.description??"",type:i.type,model:i.model??"",tools:i.tools??[],skillsPreviewSupported:Array.isArray(i.skills),skills:i.skills??[],subAgents:i.subAgents??[],components:i.components??[],searchSources:i.searchSources??[],graph:i.graph,draft:i.draft}}async function uk(e){const{app:t,ep:n}=Gs(e);return KP(t,n,!1)}async function WJ(e,t,n){let s=null;for(const i of j1(t)){const r={runtimeId:e,region:i};try{const a=IP(e,i),l=cb.get(a);l&&l.expiresAt<=Date.now()&&cb.delete(a);const c=cb.get(a),u=n||(c==null?void 0:c.apps[0])||(await M1("","",r))[0];if(!u)throw new Error("该 Runtime 未提供可预览的 Agent。");return KP(u,r)}catch(a){if(a instanceof jf||a instanceof Er&&!a.unsupported)throw a;s=a instanceof Error?a:new Error(String(a))}}throw s??new Error("该 Runtime 未提供可预览的 Agent。")}async function Ey(e,t,n={},s={}){const i=typeof n=="string"?n:void 0,r=typeof n=="string"?s:n,a=Mf(e,t||"cn-beijing",i??""),l=Lf(hc,a,O1);if(!r.force&&l)return l;const c=hc.get(a);if(!r.force&&(c!=null&&c.promise))return c.promise;const u=WJ(e,t,i).then(d=>rk(hc,a,d));hc.set(a,{...c,promise:u,updatedAt:(c==null?void 0:c.updatedAt)??0});try{return await u}finally{const d=hc.get(a);(d==null?void 0:d.promise)===u&&hc.set(a,{value:d.value,updatedAt:d.updatedAt})}}function qP(e,t,n=""){return Lf(hc,Mf(e,t||"cn-beijing",n),O1)}function YP(e,t,n=""){Ey(e,t,n).catch(()=>{})}async function WP(e,t,n,s){const{app:i,ep:r}=Gs(e),a=new URLSearchParams({source:t,app_name:i,q:n,user_id:s}),l=await _t(`/web/search?${a.toString()}`,{},r);if(!l.ok)throw new Error(await cn(l,"Agent 检索失败"));return l.json()}async function XP(e,t){const{app:n}=Gs(e),s=await _t(`/web/search?source=web&app_name=${encodeURIComponent(n)}&q=${encodeURIComponent(t)}`);if(!s.ok)throw new Error(`web search failed: ${s.status}`);return s.json()}async function*rp({appName:e,userId:t,sessionId:n,text:s,attachments:i=[],invocation:r,functionResponses:a=[],signal:l,sessionCapabilities:c=!1}){const{app:u,ep:d}=Gs(e),f=i.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=r&&(r.skills.length>0||r.targetAgent)?r:void 0,m=[...f,...a.map(g=>({functionResponse:{id:g.id,name:g.name,response:g.response}})),...s.trim()?[{text:s}]:[]];if(h&&m.length>0){const g=m[0],v=g.partMetadata;m[0]={...g,partMetadata:{...v,veadkInvocation:h}}}const p=await _t(c?"/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:m},streaming:!0,custom_metadata:h?{veadkInvocation:h}:void 0}),signal:l},d,0);if(!p.ok){const g=await cn(p,"运行会话失败");throw new Error(o0(`run_sse failed: ${p.status}:${g}`))}for await(const g of ek(p)){const v=g;typeof v.error=="string"&&(v.error=o0(v.error)),typeof v.errorMessage=="string"&&(v.errorMessage=o0(v.errorMessage)),typeof v.error_message=="string"&&(v.error_message=o0(v.error_message)),yield v}}const Sm=new Map;async function D1(e,t,n,s){var u,d,f;const i=s==null?void 0:s.taskId,r=i?new AbortController:void 0;i&&r&&Sm.set(i,r);const a=()=>{i&&Sm.get(i)===r&&Sm.delete(i)};let l;try{(u=s==null?void 0:s.onStage)==null||u.call(s,{level:"info",phase:"upload",message:"正在上传代码包",pct:0}),l=await _t("/web/deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},signal:r==null?void 0:r.signal,body:JSON.stringify({name:e,files:t,config:n,taskId:i,runtimeId:s==null?void 0:s.runtimeId,appName:s==null?void 0:s.appName,sessionStorage:s==null?void 0:s.sessionStorage,minInstance:s==null?void 0:s.minInstance,maxInstance:s==null?void 0:s.maxInstance,description:FJ((s==null?void 0:s.description)??""),im:s==null?void 0:s.im,envs:s==null?void 0:s.envs})},{},0),(d=s==null?void 0:s.onStage)==null||d.call(s,{level:"success",phase:"upload",message:"代码包上传完成",pct:100})}catch(h){throw a(),h}if(!l.ok){const h=await cn(l,"部署失败");throw a(),new Error(h)}let c=null;try{for await(const h of ek(l)){const m=h;if(m&&m.done){c=m;break}m&&m.message&&((f=s==null?void 0:s.onStage)==null||f.call(s,m))}}catch(h){throw a(),h}if(a(),!c)throw new Error("部署失败:连接中断");if(!c.success)throw new Error(c.error||"部署失败");if(!c.agentName)throw new Error("部署失败:返回缺少 Agent 名称");if(!c.runtimeId&&!c.url)throw new Error("部署失败:返回缺少 AgentKit 连接信息");return{apikey:c.apikey??"",url:c.url??"",agentName:c.agentName,runtimeId:c.runtimeId,consoleUrl:c.consoleUrl,region:c.region,version:c.version,feishuChannel:c.feishuChannel}}async function XJ(e){var n;const t=await _t("/web/cancel-deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(!t.ok){const s=await t.text().catch(()=>"");throw new Error(s||`取消部署失败 (${t.status})`)}(n=Sm.get(e))==null||n.abort(),Sm.delete(e)}async function QJ(e="cn-beijing"){const t=await _t(`/web/my-runtimes?region=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`加载失败 (${t.status})`);return(await t.json()).runtimes??[]}const ap={title:"VeADK Studio",logoUrl:""},iv={studio:!1,version:"",branding:ap,features:{newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,addAgentkit:!0,generatedAgentTestRun:!0},defaultView:"chat",agentsSource:"local"};async function QP(){var e,t;try{const n=await _t("/web/ui-config");if(!n.ok)return iv;const s=await n.json(),i=typeof((e=s.branding)==null?void 0:e.logoUrl)=="string"?s.branding.logoUrl:ap.logoUrl;return{studio:s.studio??!1,version:typeof s.version=="string"?s.version:"",branding:{title:typeof((t=s.branding)==null?void 0:t.title)=="string"?s.branding.title:ap.title,logoUrl:i?An(i):""},features:{...iv.features,...s.features??{}},defaultView:s.defaultView??"chat",agentsSource:s.agentsSource==="cloud"?"cloud":"local"}}catch{return iv}}const ZP={role:"user",capabilities:{createAgents:!1,manageAgents:!1,runtimeScope:"mine"}};async function JP(){var n,s,i;const e=await _t("/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.capabilities)==null?void 0:n.createAgents)!="boolean"||typeof((s=t.capabilities)==null?void 0:s.manageAgents)!="boolean"||!["all","mine"].includes((i=t.capabilities)==null?void 0:i.runtimeScope))throw new Error("权限服务返回了无法解析的响应");return t}async function eB(e,t){const n=new URLSearchParams;e&&n.set("targetVersion",e),t&&n.set("startedAt",String(t));const s=n.size?`?${n.toString()}`:"",i=await _t(`/web/studio-update${s}`);if(!i.ok)throw new Error(`检查 Studio 更新失败 (${i.status})`);return await i.json()}async function tB(e){const t=await _t("/web/studio-update",{method:"POST",headers:{"Content-Type":"application/json","X-VeADK-Studio-Update":"1"},body:JSON.stringify({version:e})},{},Kp);if(!t.ok){let n="";try{const s=await t.json();n=typeof s.detail=="string"?s.detail:""}catch{n=""}throw new Error(n||`提交 Studio 更新失败 (${t.status})`)}return await t.json()}async function P1(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 _t(`/web/runtimes?${t.toString()}`);if(!n.ok){const i=await cn(n,"加载 Runtime 失败"),r=`加载 Runtime 失败(HTTP ${n.status})`;throw new Error(i===`加载 Runtime 失败 (${n.status})`?r:`${r}:${i}`)}const s=await n.json();return{runtimes:s.runtimes??[],nextToken:s.nextToken??""}}async function dk(e,t,n={}){try{const s={runtimeId:e,region:t};return n.retryProbe&&(s.retryProbe=!0),await M1("","",s)}catch(s){if(s instanceof jf||s instanceof Er)throw s;return null}}async function nB(e,t,n={}){const s={runtimeId:e,region:t};n.retryProbe&&(s.retryProbe=!0);const i=await _t("/.well-known/agent-card.json",{},s),r=await RP(i);if(r==="runtime_access_denied")throw new jf;if(r==="runtime_private_endpoint_unreachable")throw new Er(kP);if(["runtime_proxy_connect_error","runtime_proxy_timeout"].includes(r))throw new Er(AP);if(i.status===404)return null;if(i.status===401||i.status===403)throw new Er("Runtime 服务拒绝了 A2A 探测请求,请检查 Runtime 的鉴权配置。");if(!i.ok)throw new Error(await cn(i,"读取 A2A Agent Card 失败"));const a=await i.json().catch(()=>null),l=typeof(a==null?void 0:a.url)=="string"?a.url.trim():"";return l?{name:typeof(a==null?void 0:a.name)=="string"?a.name:"",description:typeof(a==null?void 0:a.description)=="string"?a.description:"",endpoint:l}:null}async function sB(e,t){const n=new URLSearchParams({runtimeId:e,region:t}),s=await _t(`/web/runtime-api-key/reveal?${n.toString()}`,{method:"POST",cache:"no-store"});if(!s.ok)throw new Error(await cn(s,"读取 Runtime API Key 失败"));const i=await s.json();if(typeof i.apiKey!="string"||!i.apiKey)throw new Error("Runtime 未返回可用的 API Key");return i.apiKey}async function iB(e,t){const n=await _t("/web/delete-runtime",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e,region:t})});if(!n.ok){const s=await n.text().catch(()=>"");throw new Error(s||`删除失败 (${n.status})`)}}async function rB({runtimeId:e,region:t,signal:n}){const s=new URLSearchParams({runtimeId:e,region:t}),i=await _t(`/web/runtime-update-capability?${s.toString()}`,{signal:n});if(!i.ok)throw new Error(await cn(i,"检查 Runtime 更新能力失败"));return await i.json()}async function ZJ(e,t){let n=null;for(const s of j1(t)){const i=await _t(`/web/runtime-detail?runtimeId=${encodeURIComponent(e)}®ion=${encodeURIComponent(s)}`);if(i.ok)return i.json();n=new Error(await cn(i,"加载 Runtime 详情失败"))}throw n??new Error("加载 Runtime 详情失败")}async function fk(e,t="cn-beijing",n={}){const s=Mf(e,t||"cn-beijing"),i=Lf(mc,s,O1);if(!n.force&&i)return i;const r=mc.get(s);if(!n.force&&(r!=null&&r.promise))return r.promise;const a=ZJ(e,t).then(l=>rk(mc,s,l));mc.set(s,{...r,promise:a,updatedAt:(r==null?void 0:r.updatedAt)??0});try{return await a}finally{const l=mc.get(s);(l==null?void 0:l.promise)===a&&mc.set(s,{value:l.value,updatedAt:l.updatedAt})}}function aB(e,t="cn-beijing"){return Lf(mc,Mf(e,t||"cn-beijing"),O1)}function oB(e,t="cn-beijing"){fk(e,t).catch(()=>{})}async function hk(e){const t=await _t("/web/generated-agent-projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await cn(t,"生成项目失败"));return t.json()}const JJ=19e4;async function lB(e){const t=await _t("/web/generated-agent-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requirement:e})},{},JJ);if(!t.ok)throw new Error(await cn(t,"生成 Agent 配置失败"));return R1(t,"生成 Agent 配置失败")}async function cB(e){const t=await _t("/web/generated-agent-test-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await cn(t,"创建调试运行失败"));return R1(t,"创建调试运行失败")}async function uB(e,t){const n=await _t(`/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 cn(n,"创建调试会话失败"));return(await R1(n,"创建调试会话失败")).id}async function dB(e,t){const n=await _t(`/web/generated-agent-test-runs/${encodeURIComponent(e)}/trace/session/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(await cn(n,"加载调试调用链路失败"));const s=await R1(n,"加载调试调用链路失败");if(!Array.isArray(s))throw new Error("加载调试调用链路失败:返回格式无效");return s}async function*fB({runId:e,userId:t,sessionId:n,text:s,signal:i}){const r=s.trim()?[{text:s}]:[],a=await _t(`/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:r},streaming:!0}),signal:i},{},0);if(!a.ok)throw new Error(await cn(a,"调试运行失败"));for await(const l of ek(a))yield l}async function Vu(e){const t=await _t(`/web/generated-agent-test-runs/${e}`,{method:"DELETE"});if(!t.ok&&t.status!==404)throw new Error(await cn(t,"清理调试运行失败"))}const eee=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SITE_BRANDING:ap,DEFAULT_STUDIO_ACCESS:ZP,RuntimeAccessDeniedError:jf,RuntimeProbeError:Er,addSessionCapability:HS,cancelAgentkitDeployment:XJ,clearMessageFeedbackCache:SP,clearRemoteApps:TP,componentSearch:WP,createGeneratedAgentTestRun:cB,createGeneratedAgentTestSession:uB,createSession:yy,deleteAgentFeedbackCases:DP,deleteGeneratedAgentTestRun:Vu,deleteMedia:db,deleteRuntime:iB,deleteSession:US,deleteSessionMedia:FS,deployAgentkitProject:D1,downloadArtifact:PP,fetchRemoteApps:M1,generateAgentDraftFromRequirement:lB,generateAgentProject:hk,getAgentFeedbackCases:L1,getAgentInfo:uk,getCachedAgentFeedbackCases:jP,getCachedRuntimeAgentInfo:qP,getCachedRuntimeDetail:aB,getGeneratedAgentTestTrace:dB,getMediaCapabilities:KJ,getMyRuntimes:QJ,getRuntimeAgentInfo:Ey,getRuntimeDetail:fk,getRuntimeUpdateCapability:rB,getRuntimes:P1,getSession:xy,getSessionCapabilities:$S,getSessionTrace:zP,getStudioAccess:JP,getStudioUpdateStatus:eB,getUiConfig:QP,listApps:NP,listSessionBuiltinTools:ck,listSessionSkillSpaces:qJ,listSessionSkillsInSpace:YJ,listSessions:ak,mediaContentUrl:HP,prefetchAgentFeedbackCases:BS,prefetchRuntimeAgentInfo:YP,prefetchRuntimeDetail:oB,previewArtifact:UP,probeRuntimeA2a:nB,probeRuntimeApps:dk,refreshAgentFeedbackCases:MP,registerRemoteApp:_P,removeSessionCapability:GP,revealRuntimeApiKey:sB,runGeneratedAgentTestSSE:fB,runSSE:rp,searchSessionPublicSkills:VP,startStudioUpdate:tB,submitMessageFeedback:OP,uploadMedia:FP,upsertCachedAgentFeedbackCase:ub,webSearch:XP},Symbol.toStringTag,{value:"Module"}));function rv(e){return!!(e&&[...e.tools,...e.skills].some(t=>t.custom))}const tee="send_a2ui_json_to_client",nee="validated_a2ui_json",zS="adk_request_credential",BR="transfer_to_agent";function see(e){var s,i,r,a;const t=e,n=((s=t==null?void 0:t.exchangedAuthCredential)==null?void 0:s.oauth2)??((i=t==null?void 0:t.exchanged_auth_credential)==null?void 0:i.oauth2)??((r=t==null?void 0:t.rawAuthCredential)==null?void 0:r.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 ma(){return{blocks:[],liveStart:0}}const UR=e=>e.functionCall??e.function_call,VS=e=>e.functionResponse??e.function_response;function iee(e){if(!e||typeof e!="object")return"";const t=e,n=t.agentName??t.agent_name;return typeof n=="string"?n:""}function ree(e){return e.replace(/-/g,"+").replace(/_/g,"/")}function hB(e){const t=[];for(const[n,s]of e.entries()){const i=s.partMetadata??s.part_metadata,r=i==null?void 0:i.veadkTransport;if((r==null?void 0:r.hidden)===!0)continue;const a=i==null?void 0:i.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 l=s.inlineData??s.inline_data;if(l&&l.data){t.push({id:`inline-${n}-${l.displayName??l.display_name??"media"}`,mimeType:l.mimeType??l.mime_type,data:ree(l.data),name:l.displayName??l.display_name});continue}const c=s.fileData??s.file_data,u=(c==null?void 0:c.fileUri)??(c==null?void 0:c.file_uri);c&&u&&t.push({id:u,mimeType:c.mimeType??c.mime_type,uri:u,name:c.displayName??c.display_name})}return t}function GS(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 aee=new Set(["llm","sequential","parallel","loop","a2a"]);function oee(e){var t;for(const n of e){const s=(t=n.partMetadata??n.part_metadata)==null?void 0:t.veadkInvocation;if(!s||typeof s!="object")continue;const i=s,r=Array.isArray(i.skills)?i.skills.flatMap(c=>{if(!c||typeof c!="object")return[];const u=c;return typeof u.name=="string"?[{name:u.name,description:typeof u.description=="string"?u.description:""}]:[]}):[];let a;const l=i.targetAgent;if(l&&typeof l=="object"){const c=l,u=c.type;typeof c.name=="string"&&typeof u=="string"&&aee.has(u)&&Array.isArray(c.path)&&(a={name:c.name,description:typeof c.description=="string"?c.description:"",type:u,path:c.path.filter(d=>typeof d=="string")})}if(r.length>0||a)return{skills:r,targetAgent:a}}}function lee(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 cee(e,t){if(!t.length)return;const n=e[e.length-1];if((n==null?void 0:n.kind)==="artifact"){for(const s of t)n.files.some(i=>i.filename===s.filename&&i.version===s.version)||n.files.push(s);return}e.push({kind:"artifact",files:t})}function FR(e,t,n){const s=e[e.length-1];s&&s.kind===t?s.text+=n:e.push(t==="thinking"?{kind:t,text:n,done:!1}:{kind:t,text:n})}function l0(e){for(const t of e)t.kind==="thinking"&&(t.done=!0)}function ef(e,t){var l,c,u,d,f,h;const n=e.blocks.map(m=>({...m}));let s=e.liveStart;const i=((l=t.content)==null?void 0:l.parts)??[],r=i.some(m=>UR(m)||VS(m));if(t.partial&&!r){for(const m of i){const p=GS(m);typeof p=="string"&&p&&FR(n,m.thought?"thinking":"text",p)}return{blocks:n,liveStart:s}}n.length=s;for(const m of i){const p=UR(m),g=VS(m),v=hB([m]),y=GS(m);if(typeof y=="string"&&y)FR(n,m.thought?"thinking":"text",y);else if(v.length)l0(n),lee(n,v);else if(p)if(l0(n),p.name===BR){const x=iee(p.args)||((c=t.actions)==null?void 0:c.transferToAgent)||((u=t.actions)==null?void 0:u.transfer_to_agent)||"未知 Agent";n.push({kind:"agent-transfer",agentName:x,done:!1})}else if(p.name===zS){const x=p.args??{},E=x.authConfig??x.auth_config??x,T=String(x.functionCallId??x.function_call_id??"").replace(/^_adk_toolset_auth_/,"")||void 0;n.push({kind:"auth",callId:p.id??"",label:T,authUri:see(E),authConfig:E,done:!1})}else n.push({kind:"tool",name:p.name??"",args:p.args,done:!1});else if(g){if(l0(n),g.name===BR)for(let x=n.length-1;x>=0;x--){const E=n[x];if(E.kind==="agent-transfer"&&!E.done){E.done=!0;break}}if(g.name===zS)for(let x=n.length-1;x>=0;x--){const E=n[x];if(E.kind==="auth"&&!E.done){E.done=!0;break}}for(let x=n.length-1;x>=0;x--){const E=n[x];if(E.kind==="tool"&&!E.done&&E.name===g.name){E.done=!0,E.response=g.response;break}}if(g.name===tee){const x=((d=g.response)==null?void 0:d[nee])??[];if(x.length){const E=n[n.length-1];E&&E.kind==="a2ui"?E.messages.push(...x):n.push({kind:"a2ui",messages:x})}}}}const a=((f=t.actions)==null?void 0:f.artifactDelta)??((h=t.actions)==null?void 0:h.artifact_delta);return a&&cee(n,Object.entries(a).map(([m,p])=>({filename:m,version:p}))),l0(n),s=n.length,{blocks:n,liveStart:s}}function uee(e,t={}){var i,r;const n=[];let s=ma();for(const a of e)if(a.author==="user"){const c=((i=a.content)==null?void 0:i.parts)??[];if(c.some(m=>{var p;return((p=VS(m))==null?void 0:p.name)===zS})){for(let m=n.length-1;m>=0;m--)if(n[m].role==="assistant"){for(let p=n[m].blocks.length-1;p>=0;p--){const g=n[m].blocks[p];if(g.kind==="auth"){g.done=!0;break}}break}}const u=c.map(GS).filter(m=>!!m).join(""),d=hB(c),f=oee(c);if(!u&&!d.length&&!f){s=ma();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}}),s=ma()}else{const c=a.author??"";let u=n[n.length-1];(!u||u.role!=="assistant"||c&&((r=u.meta)==null?void 0:r.author)!==c)&&(u={role:"assistant",blocks:[],meta:{author:c||void 0}},n.push(u),s=ma()),s=ef(s,a),u.blocks=s.blocks;const d=a.usageMetadata??a.usage_metadata,f=u.meta??(u.meta={});c&&(f.author=c),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 l=a.meta,c=l==null?void 0:l.eventId;if(!c)continue;const u=t[`veadk_feedback:${c}`];if(!u||typeof u!="object")continue;const d=u;d.rating!=="good"&&d.rating!=="bad"||(l.feedback=u)}return n}function dee(e){var t,n;for(const s of e??[])if(s.author==="user"||((t=s.content)==null?void 0:t.role)==="user"){const i=(((n=s.content)==null?void 0:n.parts)??[]).map(r=>r.text).find(Boolean);if(i)return i}return"新会话"}const fee=50,$R=48;function hee(e){return(e.events??[]).flatMap(t=>{var i,r;const s=(((i=t.content)==null?void 0:i.parts)??[]).map(a=>typeof a.text=="string"?a.text:"").filter(Boolean).join("");return s?[{text:s,role:t.author??((r=t.content)==null?void 0:r.role)??"",ts:t.timestamp}]:[]})}function mee(e){var t,n;for(const s of e.events??[])if(s.author==="user"||((t=s.content)==null?void 0:t.role)==="user"){const i=(((n=s.content)==null?void 0:n.parts)??[]).map(r=>r.text).find(Boolean);if(i)return i}return"未命名会话"}function pee(e,t,n){const s=Math.max(0,t-$R),i=Math.min(e.length,t+n+$R);return(s>0?"…":"")+e.slice(s,i).trim()+(i{var c;if((c=l.events)!=null&&c.length)return l;try{return await xy(t,e,l.id)}catch{return l}})),a=[];for(const l of r)for(const{text:c,role:u,ts:d}of hee(l)){const f=c.toLowerCase().indexOf(s);if(f!==-1){a.push({type:"session",appId:t,sessionId:l.id,title:mee(l),snippet:pee(c,f,s.length),role:u,ts:d??l.lastUpdateTime});break}}return a.sort((l,c)=>(c.ts??0)-(l.ts??0)),a.slice(0,fee)}async function bee(e,t){if(!e||!t.trim())return{results:[]};let n;try{n=await XP(e,t.trim())}catch(a){const l=String(a);return{results:[],note:l.includes("404")?"网络搜索接口未就绪(后端未启用 /web/search)。":`网络搜索失败:${l}`}}const{mounted:s,results:i,error:r}=n;return s?r?{results:[],note:r}:{results:i.map((a,l)=>({type:"web",index:l,title:a.title,url:a.url,siteName:a.siteName,summary:a.summary}))}:{results:[],note:"当前 Agent 未挂载 web_search 工具。"}}async function yee(e,t,n,s){if(!t||!s.trim())return{results:[]};const i=await WP(t,e,s.trim(),n);if(!i.mounted)return{results:[],note:e==="knowledge"?"该 Agent 未挂载知识库。":"该 Agent 未挂载长期记忆。"};if(i.error)return{results:[],note:i.error};const r=i.sourceName??(e==="knowledge"?"知识库":"长期记忆");return{results:i.results.map((a,l)=>e==="knowledge"?{type:"knowledge",index:l,content:a.content,sourceName:r,sourceType:i.sourceType}:{type:"memory",index:l,content:a.content,sourceName:r,sourceType:i.sourceType,author:a.author,ts:a.timestamp})}}async function xee(e,t,n){return e==="session"?{results:await gee(n.userId,n.appId,t)}:e==="web"?bee(n.appId,t):yee(e,n.appId,n.userId,t)}function mB({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M16.4 10.7a5.7 5.7 0 1 1-1.67-4.03"}),o.jsx("path",{d:"M15.25 15.25 19.6 19.6"})]})}function Eee({open:e}){return o.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:o.jsx("path",{d:"m3.25 4.75 2.75 2.5 2.75-2.5"})})}function vee({active:e=!1,onClick:t}){return o.jsxs("button",{className:`new-chat${e?" is-active":""}`,onClick:t,"aria-label":"搜索","aria-current":e?"page":void 0,title:"搜索",children:[o.jsx(mB,{}),o.jsx("span",{className:"sidebar-nav-label",children:"搜索"})]})}function wee(e,t,n){const s=!!e,i=new Set((t==null?void 0:t.searchSources)??[]),r=a=>s?n?"正在检测 Agent 能力":`当前 Agent 未挂载${a}`:"请选择 Agent";return[{id:"session",label:"会话",ready:s,unavailableLabel:"请选择 Agent"},{id:"web",label:"网络",ready:s&&i.has("web"),description:"通过 web_search 工具检索",unavailableLabel:r(" web_search 工具")},{id:"knowledge",label:"知识库",ready:s&&i.has("knowledge"),unavailableLabel:r("知识库")},{id:"memory",label:"长期记忆",ready:s&&i.has("memory"),unavailableLabel:r("长期记忆")}]}function vy(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 HR(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 See({userId:e,appId:t,agentInfo:n,capabilitiesLoading:s,agentLabel:i,onOpenSession:r}){var F,N;const[a,l]=b.useState("session"),[c,u]=b.useState(""),[d,f]=b.useState([]),[h,m]=b.useState(),[p,g]=b.useState(!1),[v,y]=b.useState(!1),[x,E]=b.useState(!1),w=b.useRef(0),T=b.useRef(null),S=wee(t,n,s),k=S.find(O=>O.id===a),A=a==="knowledge"?(F=n==null?void 0:n.components)==null?void 0:F.find(O=>O.source==="knowledgebase"||O.kind==="knowledgebase"):a==="memory"?(N=n==null?void 0:n.components)==null?void 0:N.find(O=>O.source==="long_term_memory"||O.kind==="memory"):void 0;b.useEffect(()=>{w.current+=1,l("session"),f([]),m(void 0),y(!1),g(!1),E(!1)},[t]),b.useEffect(()=>{if(!x)return;function O(P){var $;($=T.current)!=null&&$.contains(P.target)||E(!1)}return document.addEventListener("pointerdown",O),()=>document.removeEventListener("pointerdown",O)},[x]);async function C(O,P){var Q;const $=O.trim();if(!$||!((Q=S.find(B=>B.id===P))!=null&&Q.ready))return;const I=++w.current;g(!0),y(!0);let q;try{q=await xee(P,$,{userId:e,appId:t})}catch(B){const ee=B instanceof Error?B.message:String(B);q={results:[],note:`搜索失败:${ee}`}}I===w.current&&(f(q.results),m(q.note),g(!1))}function R(O){w.current+=1,u(O),f([]),m(void 0),y(!1),g(!1)}function M(O){w.current+=1,l(O),E(!1),f([]),m(void 0),y(!1),g(!1)}const L=!!(k!=null&&k.ready),G=t?a==="web"?"在网络中检索":a==="knowledge"?`在 ${(A==null?void 0:A.name)??"当前 Agent 的知识库"} 中检索`:a==="memory"?`在 ${(A==null?void 0:A.name)??"当前用户的长期记忆"} 中检索`:"在当前 Agent 的会话中检索":"请先选择 Agent",D=A!=null&&A.backend?vy(A.backend):"";return o.jsxs("div",{className:"search",children:[o.jsxs("div",{className:"search-box",children:[o.jsxs("div",{className:"search-source-picker-wrap",ref:T,children:[o.jsxs("button",{className:"search-source-picker",type:"button","aria-label":`搜索类型:${(k==null?void 0:k.label)??"未选择"}`,"aria-haspopup":"listbox","aria-expanded":x,onClick:()=>E(O=>!O),children:[o.jsx("span",{children:(k==null?void 0:k.label)??"搜索类型"}),D&&o.jsx("small",{children:D}),o.jsx(Eee,{open:x})]}),x&&o.jsx("div",{className:"search-source-menu",role:"listbox","aria-label":"选择搜索类型",children:S.map(O=>{var I,q;const P=O.id==="knowledge"?(I=n==null?void 0:n.components)==null?void 0:I.find(Q=>Q.source==="knowledgebase"||Q.kind==="knowledgebase"):O.id==="memory"?(q=n==null?void 0:n.components)==null?void 0:q.find(Q=>Q.source==="long_term_memory"||Q.kind==="memory"):void 0,$=P?[P.name,P.backend?vy(P.backend):""].filter(Boolean).join(" · "):O.ready?O.description:O.unavailableLabel;return o.jsxs("button",{type:"button",role:"option","aria-selected":a===O.id,disabled:!O.ready,onClick:()=>M(O.id),children:[o.jsx("span",{children:O.label}),$&&o.jsx("small",{children:$})]},O.id)})})]}),o.jsx("span",{className:"search-box-divider","aria-hidden":!0}),o.jsx("input",{className:"search-input",value:c,onChange:O=>R(O.target.value),onKeyDown:O=>{O.key==="Enter"&&(O.preventDefault(),C(c,a))},placeholder:G,disabled:!L,autoFocus:!0}),o.jsx("button",{className:"search-go",onClick:()=>void C(c,a),disabled:!c.trim()||p,"aria-label":"搜索",children:p?o.jsx(wn,{className:"icon spin"}):o.jsx(mB,{className:"icon"})})]}),o.jsx("div",{className:"search-results",children:L?v?p?null:h?o.jsx("div",{className:"search-empty",children:h}):d.length===0&&v?o.jsxs("div",{className:"search-empty",children:["未找到匹配「",c.trim(),"」的结果。"]}):d.map((O,P)=>o.jsx(_ee,{result:O,agentLabel:i,onOpen:r},P)):o.jsx("div",{className:"search-empty",children:a==="web"?"输入关键词后回车或点击按钮,通过 web_search 工具检索。":a==="knowledge"?"输入问题,检索当前 Agent 挂载的知识库。":a==="memory"?"输入线索,检索当前用户跨会话保存的长期记忆。":"输入关键词后回车或点击按钮,搜索当前 Agent 的会话。"}):o.jsx("div",{className:"search-empty",children:t?s?"正在读取当前 Agent 的检索能力…":(k==null?void 0:k.unavailableLabel)??"当前 Agent 未挂载该数据源":"选择一个 Agent 后,即可检索会话、网络及其挂载的数据源。"})})]})}function _ee({result:e,agentLabel:t,onOpen:n}){switch(e.type){case"session":return o.jsxs("button",{className:"search-result",onClick:()=>n(e.appId,e.sessionId),children:[o.jsx(yP,{className:"search-result-icon"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsx("span",{className:"search-result-title",children:e.title}),o.jsxs("span",{className:"search-result-meta",children:[t(e.appId),e.ts?` · ${HR(e.ts)}`:""]})]}),o.jsx("div",{className:"search-result-snippet",children:e.snippet})]})]});case"web":return o.jsxs("a",{className:"search-result",href:e.url||void 0,target:"_blank",rel:"noreferrer noopener",children:[o.jsx(C1,{className:"search-result-icon"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsx("span",{className:"search-result-title",children:e.title||e.url}),o.jsxs("span",{className:"search-result-meta",children:[e.siteName,e.url&&o.jsx(WN,{className:"search-result-ext"})]})]}),e.summary&&o.jsx("div",{className:"search-result-snippet",children:e.summary})]})]});case"knowledge":return o.jsxs("div",{className:"search-result search-result-static",children:[o.jsx(zR,{source:"knowledge"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsxs("span",{className:"search-result-title",children:["知识片段 ",e.index+1]}),o.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${vy(e.sourceType)}`:""]})]}),o.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});case"memory":return o.jsxs("div",{className:"search-result search-result-static",children:[o.jsx(zR,{source:"memory"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsxs("span",{className:"search-result-title",children:["记忆片段 ",e.index+1]}),o.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${vy(e.sourceType)}`:"",e.ts?` · ${HR(e.ts)}`:""]})]}),o.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});default:return null}}function zR({source:e,className:t="search-result-icon"}){return e==="knowledge"?o.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[o.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"}),o.jsx("path",{d:"M8.25 9h7.5M8.25 12.25h6"})]}):o.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[o.jsx("path",{d:"M12 4.5a7.5 7.5 0 1 0 7.5 7.5"}),o.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 Oc({className:e="icon"}){return o.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:[o.jsx("rect",{x:"4.25",y:"5.25",width:"15.5",height:"13.5",rx:"4.75"}),o.jsx("path",{className:"sidebar-agent-face__eye",d:"M8.5 10.7v2"}),o.jsx("path",{className:"sidebar-agent-face__eye",d:"M15.5 10.7v2"})]})}const mk="/assets/volcengine-DM14a-L-.svg",VR="(max-width: 860px)";function Tee(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"7",cy:"7",r:"2.25"}),o.jsx("circle",{cx:"17",cy:"7",r:"2.25"}),o.jsx("circle",{cx:"7",cy:"17",r:"2.25"}),o.jsx("circle",{cx:"17",cy:"17",r:"2.25"})]})}function Nee(e){let t=2166136261;for(const s of e)t^=s.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 kee={admin:"管理员",developer:"开发者",user:"普通用户"};function GR({role:e}){const t=kee[e];return o.jsx("span",{className:`studio-role-badge studio-role-badge--${e}`,title:t,children:t})}function Aee({version:e,onClose:t}){return b.useEffect(()=>{const n=s=>{s.key==="Escape"&&t()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[t]),xi.createPortal(o.jsx("div",{className:"confirm-scrim",onMouseDown:t,children:o.jsxs("section",{className:"confirm-box system-info-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"system-info-title",onMouseDown:n=>n.stopPropagation(),children:[o.jsxs("header",{className:"system-info-head",children:[o.jsx("h2",{id:"system-info-title",children:"系统信息"}),o.jsx("button",{type:"button",className:"icon-btn",onClick:t,"aria-label":"关闭系统信息",autoFocus:!0,children:o.jsx(Ei,{className:"icon","aria-hidden":"true"})})]}),o.jsx("dl",{className:"system-info-meta",children:o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:e||"—"})]})})]})}),document.body)}function Cee({access:e,userInfo:t,version:n,onLogout:s}){const[i,r]=b.useState(!1),[a,l]=b.useState(!1),[c,u]=b.useState("");if(!t)return null;const d=AJ(t),f=typeof t.email=="string"?t.email:"",h=(d||"U").slice(0,1).toUpperCase(),m=Nee(d||f||h),p=CJ(t),g=p===c?"":p;return o.jsxs("div",{className:"sidebar-user",children:[o.jsxs("button",{className:"sidebar-user-btn",onClick:()=>r(v=>!v),title:f?`${d} -${f}`:d,children:[o.jsxs("span",{className:`account-avatar${g?" has-image":""}`,style:m,children:[h,g?o.jsx("img",{className:"account-avatar-image",src:g,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>u(g)}):null]}),o.jsxs("span",{className:"sidebar-user-identity",children:[o.jsxs("span",{className:"sidebar-user-primary",children:[o.jsx("span",{className:"sidebar-user-name",children:d}),o.jsx(GR,{role:e.role})]}),f&&f!==d&&o.jsx("span",{className:"sidebar-user-email",children:f})]})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>r(!1)}),o.jsxs("div",{className:"account-pop sidebar-user-pop",children:[o.jsxs("div",{className:"account-head",children:[o.jsxs("span",{className:`account-avatar account-avatar--lg${g?" has-image":""}`,style:m,children:[h,g?o.jsx("img",{className:"account-avatar-image",src:g,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>u(g)}):null]}),o.jsxs("div",{className:"account-id",children:[o.jsxs("div",{className:"account-name-row",children:[o.jsx("div",{className:"account-name",children:d}),o.jsx(GR,{role:e.role})]}),f&&f!==d&&o.jsx("div",{className:"account-sub",children:f})]})]}),o.jsxs("button",{type:"button",className:"account-action",onClick:()=>{r(!1),l(!0)},children:[o.jsx(au,{className:"icon"})," 系统信息"]}),o.jsxs("button",{type:"button",className:"account-action",onClick:()=>{r(!1),s()},children:[o.jsx(JZ,{className:"icon"})," 退出登录"]})]})]}),a?o.jsx(Aee,{version:n,onClose:()=>l(!1)}):null]})}function Iee({branding:e,sessions:t,currentSessionId:n,activePage:s,features:i,access:r,streamingSids:a,onNewChat:l,onSearch:c,onQuickCreate:u,onSkillCenter:d,onAddAgent:f,onMyAgents:h,onApplications:m,onPickSession:p,onDeleteSession:g,userInfo:v,version:y,onLogout:x}){const E=M=>(i==null?void 0:i[M])!==!1,[w,T]=b.useState(null),S=b.useRef(typeof window<"u"&&window.matchMedia(VR).matches),[k,A]=b.useState(S.current),C=[...t].sort((M,L)=>(L.lastUpdateTime??0)-(M.lastUpdateTime??0)),R=()=>{S.current=!1,A(M=>!M),T(null)};return b.useEffect(()=>{const M=window.matchMedia(VR),L=G=>{G.matches?A(D=>D||(S.current=!0,!0)):S.current&&(S.current=!1,A(!1))};return M.addEventListener("change",L),()=>M.removeEventListener("change",L)},[]),o.jsxs("aside",{className:`sidebar ${k?"is-collapsed":""}`,children:[o.jsxs("div",{className:"sidebar-top",children:[o.jsxs("div",{className:"sidebar-brand-row",children:[o.jsxs("button",{type:"button",className:"brand",onClick:l,"aria-label":"返回首页",title:"返回首页",children:[o.jsx("img",{className:"brand-logo",src:e.logoUrl||mk,width:20,height:20,alt:"","aria-hidden":!0}),o.jsx("span",{className:"brand-title",children:e.title})]}),o.jsx("button",{type:"button",className:"sidebar-collapse-toggle",onClick:R,"aria-label":k?"展开侧边栏":"收起侧边栏",title:k?"展开侧边栏":"收起侧边栏",children:k?o.jsx(oJ,{className:"icon"}):o.jsx(aJ,{className:"icon"})})]}),E("newChat")&&o.jsxs("button",{className:`new-chat new-chat--conversation${s==="new-chat"?" is-active":""}`,onClick:l,"aria-label":"新会话","aria-current":s==="new-chat"?"page":void 0,title:"新会话",children:[o.jsx(bi,{className:"icon"}),o.jsx("span",{className:"sidebar-nav-label",children:"新会话"})]}),o.jsxs("button",{className:`new-chat new-chat--agents${s==="agents"?" is-active":""}`,onClick:h,"aria-label":"智能体","aria-current":s==="agents"?"page":void 0,title:"智能体",children:[o.jsx(Oc,{}),o.jsx("span",{className:"sidebar-nav-label",children:"智能体"})]}),o.jsxs("button",{className:`new-chat new-chat--applications${s==="applications"?" is-active":""}`,onClick:m,"aria-label":"自动化","aria-current":s==="applications"?"page":void 0,title:"自动化",children:[o.jsx(Tee,{className:"icon"}),o.jsx("span",{className:"sidebar-nav-label",children:"自动化"})]}),E("search")&&o.jsx(vee,{active:s==="search",onClick:c})]}),E("history")&&o.jsxs("div",{className:"sidebar-history",children:[o.jsxs("div",{className:"history-head",children:[o.jsx("span",{children:"历史会话"}),E("newChat")&&o.jsx("button",{type:"button",className:"history-new-chat",onClick:l,"aria-label":"新建会话",title:"新建会话",children:o.jsx(bi,{className:"icon"})})]}),o.jsxs("div",{className:"history-list",children:[C.length===0&&o.jsx("div",{className:"history-empty",children:"暂无会话"}),C.map(M=>{const L=dee(M.events);return o.jsxs("div",{className:`history-item ${M.id===n?"active":""}`,children:[o.jsxs("button",{className:"history-item-btn",onClick:()=>p(M.id),"aria-current":M.id===n?"page":void 0,title:L,children:[(a==null?void 0:a.has(M.id))&&o.jsx("span",{className:"history-streaming",title:"正在生成…","aria-label":"正在生成"}),o.jsx("span",{className:"history-title",children:L})]}),o.jsx("button",{className:"history-more",title:"更多",onClick:()=>T(G=>G===M.id?null:M.id),children:o.jsx(PZ,{className:"icon"})}),w===M.id&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>T(null)}),o.jsx("div",{className:"history-menu",children:o.jsxs("button",{className:"menu-item menu-item--danger",onClick:()=>{T(null),g(M.id)},children:[o.jsx(Po,{className:"icon"})," 删除"]})})]})]},M.id)})]})]}),o.jsx(Cee,{access:r,userInfo:v,version:y,onLogout:x})]})}function Ks(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,s;n{}};function B1(){for(var e=0,t=arguments.length,n={},s;e=0&&(s=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:s}})}fb.prototype=B1.prototype={constructor:fb,on:function(e,t){var n=this._,s=Oee(e+"",n),i,r=-1,a=s.length;if(arguments.length<2){for(;++r0)for(var n=new Array(i),s=0,i,r;s=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),qR.hasOwnProperty(t)?{space:qR[t],local:e}:e}function Mee(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===KS&&t.documentElement.namespaceURI===KS?t.createElement(e):t.createElementNS(n,e)}}function Lee(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function pB(e){var t=U1(e);return(t.local?Lee:Mee)(t)}function Dee(){}function pk(e){return e==null?Dee:function(){return this.querySelector(e)}}function Pee(e){typeof e!="function"&&(e=pk(e));for(var t=this._groups,n=t.length,s=new Array(n),i=0;i=E&&(E=x+1);!(T=v[E])&&++E=0;)(a=s[i])&&(r&&a.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(a,r),r=a);return this}function lte(e){e||(e=cte);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,s=n.length,i=new Array(s),r=0;rt?1:e>=t?0:NaN}function ute(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function dte(){return Array.from(this)}function fte(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Ste:typeof t=="function"?Tte:_te)(e,t,n??"")):tf(this.node(),e)}function tf(e,t){return e.style.getPropertyValue(t)||EB(e).getComputedStyle(e,null).getPropertyValue(t)}function kte(e){return function(){delete this[e]}}function Ate(e,t){return function(){this[e]=t}}function Cte(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ite(e,t){return arguments.length>1?this.each((t==null?kte:typeof t=="function"?Cte:Ate)(e,t)):this.node()[e]}function vB(e){return e.trim().split(/^|\s+/)}function gk(e){return e.classList||new wB(e)}function wB(e){this._node=e,this._names=vB(e.getAttribute("class")||"")}wB.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 SB(e,t){for(var n=gk(e),s=-1,i=t.length;++s=0&&(n=t.slice(s+1),t=t.slice(0,s)),{type:t,name:n}})}function ine(e){return function(){var t=this.__on;if(t){for(var n=0,s=-1,i=t.length,r;n()=>e;function qS(e,{sourceEvent:t,subject:n,target:s,identifier:i,active:r,x:a,y:l,dx:c,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:s,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}qS.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function mne(e){return!e.ctrlKey&&!e.button}function pne(){return this.parentNode}function gne(e,t){return t??{x:e.x,y:e.y}}function bne(){return navigator.maxTouchPoints||"ontouchstart"in this}function CB(){var e=mne,t=pne,n=gne,s=bne,i={},r=B1("start","drag","end"),a=0,l,c,u,d,f=0;function h(w){w.on("mousedown.drag",m).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,hne).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(w,T){if(!(d||!e.call(this,w,T))){var S=E(this,t.call(this,w,T),w,T,"mouse");S&&(yr(w.view).on("mousemove.drag",p,op).on("mouseup.drag",g,op),kB(w.view),av(w),u=!1,l=w.clientX,c=w.clientY,S("start",w))}}function p(w){if(Id(w),!u){var T=w.clientX-l,S=w.clientY-c;u=T*T+S*S>f}i.mouse("drag",w)}function g(w){yr(w.view).on("mousemove.drag mouseup.drag",null),AB(w.view,u),Id(w),i.mouse("end",w)}function v(w,T){if(e.call(this,w,T)){var S=w.changedTouches,k=t.call(this,w,T),A=S.length,C,R;for(C=0;C>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?u0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?u0(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=xne.exec(e))?new sr(t[1],t[2],t[3],1):(t=Ene.exec(e))?new sr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=vne.exec(e))?u0(t[1],t[2],t[3],t[4]):(t=wne.exec(e))?u0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Sne.exec(e))?eO(t[1],t[2]/100,t[3]/100,1):(t=_ne.exec(e))?eO(t[1],t[2]/100,t[3]/100,t[4]):YR.hasOwnProperty(e)?QR(YR[e]):e==="transparent"?new sr(NaN,NaN,NaN,0):null}function QR(e){return new sr(e>>16&255,e>>8&255,e&255,1)}function u0(e,t,n,s){return s<=0&&(e=t=n=NaN),new sr(e,t,n,s)}function kne(e){return e instanceof Yp||(e=Vc(e)),e?(e=e.rgb(),new sr(e.r,e.g,e.b,e.opacity)):new sr}function YS(e,t,n,s){return arguments.length===1?kne(e):new sr(e,t,n,s??1)}function sr(e,t,n,s){this.r=+e,this.g=+t,this.b=+n,this.opacity=+s}bk(sr,YS,IB(Yp,{brighter(e){return e=e==null?Sy:Math.pow(Sy,e),new sr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?lp:Math.pow(lp,e),new sr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new sr(jc(this.r),jc(this.g),jc(this.b),_y(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:ZR,formatHex:ZR,formatHex8:Ane,formatRgb:JR,toString:JR}));function ZR(){return`#${Ec(this.r)}${Ec(this.g)}${Ec(this.b)}`}function Ane(){return`#${Ec(this.r)}${Ec(this.g)}${Ec(this.b)}${Ec((isNaN(this.opacity)?1:this.opacity)*255)}`}function JR(){const e=_y(this.opacity);return`${e===1?"rgb(":"rgba("}${jc(this.r)}, ${jc(this.g)}, ${jc(this.b)}${e===1?")":`, ${e})`}`}function _y(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function jc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ec(e){return e=jc(e),(e<16?"0":"")+e.toString(16)}function eO(e,t,n,s){return s<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ha(e,t,n,s)}function RB(e){if(e instanceof ha)return new ha(e.h,e.s,e.l,e.opacity);if(e instanceof Yp||(e=Vc(e)),!e)return new ha;if(e instanceof ha)return e;e=e.rgb();var t=e.r/255,n=e.g/255,s=e.b/255,i=Math.min(t,n,s),r=Math.max(t,n,s),a=NaN,l=r-i,c=(r+i)/2;return l?(t===r?a=(n-s)/l+(n0&&c<1?0:a,new ha(a,l,c,e.opacity)}function Cne(e,t,n,s){return arguments.length===1?RB(e):new ha(e,t,n,s??1)}function ha(e,t,n,s){this.h=+e,this.s=+t,this.l=+n,this.opacity=+s}bk(ha,Cne,IB(Yp,{brighter(e){return e=e==null?Sy:Math.pow(Sy,e),new ha(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?lp:Math.pow(lp,e),new ha(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,s=n+(n<.5?n:1-n)*t,i=2*n-s;return new sr(ov(e>=240?e-240:e+120,i,s),ov(e,i,s),ov(e<120?e+240:e-120,i,s),this.opacity)},clamp(){return new ha(tO(this.h),d0(this.s),d0(this.l),_y(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=_y(this.opacity);return`${e===1?"hsl(":"hsla("}${tO(this.h)}, ${d0(this.s)*100}%, ${d0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function tO(e){return e=(e||0)%360,e<0?e+360:e}function d0(e){return Math.max(0,Math.min(1,e||0))}function ov(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 yk=e=>()=>e;function Ine(e,t){return function(n){return e+n*t}}function Rne(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(s){return Math.pow(e+s*t,n)}}function One(e){return(e=+e)==1?OB:function(t,n){return n-t?Rne(t,n,e):yk(isNaN(t)?n:t)}}function OB(e,t){var n=t-e;return n?Ine(e,n):yk(isNaN(e)?t:e)}const Ty=function e(t){var n=One(t);function s(i,r){var a=n((i=YS(i)).r,(r=YS(r)).r),l=n(i.g,r.g),c=n(i.b,r.b),u=OB(i.opacity,r.opacity);return function(d){return i.r=a(d),i.g=l(d),i.b=c(d),i.opacity=u(d),i+""}}return s.gamma=e,s}(1);function jne(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,s=t.slice(),i;return function(r){for(i=0;in&&(r=t.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(s=s[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,c.push({i:a,x:La(s,i)})),n=lv.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,s)-2,x:La(u,d)})):d&&f.push(i(f)+"rotate("+d+s)}function l(u,d,f,h){u!==d?h.push({i:f.push(i(f)+"skewX(",null,s)-2,x:La(u,d)}):d&&f.push(i(f)+"skewX("+d+s)}function c(u,d,f,h,m,p){if(u!==f||d!==h){var g=m.push(i(m)+"scale(",null,",",null,")");p.push({i:g-4,x:La(u,f)},{i:g-2,x:La(d,h)})}else(f!==1||h!==1)&&m.push(i(m)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),r(u.translateX,u.translateY,d.translateX,d.translateY,f,h),a(u.rotate,d.rotate,f,h),l(u.skewX,d.skewX,f,h),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(m){for(var p=-1,g=h.length,v;++p=0&&e._call.call(void 0,t),e=e._next;--nf}function iO(){Gc=(ky=up.now())+F1,nf=qh=0;try{Yne()}finally{nf=0,Xne(),Gc=0}}function Wne(){var e=up.now(),t=e-ky;t>DB&&(F1-=t,ky=e)}function Xne(){for(var e,t=Ny,n,s=1/0;t;)t._call?(s>t._time&&(s=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Ny=n);Yh=e,QS(s)}function QS(e){if(!nf){qh&&(qh=clearTimeout(qh));var t=e-Gc;t>24?(e<1/0&&(qh=setTimeout(iO,e-up.now()-F1)),Sh&&(Sh=clearInterval(Sh))):(Sh||(ky=up.now(),Sh=setInterval(Wne,DB)),nf=1,PB(iO))}}function rO(e,t,n){var s=new Ay;return t=t==null?0:+t,s.restart(i=>{s.stop(),e(i+t)},t,n),s}var Qne=B1("start","end","cancel","interrupt"),Zne=[],UB=0,aO=1,ZS=2,mb=3,oO=4,JS=5,pb=6;function $1(e,t,n,s,i,r){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;Jne(e,n,{name:t,index:s,group:i,on:Qne,tween:Zne,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:UB})}function Ek(e,t){var n=wa(e,t);if(n.state>UB)throw new Error("too late; already scheduled");return n}function Wa(e,t){var n=wa(e,t);if(n.state>mb)throw new Error("too late; already running");return n}function wa(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Jne(e,t,n){var s=e.__transition,i;s[t]=n,n.timer=BB(r,0,n.time);function r(u){n.state=aO,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var d,f,h,m;if(n.state!==aO)return c();for(d in s)if(m=s[d],m.name===n.name){if(m.state===mb)return rO(a);m.state===oO?(m.state=pb,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete s[d]):+dZS&&s.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Cse(e,t,n){var s,i,r=Ase(t)?Ek:Wa;return function(){var a=r(this,e),l=a.on;l!==s&&(i=(s=l).copy()).on(t,n),a.on=i}}function Ise(e,t){var n=this._id;return arguments.length<2?wa(this.node(),n).on.on(e):this.each(Cse(n,e,t))}function Rse(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Ose(){return this.on("end.remove",Rse(this._id))}function jse(e){var t=this._name,n=this._id;typeof e!="function"&&(e=pk(e));for(var s=this._groups,i=s.length,r=new Array(i),a=0;a()=>e;function iie(e,{sourceEvent:t,target:n,transform:s,dispatch:i}){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:s,enumerable:!0,configurable:!0},_:{value:i}})}function vo(e,t,n){this.k=e,this.x=t,this.y=n}vo.prototype={constructor:vo,scale:function(e){return e===1?this:new vo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new vo(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 H1=new vo(1,0,0);zB.prototype=vo.prototype;function zB(e){for(;!e.__zoom;)if(!(e=e.parentNode))return H1;return e.__zoom}function cv(e){e.stopImmediatePropagation()}function _h(e){e.preventDefault(),e.stopImmediatePropagation()}function rie(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function aie(){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 lO(){return this.__zoom||H1}function oie(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function lie(){return navigator.maxTouchPoints||"ontouchstart"in this}function cie(e,t,n){var s=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>s?(s+i)/2:Math.min(0,s)||Math.max(0,i),a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a))}function VB(){var e=rie,t=aie,n=cie,s=oie,i=lie,r=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],l=250,c=hb,u=B1("start","zoom","end"),d,f,h,m=500,p=150,g=0,v=10;function y(D){D.property("__zoom",lO).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",R).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",G).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(D,F,N,O){var P=D.selection?D.selection():D;P.property("__zoom",lO),D!==P?T(D,F,N,O):P.interrupt().each(function(){S(this,arguments).event(O).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},y.scaleBy=function(D,F,N,O){y.scaleTo(D,function(){var P=this.__zoom.k,$=typeof F=="function"?F.apply(this,arguments):F;return P*$},N,O)},y.scaleTo=function(D,F,N,O){y.transform(D,function(){var P=t.apply(this,arguments),$=this.__zoom,I=N==null?w(P):typeof N=="function"?N.apply(this,arguments):N,q=$.invert(I),Q=typeof F=="function"?F.apply(this,arguments):F;return n(E(x($,Q),I,q),P,a)},N,O)},y.translateBy=function(D,F,N,O){y.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,O)},y.translateTo=function(D,F,N,O,P){y.transform(D,function(){var $=t.apply(this,arguments),I=this.__zoom,q=O==null?w($):typeof O=="function"?O.apply(this,arguments):O;return n(H1.translate(q[0],q[1]).scale(I.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof N=="function"?-N.apply(this,arguments):-N),$,a)},O,P)};function x(D,F){return F=Math.max(r[0],Math.min(r[1],F)),F===D.k?D:new vo(F,D.x,D.y)}function E(D,F,N){var O=F[0]-N[0]*D.k,P=F[1]-N[1]*D.k;return O===D.x&&P===D.y?D:new vo(D.k,O,P)}function w(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function T(D,F,N,O){D.on("start.zoom",function(){S(this,arguments).event(O).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(O).end()}).tween("zoom",function(){var P=this,$=arguments,I=S(P,$).event(O),q=t.apply(P,$),Q=N==null?w(q):typeof N=="function"?N.apply(P,$):N,B=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ee=P.__zoom,z=typeof F=="function"?F.apply(P,$):F,K=c(ee.invert(Q).concat(B/ee.k),z.invert(Q).concat(B/z.k));return function(se){if(se===1)se=z;else{var W=K(se),de=B/W[2];se=new vo(de,Q[0]-W[0]*de,Q[1]-W[1]*de)}I.zoom(null,se)}})}function S(D,F,N){return!N&&D.__zooming||new k(D,F)}function k(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}k.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=yr(this.that).datum();u.call(D,this.that,new iie(D,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:u}),F)}};function A(D,...F){if(!e.apply(this,arguments))return;var N=S(this,F).event(D),O=this.__zoom,P=Math.max(r[0],Math.min(r[1],O.k*Math.pow(2,s.apply(this,arguments)))),$=ca(D);if(N.wheel)(N.mouse[0][0]!==$[0]||N.mouse[0][1]!==$[1])&&(N.mouse[1]=O.invert(N.mouse[0]=$)),clearTimeout(N.wheel);else{if(O.k===P)return;N.mouse=[$,O.invert($)],gb(this),N.start()}_h(D),N.wheel=setTimeout(I,p),N.zoom("mouse",n(E(x(O,P),N.mouse[0],N.mouse[1]),N.extent,a));function I(){N.wheel=null,N.end()}}function C(D,...F){if(h||!e.apply(this,arguments))return;var N=D.currentTarget,O=S(this,F,!0).event(D),P=yr(D.view).on("mousemove.zoom",Q,!0).on("mouseup.zoom",B,!0),$=ca(D,N),I=D.clientX,q=D.clientY;kB(D.view),cv(D),O.mouse=[$,this.__zoom.invert($)],gb(this),O.start();function Q(ee){if(_h(ee),!O.moved){var z=ee.clientX-I,K=ee.clientY-q;O.moved=z*z+K*K>g}O.event(ee).zoom("mouse",n(E(O.that.__zoom,O.mouse[0]=ca(ee,N),O.mouse[1]),O.extent,a))}function B(ee){P.on("mousemove.zoom mouseup.zoom",null),AB(ee.view,O.moved),_h(ee),O.event(ee).end()}}function R(D,...F){if(e.apply(this,arguments)){var N=this.__zoom,O=ca(D.changedTouches?D.changedTouches[0]:D,this),P=N.invert(O),$=N.k*(D.shiftKey?.5:2),I=n(E(x(N,$),O,P),t.apply(this,F),a);_h(D),l>0?yr(this).transition().duration(l).call(T,I,O,D):yr(this).call(y.transform,I,O,D)}}function M(D,...F){if(e.apply(this,arguments)){var N=D.touches,O=N.length,P=S(this,F,D.changedTouches.length===O).event(D),$,I,q,Q;for(cv(D),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:s})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:s}", 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.`},dp=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],GB=["Enter"," ","Escape"],KB={"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 sf;(function(e){e.Strict="strict",e.Loose="loose"})(sf||(sf={}));var Mc;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Mc||(Mc={}));var fp;(function(e){e.Partial="partial",e.Full="full"})(fp||(fp={}));const qB={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var bl;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(bl||(bl={}));var rf;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(rf||(rf={}));var We;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(We||(We={}));const cO={[We.Left]:We.Right,[We.Right]:We.Left,[We.Top]:We.Bottom,[We.Bottom]:We.Top};function YB(e){return e===null?null:e?"valid":"invalid"}const WB=e=>"id"in e&&"source"in e&&"target"in e,uie=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),wk=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Wp=(e,t=[0,0])=>{const{width:n,height:s}=zo(e),i=e.origin??t,r=n*i[0],a=s*i[1];return{x:e.position.x-r,y:e.position.y-a}},die=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((s,i)=>{const r=typeof i=="string";let a=!t.nodeLookup&&!r?i:void 0;t.nodeLookup&&(a=r?t.nodeLookup.get(i):wk(i)?i:t.nodeLookup.get(i.id));const l=a?Cy(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return z1(s,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return V1(n)},Xp=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},s=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=z1(n,Cy(i)),s=!0)}),s?V1(n):{x:0,y:0,width:0,height:0}},Sk=(e,t,[n,s,i]=[0,0,1],r=!1,a=!1)=>{const l={...Df(t,[n,s,i]),width:t.width/i,height:t.height/i},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:h=!1}=u;if(a&&!f||h)continue;const m=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,g=hp(l,of(u)),v=(m??0)*(p??0),y=r&&g>0;(!u.internals.handleBounds||y||g>=v||u.dragging)&&c.push(u)}return c},fie=(e,t)=>{const n=new Set;return e.forEach(s=>{n.add(s.id)}),t.filter(s=>n.has(s.source)||n.has(s.target))};function hie(e,t){const n=new Map,s=t!=null&&t.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!i.hidden)&&(!s||s.has(i.id))&&n.set(i.id,i)}),n}async function mie({nodes:e,width:t,height:n,panZoom:s,minZoom:i,maxZoom:r},a){if(e.size===0)return!0;const l=hie(e,a),c=Xp(l),u=Tk(c,t,n,(a==null?void 0:a.minZoom)??i,(a==null?void 0:a.maxZoom)??r,(a==null?void 0:a.padding)??.1);return await s.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 XB({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:s=[0,0],nodeExtent:i,onError:r}){const a=n.get(e),l=a.parentId?n.get(a.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=a.origin??s;let f=a.extent||i;if(a.extent==="parent"&&!a.expandParent)if(!l)r==null||r("005",Ea.error005());else{const m=l.measured.width,p=l.measured.height;m&&p&&(f=[[c,u],[c+m,u+p]])}else l&&qc(a.extent)&&(f=[[a.extent[0][0]+c,a.extent[0][1]+u],[a.extent[1][0]+c,a.extent[1][1]+u]]);const h=qc(f)?Kc(t,f,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(r==null||r("015",Ea.error015())),{position:{x:h.x-c+(a.measured.width??0)*d[0],y:h.y-u+(a.measured.height??0)*d[1]},positionAbsolute:h}}async function pie({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:s,onBeforeDelete:i}){const r=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const m=r.has(h.id),p=!m&&h.parentId&&a.find(g=>g.id===h.parentId);(m||p)&&a.push(h)}const l=new Set(t.map(h=>h.id)),c=s.filter(h=>h.deletable!==!1),d=fie(a,c);for(const h of c)l.has(h.id)&&!d.find(p=>p.id===h.id)&&d.push(h);if(!i)return{edges:d,nodes:a};const f=await i({nodes:a,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:a}:{edges:[],nodes:[]}:f}const af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Kc=(e={x:0,y:0},t,n)=>({x:af(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:af(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function QB(e,t,n){const{width:s,height:i}=zo(n),{x:r,y:a}=n.internals.positionAbsolute;return Kc(e,[[r,a],[r+s,a+i]],t)}const uO=(e,t,n)=>en?-af(Math.abs(e-n),1,t)/t:0,_k=(e,t,n=15,s=40)=>{const i=uO(e.x,s,t.width-s)*n,r=uO(e.y,s,t.height-s)*n;return[i,r]},z1=(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)}),e_=({x:e,y:t,width:n,height:s})=>({x:e,y:t,x2:e+n,y2:t+s}),V1=({x:e,y:t,x2:n,y2:s})=>({x:e,y:t,width:n-e,height:s-t}),of=(e,t=[0,0])=>{var i,r;const{x:n,y:s}=wk(e)?e.internals.positionAbsolute:Wp(e,t);return{x:n,y:s,width:((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}},Cy=(e,t=[0,0])=>{var i,r;const{x:n,y:s}=wk(e)?e.internals.positionAbsolute:Wp(e,t);return{x:n,y:s,x2:n+(((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0),y2:s+(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0)}},ZB=(e,t)=>V1(z1(e_(e),e_(t))),hp=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),s=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*s)},dO=e=>pa(e.width)&&pa(e.height)&&pa(e.x)&&pa(e.y),pa=e=>!isNaN(e)&&isFinite(e),JB=(e,t)=>(n,s)=>{},Qp=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Df=({x:e,y:t},[n,s,i],r=!1,a=[1,1])=>{const l={x:(e-n)/i,y:(t-s)/i};return r?Qp(l,a):l},lf=({x:e,y:t},[n,s,i])=>({x:e*i+n,y:t*i+s});function Cu(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 gie(e,t,n){if(typeof e=="string"||typeof e=="number"){const s=Cu(e,n),i=Cu(e,t);return{top:s,right:i,bottom:s,left:i,x:i*2,y:s*2}}if(typeof e=="object"){const s=Cu(e.top??e.y??0,n),i=Cu(e.bottom??e.y??0,n),r=Cu(e.left??e.x??0,t),a=Cu(e.right??e.x??0,t);return{top:s,right:a,bottom:i,left:r,x:r+a,y:s+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function bie(e,t,n,s,i,r){const{x:a,y:l}=lf(e,[t,n,s]),{x:c,y:u}=lf({x:e.x+e.width,y:e.y+e.height},[t,n,s]),d=i-c,f=r-u;return{left:Math.floor(a),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const Tk=(e,t,n,s,i,r)=>{const a=gie(r,t,n),l=(t-a.x)/e.width,c=(n-a.y)/e.height,u=Math.min(l,c),d=af(u,s,i),f=e.x+e.width/2,h=e.y+e.height/2,m=t/2-f*d,p=n/2-h*d,g=bie(e,m,p,d,t,n),v={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:m-v.left+v.right,y:p-v.top+v.bottom,zoom:d}},mp=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function qc(e){return e!=null&&e!=="parent"}function zo(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 Nk(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 e8(e,t={width:0,height:0},n,s,i){const r={...e},a=s.get(n);if(a){const l=a.origin||i;r.x+=a.internals.positionAbsolute.x-(t.width??0)*l[0],r.y+=a.internals.positionAbsolute.y-(t.height??0)*l[1]}return r}function fO(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function yie(){let e,t;return{promise:new Promise((s,i)=>{e=s,t=i}),resolve:e,reject:t}}function xie(e){return{...KB,...e||{}}}function Tm(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:s,containerBounds:i}){const{x:r,y:a}=ga(e),l=Df({x:r-((i==null?void 0:i.left)??0),y:a-((i==null?void 0:i.top)??0)},s),{x:c,y:u}=n?Qp(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const kk=e=>({width:e.offsetWidth,height:e.offsetHeight}),t8=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Eie=["INPUT","SELECT","TEXTAREA"];function n8(e){var s,i;const t=((i=(s=e.composedPath)==null?void 0:s.call(e))==null?void 0:i[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:Eie.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const s8=e=>"clientX"in e,ga=(e,t)=>{var r,a;const n=s8(e),s=n?e.clientX:(r=e.touches)==null?void 0:r[0].clientX,i=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:s-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},hO=(e,t,n,s,i)=>{const r=t.querySelectorAll(`.${e}`);return!r||!r.length?null:Array.from(r).map(a=>{const l=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:i,position:a.getAttribute("data-handlepos"),x:(l.left-n.left)/s,y:(l.top-n.top)/s,...kk(a)}})};function i8({sourceX:e,sourceY:t,targetX:n,targetY:s,sourceControlX:i,sourceControlY:r,targetControlX:a,targetControlY:l}){const c=e*.125+i*.375+a*.375+n*.125,u=t*.125+r*.375+l*.375+s*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function m0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function mO({pos:e,x1:t,y1:n,x2:s,y2:i,c:r}){switch(e){case We.Left:return[t-m0(t-s,r),n];case We.Right:return[t+m0(s-t,r),n];case We.Top:return[t,n-m0(n-i,r)];case We.Bottom:return[t,n+m0(i-n,r)]}}function r8({sourceX:e,sourceY:t,sourcePosition:n=We.Bottom,targetX:s,targetY:i,targetPosition:r=We.Top,curvature:a=.25}){const[l,c]=mO({pos:n,x1:e,y1:t,x2:s,y2:i,c:a}),[u,d]=mO({pos:r,x1:s,y1:i,x2:e,y2:t,c:a}),[f,h,m,p]=i8({sourceX:e,sourceY:t,targetX:s,targetY:i,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${s},${i}`,f,h,m,p]}function a8({sourceX:e,sourceY:t,targetX:n,targetY:s}){const i=Math.abs(n-e)/2,r=n0}const Sie=({source:e,sourceHandle:t,target:n,targetHandle:s})=>`xy-edge__${e}${t||""}-${n}${s||""}`,_ie=(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)),Tie=(e,t,n={})=>{var r;if(!e.source||!e.target)return(r=n.onError)==null||r.call(n,"006",Ea.error006()),t;const s=n.getEdgeId||Sie;let i;return WB(e)?i={...e}:i={...e,id:s(e)},_ie(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function o8({sourceX:e,sourceY:t,targetX:n,targetY:s}){const[i,r,a,l]=a8({sourceX:e,sourceY:t,targetX:n,targetY:s});return[`M ${e},${t}L ${n},${s}`,i,r,a,l]}const pO={[We.Left]:{x:-1,y:0},[We.Right]:{x:1,y:0},[We.Top]:{x:0,y:-1},[We.Bottom]:{x:0,y:1}},Nie=({source:e,sourcePosition:t=We.Bottom,target:n})=>t===We.Left||t===We.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function kie({source:e,sourcePosition:t=We.Bottom,target:n,targetPosition:s=We.Top,center:i,offset:r,stepPosition:a}){const l=pO[t],c=pO[s],u={x:e.x+l.x*r,y:e.y+l.y*r},d={x:n.x+c.x*r,y:n.y+c.y*r},f=Nie({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",m=f[h];let p=[],g,v;const y={x:0,y:0},x={x:0,y:0},[,,E,w]=a8({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[h]*c[h]===-1){h==="x"?(g=i.x??u.x+(d.x-u.x)*a,v=i.y??(u.y+d.y)/2):(g=i.x??(u.x+d.x)/2,v=i.y??u.y+(d.y-u.y)*a);const A=[{x:g,y:u.y},{x:g,y:d.y}],C=[{x:u.x,y:v},{x:d.x,y:v}];l[h]===m?p=h==="x"?A:C:p=h==="x"?C:A}else{const A=[{x:u.x,y:d.y}],C=[{x:d.x,y:u.y}];if(h==="x"?p=l.x===m?C:A:p=l.y===m?A:C,t===s){const D=Math.abs(e[h]-n[h]);if(D<=r){const F=Math.min(r-1,r-D);l[h]===m?y[h]=(u[h]>e[h]?-1:1)*F:x[h]=(d[h]>n[h]?-1:1)*F}}if(t!==s){const D=h==="x"?"y":"x",F=l[h]===c[D],N=u[D]>d[D],O=u[D]=G?(g=(R.x+M.x)/2,v=p[0].y):(g=p[0].x,v=(R.y+M.y)/2)}const T={x:u.x+y.x,y:u.y+y.y},S={x:d.x+x.x,y:d.y+x.y};return[[e,...T.x!==p[0].x||T.y!==p[0].y?[T]:[],...p,...S.x!==p[p.length-1].x||S.y!==p[p.length-1].y?[S]:[],n],g,v,E,w]}function Aie(e,t,n,s){const i=Math.min(gO(e,t)/2,gO(t,n)/2,s),{x:r,y:a}=t;if(e.x===r&&r===n.x||e.y===a&&a===n.y)return`L${r} ${a}`;if(e.y===a){const u=e.xn.id===t):e[0])||null}function t_(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`:""}function Iie(e,{id:t,defaultColor:n,defaultMarkerStart:s,defaultMarkerEnd:i}){const r=new Set;return e.reduce((a,l)=>([l.markerStart||s,l.markerEnd||i].forEach(c=>{if(c&&typeof c=="object"){const u=t_(c,t);r.has(u)||(a.push({id:u,color:c.color||n,...c}),r.add(u))}}),a),[]).sort((a,l)=>a.id.localeCompare(l.id))}const l8=1e3,Rie=10,Ak={nodeOrigin:[0,0],nodeExtent:dp,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Oie={...Ak,checkEquality:!0};function Ck(e,t){const n={...e};for(const s in t)t[s]!==void 0&&(n[s]=t[s]);return n}function jie(e,t,n){const s=Ck(Ak,n);for(const i of e.values())if(i.parentId)Rk(i,e,t,s);else{const r=Wp(i,s.nodeOrigin),a=qc(i.extent)?i.extent:s.nodeExtent,l=Kc(r,a,zo(i));i.internals.positionAbsolute=l}}function Mie(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],s=[];for(const i of e.handles){const r={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(r):i.type==="target"&&s.push(r)}return{source:n,target:s}}function Ik(e){return e==="manual"}function n_(e,t,n,s={}){var d,f;const i=Ck(Oie,s),r={i:0},a=new Map(t),l=i!=null&&i.elevateNodesOnSelect&&!Ik(i.zIndexMode)?l8:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const h of e){let m=a.get(h.id);if(i.checkEquality&&h===(m==null?void 0:m.internals.userNode))t.set(h.id,m);else{const p=Wp(h,i.nodeOrigin),g=qc(h.extent)?h.extent:i.nodeExtent,v=Kc(p,g,zo(h));m={...i.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(f=h.measured)==null?void 0:f.height},internals:{positionAbsolute:v,handleBounds:Mie(h,m),z:c8(h,l,i.zIndexMode),userNode:h}},t.set(h.id,m)}(m.measured===void 0||m.measured.width===void 0||m.measured.height===void 0)&&!m.hidden&&(c=!1),h.parentId&&Rk(m,t,n,s,r),u||(u=h.selected??!1)}return{nodesInitialized:c,hasSelectedNodes:u}}function Lie(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 Rk(e,t,n,s,i){const{elevateNodesOnSelect:r,nodeOrigin:a,nodeExtent:l,zIndexMode:c}=Ck(Ak,s),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}Lie(e,n),i&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++i.i,d.internals.z=d.internals.z+i.i*Rie),i&&d.internals.rootParentIndex!==void 0&&(i.i=d.internals.rootParentIndex);const f=r&&!Ik(c)?l8:0,{x:h,y:m,z:p}=Die(e,d,a,l,f,c),{positionAbsolute:g}=e.internals,v=h!==g.x||m!==g.y;(v||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:v?{x:h,y:m}:g,z:p}})}function c8(e,t,n){const s=pa(e.zIndex)?e.zIndex:0;return Ik(n)?s:s+(e.selected?t:0)}function Die(e,t,n,s,i,r){const{x:a,y:l}=t.internals.positionAbsolute,c=zo(e),u=Wp(e,n),d=qc(e.extent)?Kc(u,e.extent,c):u;let f=Kc({x:a+d.x,y:l+d.y},s,c);e.extent==="parent"&&(f=QB(f,c,t));const h=c8(e,i,r),m=t.internals.z??0;return{x:f.x,y:f.y,z:m>=h?m+1:h}}function Ok(e,t,n,s=[0,0]){var a;const i=[],r=new Map;for(const l of e){const c=t.get(l.parentId);if(!c)continue;const u=((a=r.get(l.parentId))==null?void 0:a.expandedRect)??of(c),d=ZB(u,l.rect);r.set(l.parentId,{expandedRect:d,parent:c})}return r.size>0&&r.forEach(({expandedRect:l,parent:c},u)=>{var E;const d=c.internals.positionAbsolute,f=zo(c),h=c.origin??s,m=l.x0||p>0||y||x)&&(i.push({id:u,type:"position",position:{x:c.position.x-m+y,y:c.position.y-p+x}}),(E=n.get(u))==null||E.forEach(w=>{e.some(T=>T.id===w.id)||i.push({id:w.id,type:"position",position:{x:w.position.x+m,y:w.position.y+p}})})),(f.width0){const m=Ok(h,t,n,i);u.push(...m)}return{changes:u,updatedInternals:c}}async function Bie({delta:e,panZoom:t,transform:n,translateExtent:s,width:i,height:r}){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],[i,r]],s);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function EO(e,t,n,s,i,r){let a=i;const l=s.get(a)||new Map;s.set(a,l.set(n,t)),a=`${i}-${e}`;const c=s.get(a)||new Map;if(s.set(a,c.set(n,t)),r){a=`${i}-${e}-${r}`;const u=s.get(a)||new Map;s.set(a,u.set(n,t))}}function u8(e,t,n){e.clear(),t.clear();for(const s of n){const{source:i,target:r,sourceHandle:a=null,targetHandle:l=null}=s,c={edgeId:s.id,source:i,target:r,sourceHandle:a,targetHandle:l},u=`${i}-${a}--${r}-${l}`,d=`${r}-${l}--${i}-${a}`;EO("source",c,d,e,i,a),EO("target",c,u,e,r,l),t.set(s.id,s)}}function d8(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:d8(n,t):!1}function vO(e,t,n){var i;let s=e;do{if((i=s==null?void 0:s.matches)!=null&&i.call(s,t))return!0;if(s===n)return!1;s=s==null?void 0:s.parentElement}while(s);return!1}function Uie(e,t,n,s){const i=new Map;for(const[r,a]of e)if((a.selected||a.id===s)&&(!a.parentId||!d8(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const l=e.get(r);l&&i.set(r,{id:r,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return i}function uv({nodeId:e,dragItems:t,nodeLookup:n,dragging:s=!0}){var a,l,c;const i=[];for(const[u,d]of t){const f=(a=n.get(u))==null?void 0:a.internals.userNode;f&&i.push({...f,position:d.position,dragging:s})}if(!e)return[i[0],i];const r=(l=n.get(e))==null?void 0:l.internals.userNode;return[r?{...r,position:((c=t.get(e))==null?void 0:c.position)||r.position,dragging:s}:i[0],i]}function Fie({dragItems:e,snapGrid:t,x:n,y:s}){const i=e.values().next().value;if(!i)return null;const r={x:n-i.distance.x,y:s-i.distance.y},a=Qp(r,t);return{x:a.x-r.x,y:a.y-r.y}}function $ie({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:s,onDragStop:i}){let r={x:null,y:null},a=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,h=null,m=!1,p=!1,g=null;function v({noDragClassName:x,handleSelector:E,domNode:w,isSelectable:T,nodeId:S,nodeClickDistance:k=0}){h=yr(w);function A({x:L,y:G}){const{nodeLookup:D,nodeExtent:F,snapGrid:N,snapToGrid:O,nodeOrigin:P,onNodeDrag:$,onSelectionDrag:I,onError:q,updateNodePositions:Q}=t();r={x:L,y:G};let B=!1;const ee=l.size>1,z=ee&&F?e_(Xp(l)):null,K=ee&&O?Fie({dragItems:l,snapGrid:N,x:L,y:G}):null;for(const[se,W]of l){if(!D.has(se))continue;let de={x:L-W.distance.x,y:G-W.distance.y};O&&(de=K?{x:Math.round(de.x+K.x),y:Math.round(de.y+K.y)}:Qp(de,N));let ye=null;if(ee&&F&&!W.extent&&z){const{positionAbsolute:he}=W.internals,Re=he.x-z.x+F[0][0],pe=he.x+W.measured.width-z.x2+F[1][0],oe=he.y-z.y+F[0][1],Te=he.y+W.measured.height-z.y2+F[1][1];ye=[[Re,oe],[pe,Te]]}const{position:we,positionAbsolute:ue}=XB({nodeId:se,nextPosition:de,nodeLookup:D,nodeExtent:ye||F,nodeOrigin:P,onError:q});B=B||W.position.x!==we.x||W.position.y!==we.y,W.position=we,W.internals.positionAbsolute=ue}if(p=p||B,!!B&&(Q(l,!0),g&&(s||$||!S&&I))){const[se,W]=uv({nodeId:S,dragItems:l,nodeLookup:D});s==null||s(g,l,se,W),$==null||$(g,se,W),S||I==null||I(g,W)}}async function C(){if(!d)return;const{transform:L,panBy:G,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(a);return}const[N,O]=_k(u,d,D);(N!==0||O!==0)&&(r.x=(r.x??0)-N/L[2],r.y=(r.y??0)-O/L[2],await G({x:N,y:O})&&A(r)),a=requestAnimationFrame(C)}function R(L){var ee;const{nodeLookup:G,multiSelectionActive:D,nodesDraggable:F,transform:N,snapGrid:O,snapToGrid:P,selectNodesOnDrag:$,onNodeDragStart:I,onSelectionDragStart:q,unselectNodesAndEdges:Q}=t();f=!0,(!$||!T)&&!D&&S&&((ee=G.get(S))!=null&&ee.selected||Q()),T&&$&&S&&(e==null||e(S));const B=Tm(L.sourceEvent,{transform:N,snapGrid:O,snapToGrid:P,containerBounds:d});if(r=B,l=Uie(G,F,B,S),l.size>0&&(n||I||!S&&q)){const[z,K]=uv({nodeId:S,dragItems:l,nodeLookup:G});n==null||n(L.sourceEvent,l,z,K),I==null||I(L.sourceEvent,z,K),S||q==null||q(L.sourceEvent,K)}}const M=CB().clickDistance(k).on("start",L=>{const{domNode:G,nodeDragThreshold:D,transform:F,snapGrid:N,snapToGrid:O}=t();d=(G==null?void 0:G.getBoundingClientRect())||null,m=!1,p=!1,g=L.sourceEvent,D===0&&R(L),r=Tm(L.sourceEvent,{transform:F,snapGrid:N,snapToGrid:O,containerBounds:d}),u=ga(L.sourceEvent,d)}).on("drag",L=>{const{autoPanOnNodeDrag:G,transform:D,snapGrid:F,snapToGrid:N,nodeDragThreshold:O,nodeLookup:P}=t(),$=Tm(L.sourceEvent,{transform:D,snapGrid:F,snapToGrid:N,containerBounds:d});if(g=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||S&&!P.has(S))&&(m=!0),!m){if(!c&&G&&f&&(c=!0,C()),!f){const I=ga(L.sourceEvent,d),q=I.x-u.x,Q=I.y-u.y;Math.sqrt(q*q+Q*Q)>O&&R(L)}(r.x!==$.xSnapped||r.y!==$.ySnapped)&&l&&f&&(u=ga(L.sourceEvent,d),A($))}}).on("end",L=>{if(!f||m){m&&l.size>0&&t().updateNodePositions(l,!1);return}if(c=!1,f=!1,cancelAnimationFrame(a),l.size>0){const{nodeLookup:G,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:N}=t();if(p&&(D(l,!1),p=!1),i||F||!S&&N){const[O,P]=uv({nodeId:S,dragItems:l,nodeLookup:G,dragging:!1});i==null||i(L.sourceEvent,l,O,P),F==null||F(L.sourceEvent,O,P),S||N==null||N(L.sourceEvent,P)}}}).filter(L=>{const G=L.target;return!L.button&&(!x||!vO(G,`.${x}`,w))&&(!E||vO(G,E,w))});h.call(M)}function y(){h==null||h.on(".drag",null)}return{update:v,destroy:y}}function Hie(e,t,n){const s=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const r of t.values())hp(i,of(r))>0&&s.push(r);return s}const zie=250;function Vie(e,t,n,s){var l,c;let i=[],r=1/0;const a=Hie(e,n,t+zie);for(const u of a){const d=[...((l=u.internals.handleBounds)==null?void 0:l.source)??[],...((c=u.internals.handleBounds)==null?void 0:c.target)??[]];for(const f of d){if(s.nodeId===f.nodeId&&s.type===f.type&&s.id===f.id)continue;const{x:h,y:m}=Yc(u,f,f.position,!0),p=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(m-e.y,2));p>t||(p1){const u=s.type==="source"?"target":"source";return i.find(d=>d.type===u)??i[0]}return i[0]}function f8(e,t,n,s,i,r=!1){var u,d,f;const a=s.get(e);if(!a)return null;const l=i==="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)??[]],c=(n?l==null?void 0:l.find(h=>h.id===n):l==null?void 0:l[0])??null;return c&&r?{...c,...Yc(a,c,c.position,!0)}:c}function h8(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Gie(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const m8=()=>!0;function Kie(e,{connectionMode:t,connectionRadius:n,handleId:s,nodeId:i,edgeUpdaterType:r,isTarget:a,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:m,onConnectStart:p,onConnect:g,onConnectEnd:v,isValidConnection:y=m8,onReconnectEnd:x,updateConnection:E,getTransform:w,getFromHandle:T,autoPanSpeed:S,dragThreshold:k=1,handleDomNode:A}){const C=t8(e.target);let R=0,M;const{x:L,y:G}=ga(e),D=h8(r,A),F=l==null?void 0:l.getBoundingClientRect();let N=!1;if(!F||!D)return;const O=f8(i,D,s,c,t);if(!O)return;let P=ga(e,F),$=!1,I=null,q=!1,Q=null;function B(){if(!d||!F)return;const[we,ue]=_k(P,F,S);h({x:we,y:ue}),R=requestAnimationFrame(B)}const ee={...O,nodeId:i,type:D,position:O.position},z=c.get(i);let se={inProgress:!0,isValid:null,from:Yc(z,ee,We.Left,!0),fromHandle:ee,fromPosition:ee.position,fromNode:z,to:P,toHandle:null,toPosition:cO[ee.position],toNode:null,pointer:P};function W(){N=!0,E(se),p==null||p(e,{nodeId:i,handleId:s,handleType:D})}k===0&&W();function de(we){if(!N){const{x:Te,y:xe}=ga(we),Xe=Te-L,Me=xe-G;if(!(Xe*Xe+Me*Me>k*k))return;W()}if(!T()||!ee){ye(we);return}const ue=w();P=ga(we,F),M=Vie(Df(P,ue,!1,[1,1]),n,c,ee),$||(B(),$=!0);const he=p8(we,{handle:M,connectionMode:t,fromNodeId:i,fromHandleId:s,fromType:a?"target":"source",isValidConnection:y,doc:C,lib:u,flowId:f,nodeLookup:c});Q=he.handleDomNode,I=he.connection,q=Gie(!!M,he.isValid);const Re=c.get(i),pe=Re?Yc(Re,ee,We.Left,!0):se.from,oe={...se,from:pe,isValid:q,to:he.toHandle&&q?lf({x:he.toHandle.x,y:he.toHandle.y},ue):P,toHandle:he.toHandle,toPosition:q&&he.toHandle?he.toHandle.position:cO[ee.position],toNode:he.toHandle?c.get(he.toHandle.nodeId):null,pointer:P};E(oe),se=oe}function ye(we){if(!("touches"in we&&we.touches.length>0)){if(N){(M||Q)&&I&&q&&(g==null||g(I));const{inProgress:ue,...he}=se,Re={...he,toPosition:se.toHandle?se.toPosition:null};v==null||v(we,Re),r&&(x==null||x(we,Re))}m(),cancelAnimationFrame(R),$=!1,q=!1,I=null,Q=null,C.removeEventListener("mousemove",de),C.removeEventListener("mouseup",ye),C.removeEventListener("touchmove",de),C.removeEventListener("touchend",ye)}}C.addEventListener("mousemove",de),C.addEventListener("mouseup",ye),C.addEventListener("touchmove",de),C.addEventListener("touchend",ye)}function p8(e,{handle:t,connectionMode:n,fromNodeId:s,fromHandleId:i,fromType:r,doc:a,lib:l,flowId:c,isValidConnection:u=m8,nodeLookup:d}){const f=r==="target",h=t?a.querySelector(`.${l}-flow__handle[data-id="${c}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:m,y:p}=ga(e),g=a.elementFromPoint(m,p),v=g!=null&&g.classList.contains(`${l}-flow__handle`)?g:h,y={handleDomNode:v,isValid:!1,connection:null,toHandle:null};if(v){const x=h8(void 0,v),E=v.getAttribute("data-nodeid"),w=v.getAttribute("data-handleid"),T=v.classList.contains("connectable"),S=v.classList.contains("connectableend");if(!E||!x)return y;const k={source:f?E:s,sourceHandle:f?w:i,target:f?s:E,targetHandle:f?i:w};y.connection=k;const C=T&&S&&(n===sf.Strict?f&&x==="source"||!f&&x==="target":E!==s||w!==i);y.isValid=C&&u(k),y.toHandle=f8(E,x,w,d,n,!0)}return y}const s_={onPointerDown:Kie,isValid:p8};function qie({domNode:e,panZoom:t,getTransform:n,getViewScale:s}){const i=yr(e);function r({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:m=!1}){const p=E=>{if(E.sourceEvent.type!=="wheel"||!t)return;const w=n(),T=E.sourceEvent.ctrlKey&&mp()?10:1,S=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*d,k=w[2]*Math.pow(2,S*T);t.scaleTo(k)};let g=[0,0];const v=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(g=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},y=E=>{const w=n();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!t)return;const T=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],S=[T[0]-g[0],T[1]-g[1]];g=T;const k=s()*Math.max(w[2],Math.log(w[2]))*(m?-1:1),A={x:w[0]-S[0]*k,y:w[1]-S[1]*k},C=[[0,0],[c,u]];t.setViewportConstrained({x:A.x,y:A.y,zoom:w[2]},C,l)},x=VB().on("start",v).on("zoom",f?y:null).on("zoom.wheel",h?p:null);i.call(x,{})}function a(){i.on("zoom",null)}return{update:r,destroy:a,pointer:ca}}const G1=e=>({x:e.x,y:e.y,zoom:e.k}),dv=({x:e,y:t,zoom:n})=>H1.translate(e,t).scale(n),hd=(e,t)=>e.target.closest(`.${t}`),g8=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Yie=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,fv=(e,t=0,n=Yie,s=()=>{})=>{const i=typeof t=="number"&&t>0;return i||s(),i?e.transition().duration(t).ease(n).on("end",s):e},b8=e=>{const t=e.ctrlKey&&mp()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Wie({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:s,panOnScrollMode:i,panOnScrollSpeed:r,zoomOnPinch:a,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(hd(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&a){const v=ca(d),y=b8(d),x=f*Math.pow(2,y);s.scaleTo(n,x,v,d);return}const h=d.deltaMode===1?20:1;let m=i===Mc.Vertical?0:d.deltaX*h,p=i===Mc.Horizontal?0:d.deltaY*h;!mp()&&d.shiftKey&&i!==Mc.Vertical&&(m=d.deltaY*h,p=0),s.translateBy(n,-(m/f)*r,-(p/f)*r,{internal:!0});const g=G1(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c==null||c(d,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l==null||l(d,g))}}function Xie({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(s,i){const r=s.type==="wheel",a=!t&&r&&!s.ctrlKey,l=hd(s,e);if(s.ctrlKey&&r&&l&&s.preventDefault(),a||l)return null;s.preventDefault(),n.call(this,s,i)}}function Qie({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return s=>{var r,a,l;if((r=s.sourceEvent)!=null&&r.internal)return;const i=G1(s.transform);e.mouseButton=((a=s.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=i,((l=s.sourceEvent)==null?void 0:l.type)==="mousedown"&&t(!0),n&&(n==null||n(s.sourceEvent,i))}}function Zie({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:s,onPanZoom:i}){return r=>{var a,l;e.usedRightMouseButton=!!(n&&g8(t,e.mouseButton??0)),(a=r.sourceEvent)!=null&&a.sync||s([r.transform.x,r.transform.y,r.transform.k]),i&&!((l=r.sourceEvent)!=null&&l.internal)&&(i==null||i(r.sourceEvent,G1(r.transform)))}}function Jie({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:s,onPanZoomEnd:i,onPaneContextMenu:r}){return a=>{var l;if(!((l=a.sourceEvent)!=null&&l.internal)&&(e.isZoomingOrPanning=!1,r&&g8(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&r(a.sourceEvent),e.usedRightMouseButton=!1,s(!1),i)){const c=G1(a.transform);e.prevViewport=c,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i==null||i(a.sourceEvent,c)},n?150:0)}}}function ere({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:s,panOnScroll:i,zoomOnDoubleClick:r,userSelectionActive:a,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{var v;const h=e||t,m=n&&f.ctrlKey,p=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(hd(f,`${u}-flow__node`)||hd(f,`${u}-flow__edge`)))return!0;if(!s&&!h&&!i&&!r&&!n||a||d&&!p||hd(f,l)&&p||hd(f,c)&&(!p||i&&p&&!e)||!n&&f.ctrlKey&&p)return!1;if(!n&&f.type==="touchstart"&&((v=f.touches)==null?void 0:v.length)>1)return f.preventDefault(),!1;if(!h&&!i&&!m&&p||!s&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(s)&&!s.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(s)&&s.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||p)&&g}}function tre({domNode:e,minZoom:t,maxZoom:n,translateExtent:s,viewport:i,onPanZoom:r,onPanZoomStart:a,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=VB().scaleExtent([t,n]).translateExtent(s),h=yr(e).call(f);x({x:i.x,y:i.y,zoom:af(i.zoom,t,n)},[[0,0],[d.width,d.height]],s);const m=h.on("wheel.zoom"),p=h.on("dblclick.zoom");f.wheelDelta(b8);async function g(M,L){return h?new Promise(G=>{f==null||f.interpolate((L==null?void 0:L.interpolate)==="linear"?_m:hb).transform(fv(h,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>G(!0)),M)}):!1}function v({noWheelClassName:M,noPanClassName:L,onPaneContextMenu:G,userSelectionActive:D,panOnScroll:F,panOnDrag:N,panOnScrollMode:O,panOnScrollSpeed:P,preventScrolling:$,zoomOnPinch:I,zoomOnScroll:q,zoomOnDoubleClick:Q,zoomActivationKeyPressed:B,lib:ee,onTransformChange:z,connectionInProgress:K,paneClickDistance:se,selectionOnDrag:W}){D&&!u.isZoomingOrPanning&&y();const de=F&&!B&&!D;f.clickDistance(W?1/0:!pa(se)||se<0?0:se);const ye=de?Wie({zoomPanValues:u,noWheelClassName:M,d3Selection:h,d3Zoom:f,panOnScrollMode:O,panOnScrollSpeed:P,zoomOnPinch:I,onPanZoomStart:a,onPanZoom:r,onPanZoomEnd:l}):Xie({noWheelClassName:M,preventScrolling:$,d3ZoomHandler:m});h.on("wheel.zoom",ye,{passive:!1});const we=Qie({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:a});f.on("start",we);const ue=Zie({zoomPanValues:u,panOnDrag:N,onPaneContextMenu:!!G,onPanZoom:r,onTransformChange:z});f.on("zoom",ue);const he=Jie({zoomPanValues:u,panOnDrag:N,panOnScroll:F,onPaneContextMenu:G,onPanZoomEnd:l,onDraggingChange:c});f.on("end",he);const Re=ere({zoomActivationKeyPressed:B,panOnDrag:N,zoomOnScroll:q,panOnScroll:F,zoomOnDoubleClick:Q,zoomOnPinch:I,userSelectionActive:D,noPanClassName:L,noWheelClassName:M,lib:ee,connectionInProgress:K});f.filter(Re),Q?h.on("dblclick.zoom",p):h.on("dblclick.zoom",null)}function y(){f.on("zoom",null)}async function x(M,L,G){const D=dv(M),F=f==null?void 0:f.constrain()(D,L,G);return F&&await g(F),F}async function E(M,L){const G=dv(M);return await g(G,L),G}function w(M){if(h){const L=dv(M),G=h.property("__zoom");(G.k!==M.zoom||G.x!==M.x||G.y!==M.y)&&(f==null||f.transform(h,L,null,{sync:!0}))}}function T(){const M=h?zB(h.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function S(M,L){return h?new Promise(G=>{f==null||f.interpolate((L==null?void 0:L.interpolate)==="linear"?_m:hb).scaleTo(fv(h,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>G(!0)),M)}):!1}async function k(M,L){return h?new Promise(G=>{f==null||f.interpolate((L==null?void 0:L.interpolate)==="linear"?_m:hb).scaleBy(fv(h,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>G(!0)),M)}):!1}function A(M){f==null||f.scaleExtent(M)}function C(M){f==null||f.translateExtent(M)}function R(M){const L=!pa(M)||M<0?0:M;f==null||f.clickDistance(L)}return{update:v,destroy:y,setViewport:E,setViewportConstrained:x,getViewport:T,scaleTo:S,scaleBy:k,setScaleExtent:A,setTranslateExtent:C,syncViewport:w,setClickDistance:R}}var cf;(function(e){e.Line="line",e.Handle="handle"})(cf||(cf={}));function nre({width:e,prevWidth:t,height:n,prevHeight:s,affectsX:i,affectsY:r}){const a=e-t,l=n-s,c=[a>0?1:a<0?-1:0,l>0?1:l<0?-1:0];return a&&i&&(c[0]=c[0]*-1),l&&r&&(c[1]=c[1]*-1),c}function wO(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),s=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:s,affectsY:i}}function nl(e,t){return Math.max(0,t-e)}function sl(e,t){return Math.max(0,e-t)}function p0(e,t,n){return Math.max(0,t-e,e-n)}function SO(e,t){return e?!t:t}function sre(e,t,n,s,i,r,a,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:m,ySnapped:p}=n,{minWidth:g,maxWidth:v,minHeight:y,maxHeight:x}=s,{x:E,y:w,width:T,height:S,aspectRatio:k}=e;let A=Math.floor(d?m-e.pointerX:0),C=Math.floor(f?p-e.pointerY:0);const R=T+(c?-A:A),M=S+(u?-C:C),L=-r[0]*T,G=-r[1]*S;let D=p0(R,g,v),F=p0(M,y,x);if(a){let P=0,$=0;c&&A<0?P=nl(E+A+L,a[0][0]):!c&&A>0&&(P=sl(E+R+L,a[1][0])),u&&C<0?$=nl(w+C+G,a[0][1]):!u&&C>0&&($=sl(w+M+G,a[1][1])),D=Math.max(D,P),F=Math.max(F,$)}if(l){let P=0,$=0;c&&A>0?P=sl(E+A,l[0][0]):!c&&A<0&&(P=nl(E+R,l[1][0])),u&&C>0?$=sl(w+C,l[0][1]):!u&&C<0&&($=nl(w+M,l[1][1])),D=Math.max(D,P),F=Math.max(F,$)}if(i){if(d){const P=p0(R/k,y,x)*k;if(D=Math.max(D,P),a){let $=0;!c&&!u||c&&!u&&h?$=sl(w+G+R/k,a[1][1])*k:$=nl(w+G+(c?A:-A)/k,a[0][1])*k,D=Math.max(D,$)}if(l){let $=0;!c&&!u||c&&!u&&h?$=nl(w+R/k,l[1][1])*k:$=sl(w+(c?A:-A)/k,l[0][1])*k,D=Math.max(D,$)}}if(f){const P=p0(M*k,g,v)/k;if(F=Math.max(F,P),a){let $=0;!c&&!u||u&&!c&&h?$=sl(E+M*k+L,a[1][0])/k:$=nl(E+(u?C:-C)*k+L,a[0][0])/k,F=Math.max(F,$)}if(l){let $=0;!c&&!u||u&&!c&&h?$=nl(E+M*k,l[1][0])/k:$=sl(E+(u?C:-C)*k,l[0][0])/k,F=Math.max(F,$)}}}C=C+(C<0?F:-F),A=A+(A<0?D:-D),i&&(h?R>M*k?C=(SO(c,u)?-A:A)/k:A=(SO(c,u)?-C:C)*k:d?(C=A/k,u=c):(A=C*k,c=u));const N=c?E+A:E,O=u?w+C:w;return{width:T+(c?-A:A),height:S+(u?-C:C),x:r[0]*A*(c?-1:1)+N,y:r[1]*C*(u?-1:1)+O}}const y8={width:0,height:0,x:0,y:0},ire={...y8,pointerX:0,pointerY:0,aspectRatio:1};function rre(e,t,n){const s=t.position.x+e.position.x,i=t.position.y+e.position.y,r=e.measured.width??0,a=e.measured.height??0,l=n[0]*r,c=n[1]*a;return[[s-l,i-c],[s+r-l,i+a-c]]}function are({domNode:e,nodeId:t,getStoreItems:n,onChange:s,onEnd:i}){const r=yr(e);let a={controlDirection:wO("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:m,onResize:p,onResizeEnd:g,shouldResize:v}){let y={...y8},x={...ire};a={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:wO(u)};let E,w=null,T=[],S,k,A,C=!1;const R=CB().on("start",M=>{const{nodeLookup:L,transform:G,snapGrid:D,snapToGrid:F,nodeOrigin:N,paneDomNode:O}=n();if(E=L.get(t),!E)return;w=(O==null?void 0:O.getBoundingClientRect())??null;const{xSnapped:P,ySnapped:$}=Tm(M.sourceEvent,{transform:G,snapGrid:D,snapToGrid:F,containerBounds:w});y={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},x={...y,pointerX:P,pointerY:$,aspectRatio:y.width/y.height},S=void 0,k=qc(E.extent)?E.extent:void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(S=L.get(E.parentId)),S&&E.extent==="parent"&&(k=[[0,0],[S.measured.width,S.measured.height]]),T=[],A=void 0;for(const[I,q]of L)if(q.parentId===t&&(T.push({id:I,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){const Q=rre(q,E,q.origin??N);A?A=[[Math.min(Q[0][0],A[0][0]),Math.min(Q[0][1],A[0][1])],[Math.max(Q[1][0],A[1][0]),Math.max(Q[1][1],A[1][1])]]:A=Q}m==null||m(M,{...y})}).on("drag",M=>{const{transform:L,snapGrid:G,snapToGrid:D,nodeOrigin:F}=n(),N=Tm(M.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:w}),O=[];if(!E)return;const{x:P,y:$,width:I,height:q}=y,Q={},B=E.origin??F,{width:ee,height:z,x:K,y:se}=sre(x,a.controlDirection,N,a.boundaries,a.keepAspectRatio,B,k,A),W=ee!==I,de=z!==q,ye=K!==P&&W,we=se!==$&&de;if(!ye&&!we&&!W&&!de)return;if((ye||we||B[0]===1||B[1]===1)&&(Q.x=ye?K:y.x,Q.y=we?se:y.y,y.x=Q.x,y.y=Q.y,T.length>0)){const pe=K-P,oe=se-$;for(const Te of T)Te.position={x:Te.position.x-pe+B[0]*(ee-I),y:Te.position.y-oe+B[1]*(z-q)},O.push(Te)}if((W||de)&&(Q.width=W&&(!a.resizeDirection||a.resizeDirection==="horizontal")?ee:y.width,Q.height=de&&(!a.resizeDirection||a.resizeDirection==="vertical")?z:y.height,y.width=Q.width,y.height=Q.height),S&&E.expandParent){const pe=B[0]*(Q.width??0);Q.x&&Q.x{C&&(g==null||g(M,{...y}),i==null||i({...y}),C=!1)});r.call(R)}function c(){r.on(".drag",null)}return{update:l,destroy:c}}var x8={exports:{}},E8={},v8={exports:{}},w8={};/** +${UR}`:t:t}async function*nk(e){if(!e.body)throw new Error("Response has no body");const t=e.body.getReader(),n=new TextDecoder;let s="";try{for(;;){const{done:i,value:r}=await t.read();if(i)break;s+=n.decode(r,{stream:!0});let a=s.match(/\r?\n\r?\n/);for(;(a==null?void 0:a.index)!==void 0;){const l=s.slice(0,a.index);s=s.slice(a.index+a[0].length);const c=l.split(/\r?\n/).filter(u=>u.startsWith("data:")).map(u=>u.slice(5).trimStart()).join(` +`);if(c)try{yield JSON.parse(c)}catch{c!=="[DONE]"&&c!=="ping"&&console.debug(`parseSSE: dropping unparseable frame (${c.length} chars):`,c.slice(0,200))}a=s.match(/\r?\n\r?\n/)}}}finally{try{await t.cancel()}catch{}finally{t.releaseLock()}}}const KJ=255,qJ=/[\p{L}\p{M}\p{N}\p{P}\p{Zs}]/u;function YJ(e){const t=e.normalize("NFKC").replace(/\s+/gu," ").trim(),n=new TextEncoder;let s=0,i="";for(const r of t){if(!qJ.test(r))continue;const a=n.encode(r).byteLength;if(s+a>KJ)break;i+=r,s+=a}return i.replace(/ +/g," ").trimEnd()}const sk="veadk.messageFeedback.v1";function ik(e,t,n,s){return[e,t,n,s].join(":")}function rk(){if(typeof window>"u")return{};try{const e=JSON.parse(localStorage.getItem(sk)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}}function WJ(e,t,n){if(typeof window>"u")return;const s=rk();s[e]={...s[e]??{},[`veadk_feedback:${t}`]:n},localStorage.setItem(sk,JSON.stringify(s))}function AP(e){if(typeof window>"u")return;const t=ik(e.runtimeId,e.appName,e.userId,e.sessionId),n=rk(),s=n[t];if(s){for(const i of e.eventIds)delete s[`veadk_feedback:${i}`];Object.keys(s).length===0?delete n[t]:n[t]=s,localStorage.setItem(sk,JSON.stringify(n))}}const cb="",ak=new Map;function CP(e,t){ak.set(e,t)}function IP(){ak.clear()}function Ws(e){const t=ak.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 gt(e,t={},n={},s=jf){const i=!!n.runtimeId&&String(t.method??"GET").toUpperCase()==="DELETE",r={...t,...i?{method:"POST"}:{},headers:j1(t.headers)},a=()=>{const u={...r,signal:Ln(t.signal,s)};if(n.runtimeId){const d=new URLSearchParams;n.region&&d.set("region",n.region),n.retryProbe&&d.set("probe_retry","connect"),i&&d.set("_method","DELETE");const f=d.toString()?`${e.includes("?")?"&":"?"}${d.toString()}`:"";return fetch(kn(`${cb}/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(kn(`${cb}/agentkit-proxy${e}`),{...u,headers:d})}return fetch(kn(`${cb}${e}`),u)},l=async u=>{if(BJ(u))return!0;if(u.status!==401)return!1;try{return await MJ()}catch{return!1}};let c=await a();for(;await l(c);)await UJ(t.signal),c=await a();return c}function XJ(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{var n;if(t&&typeof t=="object"&&"msg"in t){const s=Array.isArray(t.loc)?(n=t.loc)==null?void 0:n.join("."):"",i=String(t.msg??"");return s?`${s}: ${i}`:i}return String(t)}).filter(Boolean).join(` +`):e&&typeof e=="object"?JSON.stringify(e):""}async function ln(e,t){const n=await e.text().catch(()=>"");if(!n)return`${t} (${e.status})`;try{const s=JSON.parse(n);return XJ(s.detail??s.error)||n||`${t} (${e.status})`}catch{return n||`${t} (${e.status})`}}async function RP(){const e=await gt("/list-apps");if(!e.ok)throw new Error(`list-apps failed: ${e.status}`);return e.json()}class Of extends Error{constructor(){super("当前账号无权访问该 Runtime,请刷新列表或重新登录后重试。"),this.name="RuntimeAccessDeniedError"}}class Er extends Error{constructor(t,n=!1){super(t),this.unsupported=n,this.name="RuntimeProbeError"}}const jP="Runtime 已部署成功,但当前 Studio 无法访问私网 Runtime。请使用已绑定相同 VPC 的 Studio 访问,或改用公网 / 公网+VPC 部署。",OP="Runtime 已部署成功,但 Studio 暂时无法连接服务。网关域名可能仍在生效,或当前网络/DNS 无法访问该 Runtime,请稍后在智能体管理页重试连接。",QJ=["cn-beijing","cn-shanghai"],ZJ=3e4,M1=5*60*1e3,MP=60*1e3,ub=new Map,hc=new Map,mc=new Map,ua=new Map;function LP(e,t){return`${t}:${e}`}function L1(e){const t=e||"cn-beijing";return[t,...QJ.filter(n=>n!==t)]}function Mf(...e){return e.map(t=>String(t??"")).join("")}function Lf(e,t,n){const s=e.get(t);return s!=null&&s.value&&Date.now()-s.updatedAt<=n?s.value:null}function ok(e,t,n){return e.set(t,{value:n,updatedAt:Date.now()}),n}async function DP(e){try{const t=await e.clone().json();return typeof t.detail=="string"?t.detail:""}catch{return""}}async function D1(e,t,n){const s=await gt("/list-apps",{},n??{base:e,apiKey:t}),i=n!=null&&n.runtimeId?await DP(s):"";if(n!=null&&n.runtimeId&&i==="runtime_access_denied")throw new Of;if(n!=null&&n.runtimeId&&i==="runtime_private_endpoint_unreachable")throw new Er(jP);if(n!=null&&n.runtimeId&&["runtime_proxy_connect_error","runtime_proxy_timeout","runtime_json_connect_error","runtime_json_timeout"].includes(i))throw new Er(OP);if(n!=null&&n.runtimeId&&s.status===404)throw new Er("该 Runtime 的 Agent Server 未提供连接接口,请确认 Runtime 已就绪且版本兼容。",!0);if(n!=null&&n.runtimeId&&(s.status===401||s.status===403))throw new Er("Runtime 服务拒绝了连接请求,请检查 Runtime 的鉴权配置。");if(!s.ok)throw new Error(await ln(s,"读取 Agent 列表失败"));const r=await s.json();return n!=null&&n.runtimeId&&ub.set(LP(n.runtimeId,n.region??""),{apps:r,expiresAt:Date.now()+ZJ}),r}async function xy(e,t){const{app:n,ep:s}=Ws(e),i=await gt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"},s);if(!i.ok){const a=`创建会话失败 (${i.status})`,l=await ln(i,"创建会话失败");throw new Error(l===a?a:`${a}:${l}`)}return(await i.json()).id}async function lk(e,t){const{app:n,ep:s}=Ws(e),i=await gt(`/apps/${n}/users/${encodeURIComponent(t)}/sessions`,{},s);if(!i.ok)throw new Error(`list sessions failed: ${i.status}`);return i.json()}async function Ey(e,t,n){const{app:s,ep:i}=Ws(e),r=await gt(`/apps/${s}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}`,{},i);if(!r.ok){const l=await ln(r,"读取会话失败");throw new Error(`get session failed: ${r.status}:${l}`)}const a=await r.json();if(i.runtimeId){const l=ik(i.runtimeId,s,t,n);a.state={...rk()[l]??{},...a.state??{}}}return a}async function PP(e){const{app:t,ep:n}=Ws(e.appName);if(!n.runtimeId)throw new Error("只有连接到 AgentKit Runtime 的会话支持反馈回流");if(!n.region)throw new Error("Runtime 缺少地域信息,无法提交反馈");const s=await gt("/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??""})},{},qp);if(!s.ok)throw new Error(await ln(s,"提交反馈失败"));const i=await s.json(),r=ik(n.runtimeId,t,e.userId,e.sessionId);return WJ(r,e.eventId,i),i}async function P1(e,t={}){const n=Mf(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),s=Lf(ua,n,MP);if(!t.force&&s)return s;const i=ua.get(n);if(!t.force&&(i!=null&&i.promise))return i.promise;let r=null;const a=(async()=>{for(const l of L1(e.region)){const c=new URLSearchParams({runtimeId:e.runtimeId,region:l,appName:e.appName,page_size:String(e.pageSize??100)}),u=await gt(`/web/evaluation/feedback-cases?${c.toString()}`);if(u.ok)return ok(ua,n,await u.json());r=new Error(await ln(u,"读取评测集失败"))}throw r??new Error("读取评测集失败")})();ua.set(n,{...i,promise:a,updatedAt:(i==null?void 0:i.updatedAt)??0});try{return await a}finally{const l=ua.get(n);(l==null?void 0:l.promise)===a&&ua.set(n,{value:l.value,updatedAt:l.updatedAt})}}function BP(e){return Lf(ua,Mf(e.runtimeId,e.region||"cn-beijing",e.appName,e.pageSize??100),MP)}function $S(e){P1(e).catch(()=>{})}function UP(e){P1(e,{force:!0}).catch(()=>{})}function FP(e,t){return["good","bad"].map(n=>{const s=e.find(i=>i.kind===n);return{kind:n,evaluationSetId:(s==null?void 0:s.evaluationSetId)??null,evaluationSetName:(s==null?void 0:s.evaluationSetName)??null,workspaceId:(s==null?void 0:s.workspaceId)??null,itemCount:t.filter(i=>i.kind===n).length}})}function db(e){for(const[t,n]of ua.entries()){const s=n.value;if(!s||s.runtimeId!==e.runtimeId||s.agentName!==e.appName)continue;const i=s.items.filter(a=>a.sessionId!==e.sessionId||a.messageId!==e.messageId),r=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:"",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:""},...i]:i;ua.set(t,{value:{...s,sets:FP(s.sets,r),items:r},updatedAt:Date.now(),promise:n.promise})}}async function $P(e){let t=null;for(const n of L1(e.region)){const s=await gt("/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})},{},qp);if(s.ok){const i=await s.json(),r=new Set(e.itemIds);for(const[a,l]of ua.entries()){const c=l.value;if(!c||c.runtimeId!==e.runtimeId||c.agentName!==e.appName)continue;const u=c.items.filter(d=>!r.has(d.id));ua.set(a,{value:{...c,sets:FP(c.sets,u),items:u},updatedAt:Date.now()})}return i}t=new Error(await ln(s,"删除评测案例失败"))}throw t??new Error("删除评测案例失败")}async function HS(e,t,n){const{app:s,ep:i}=Ws(e),r=await gt(`/apps/${s}/users/${encodeURIComponent(t)}/sessions/${n}`,{method:"DELETE"},i);if(!r.ok&&r.status!==404)throw new Error(`delete session failed: ${r.status}`)}function JJ(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"="),s=window.atob(n),i=new Uint8Array(s.length);for(let r=0;rURL.revokeObjectURL(l),0)}async function zP(e,t,n,s,i){const{app:r,ep:a}=Ws(e),l=i==null?"":`?version=${encodeURIComponent(i)}`,c=`/apps/${encodeURIComponent(r)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/artifacts/${encodeURIComponent(s)}${l}`,u=await gt(c,{},a,qp);if(!u.ok)throw new Error(await ln(u,"下载文件失败"));const d=await u.json(),f=d.inlineData??d.inline_data;if(!(f!=null&&f.data))throw new Error("文件内容不可用");const h=JJ(f.data),m=h.buffer.slice(h.byteOffset,h.byteOffset+h.byteLength);return{blob:new Blob([m],{type:f.mimeType??f.mime_type??"application/octet-stream"}),downloadName:f.displayName??f.display_name??s}}async function VP(e,t,n,s,i){const{blob:r}=await zP(e,t,n,s,i);return URL.createObjectURL(r)}async function eee(e){const t=await gt("/web/media/capabilities");if(!t.ok)throw new Error(await ln(t,"media capabilities failed"));return t.json()}async function GP(e,t,n,s){const{app:i}=Ws(e),r=new FormData;r.set("app_name",i),r.set("user_id",t),r.set("session_id",n),r.set("file",s);const a=await gt("/web/media",{method:"POST",body:r},{},qp);if(!a.ok)throw new Error(await ln(a,"文件上传失败"));return{...await a.json(),status:"ready"}}async function zS(e,t,n){const{app:s}=Ws(e),i=`/web/media/${encodeURIComponent(s)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/delete`,r=await gt(i,{method:"POST"});if(!r.ok&&r.status!==404)throw new Error(await ln(r,"media cleanup failed"))}function KP(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((s,i)=>![1,3,5].includes(i)).join("/")}`}catch{return}}async function fb(e,t){const n=KP(t);if(!n)throw new Error("Invalid VeADK media URI");const s=await gt(`${n}/delete`,{method:"POST"});if(!s.ok&&s.status!==404)throw new Error(await ln(s,"media cleanup failed"))}function qP(e,t){if(t.startsWith("data:")||t.startsWith("blob:")||/^https?:/.test(t))return t;const n=KP(t);if(!n)return t;const s=`${n}/content`;return kn(`${cb}${s}`)}async function YP(e,t){const{app:n,ep:s}=Ws(e),i=await gt(`/dev/apps/${encodeURIComponent(n)}/debug/trace/session/${encodeURIComponent(t)}`,{},s);if(!i.ok)throw new Error(`trace failed: ${i.status}`);const r=i.headers.get("content-type")??"";if(!r.includes("application/json")){const l=r.split(";",1)[0]||"Content-Type 缺失";throw new Error(`trace failed: 服务端返回了非 JSON 响应(${l}),请检查 Studio API 代理配置`)}const a=await i.json();if(!Array.isArray(a))throw new Error("trace failed: 返回格式无效");return a}function ck(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 uk(e,t,n){return`/harness/apps/${encodeURIComponent(e)}/users/${encodeURIComponent(t)}/sessions/${encodeURIComponent(n)}/capabilities`}async function VS(e,t,n){const{app:s,ep:i}=Ws(e),r=await gt(uk(s,t,n),{},i);if(!r.ok)throw new Error(await ln(r,"读取会话能力失败"));return ck(await r.json())}async function dk(e){const{ep:t}=Ws(e),n=await gt("/harness/capabilities/tools",{},t);if(!n.ok)throw new Error(await ln(n,"读取内置工具失败"));return((await n.json()).tools??[]).map(i=>{var r;return((r=i.name)==null?void 0:r.trim())??""}).filter(Boolean)}async function tee(e){const{ep:t}=Ws(e),n=await gt("/harness/skills/spaces?region=all",{},t);if(!n.ok)throw new Error(await ln(n,"读取 Skill Space 失败"));return(await n.json()).items??[]}async function nee(e,t,n){const{ep:s}=Ws(e),i=new URLSearchParams({region:n||"cn-beijing"}),r=`/harness/skills/spaces/${encodeURIComponent(t)}/skills?${i.toString()}`,a=await gt(r,{},s);if(!a.ok)throw new Error(await ln(a,"读取 Skill 列表失败"));return(await a.json()).items??[]}async function WP(e,t,n=1,s=20){const{ep:i}=Ws(e),r=new URLSearchParams({query:t,page_number:String(n),page_size:String(s)}),a=await gt(`/harness/skills/findskill?${r.toString()}`,{},i);if(!a.ok)throw new Error(await ln(a,"搜索 Skill Hub 失败"));const l=await a.json();return{items:l.items??[],totalCount:Number(l.totalCount??0)}}async function GS(e,t,n,s,i){const{app:r,ep:a}=Ws(e),l=await gt(uk(r,t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kind:s.kind,name:s.name,skill_source_id:s.skillSourceId,description:s.description,version:s.version,expected_revision:i})},a);if(!l.ok)throw new Error(await ln(l,"添加会话能力失败"));return ck(await l.json())}async function XP(e,t,n,s,i){const{app:r,ep:a}=Ws(e),l=`${uk(r,t,n)}/${encodeURIComponent(s)}?expected_revision=${i}`,c=await gt(l,{method:"DELETE"},a);if(!c.ok)throw new Error(await ln(c,"移除会话能力失败"));return ck(await c.json())}async function QP(e,t,n=!0){const s=await gt(`/web/agent-info/${e}`,{},t);if(!s.ok)throw new Error(`agent-info failed: ${s.status}`);const i=await s.json();if(n&&!i.draft)try{const r=await gt(`/web/agent-draft/${e}`,{},t);if(r.ok){const a=await r.json();i.draft=a.draft}}catch{}return{appName:e,name:i.name??e,description:i.description??"",type:i.type,model:i.model??"",tools:i.tools??[],skillsPreviewSupported:Array.isArray(i.skills),skills:i.skills??[],subAgents:i.subAgents??[],components:i.components??[],searchSources:i.searchSources??[],graph:i.graph,draft:i.draft}}async function fk(e){const{app:t,ep:n}=Ws(e);return QP(t,n,!1)}async function see(e,t,n){let s=null;for(const i of L1(t)){const r={runtimeId:e,region:i};try{const a=LP(e,i),l=ub.get(a);l&&l.expiresAt<=Date.now()&&ub.delete(a);const c=ub.get(a),u=n||(c==null?void 0:c.apps[0])||(await D1("","",r))[0];if(!u)throw new Error("该 Runtime 未提供可预览的 Agent。");return QP(u,r)}catch(a){if(a instanceof Of||a instanceof Er&&!a.unsupported)throw a;s=a instanceof Error?a:new Error(String(a))}}throw s??new Error("该 Runtime 未提供可预览的 Agent。")}async function vy(e,t,n={},s={}){const i=typeof n=="string"?n:void 0,r=typeof n=="string"?s:n,a=Mf(e,t||"cn-beijing",i??""),l=Lf(hc,a,M1);if(!r.force&&l)return l;const c=hc.get(a);if(!r.force&&(c!=null&&c.promise))return c.promise;const u=see(e,t,i).then(d=>ok(hc,a,d));hc.set(a,{...c,promise:u,updatedAt:(c==null?void 0:c.updatedAt)??0});try{return await u}finally{const d=hc.get(a);(d==null?void 0:d.promise)===u&&hc.set(a,{value:d.value,updatedAt:d.updatedAt})}}function ZP(e,t,n=""){return Lf(hc,Mf(e,t||"cn-beijing",n),M1)}function JP(e,t,n=""){vy(e,t,n).catch(()=>{})}async function eB(e,t,n,s){const{app:i,ep:r}=Ws(e),a=new URLSearchParams({source:t,app_name:i,q:n,user_id:s}),l=await gt(`/web/search?${a.toString()}`,{},r);if(!l.ok)throw new Error(await ln(l,"Agent 检索失败"));return l.json()}async function tB(e,t){const{app:n}=Ws(e),s=await gt(`/web/search?source=web&app_name=${encodeURIComponent(n)}&q=${encodeURIComponent(t)}`);if(!s.ok)throw new Error(`web search failed: ${s.status}`);return s.json()}async function*ap({appName:e,userId:t,sessionId:n,text:s,attachments:i=[],invocation:r,functionResponses:a=[],signal:l,sessionCapabilities:c=!1}){const{app:u,ep:d}=Ws(e),f=i.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=r&&(r.skills.length>0||r.targetAgent)?r:void 0,m=[...f,...a.map(g=>({functionResponse:{id:g.id,name:g.name,response:g.response}})),...s.trim()?[{text:s}]:[]];if(h&&m.length>0){const g=m[0],v=g.partMetadata;m[0]={...g,partMetadata:{...v,veadkInvocation:h}}}const p=await gt(c?"/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:m},streaming:!0,custom_metadata:h?{veadkInvocation:h}:void 0}),signal:l},d,0);if(!p.ok){const g=await ln(p,"运行会话失败");throw new Error(l0(`run_sse failed: ${p.status}:${g}`))}for await(const g of nk(p)){const v=g;typeof v.error=="string"&&(v.error=l0(v.error)),typeof v.errorMessage=="string"&&(v.errorMessage=l0(v.errorMessage)),typeof v.error_message=="string"&&(v.error_message=l0(v.error_message)),yield v}}const Sm=new Map;function iee(e){if(typeof e=="string")return e?{message:e}:null;if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e,n=typeof t.message=="string"?t.message:typeof t.error=="string"?t.error:"";return n?{message:n,phase:typeof t.phase=="string"?t.phase:void 0,runtimeId:typeof t.runtimeId=="string"?t.runtimeId:void 0,logPath:typeof t.logPath=="string"?t.logPath:void 0}:null}class _m extends Error{constructor(t){super(t.message),this.detail=t,this.name="GithubCicdPipelineError"}}async function B1(e){const t=await e.text().catch(()=>"");if(t)try{const n=JSON.parse(t),s=iee(n.detail??n.error);if(s)return new _m(s)}catch{return new _m({message:t})}return new _m({message:`创建持续交付失败 (${e.status})`})}async function nB(e){const t=await gt("/web/github-cicd/pipelines",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project:e.project,githubUrl:e.githubUrl,githubToken:e.githubToken,baseBranch:e.baseBranch,region:e.region})},{},0);if(!t.ok)throw await B1(t);return t.json()}async function sB(e){const t=await gt(`/web/github-cicd/runtime-binding?runtimeId=${encodeURIComponent(e)}`);if(!t.ok)throw await B1(t);const n=await t.json();return n.pipelineId?n:null}async function hk(e){const t=await gt("/web/github-cicd/runtime-binding",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw await B1(t);return t.json()}async function iB(e){const t=await gt("/web/github-cicd/runtime-sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e.runtimeId,project:e.project})},{},0);if(!t.ok)throw await B1(t);return t.json()}async function U1(e,t,n,s){var u,d,f;const i=s==null?void 0:s.taskId,r=i?new AbortController:void 0;i&&r&&Sm.set(i,r);const a=()=>{i&&Sm.get(i)===r&&Sm.delete(i)};let l;try{(u=s==null?void 0:s.onStage)==null||u.call(s,{level:"info",phase:"upload",message:"正在上传代码包",pct:0}),l=await gt("/web/deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},signal:r==null?void 0:r.signal,body:JSON.stringify({name:e,files:t,config:n,taskId:i,runtimeId:s==null?void 0:s.runtimeId,appName:s==null?void 0:s.appName,sessionStorage:s==null?void 0:s.sessionStorage,minInstance:s==null?void 0:s.minInstance,maxInstance:s==null?void 0:s.maxInstance,description:YJ((s==null?void 0:s.description)??""),im:s==null?void 0:s.im,envs:s==null?void 0:s.envs})},{},0),(d=s==null?void 0:s.onStage)==null||d.call(s,{level:"success",phase:"upload",message:"代码包上传完成",pct:100})}catch(h){throw a(),h}if(!l.ok){const h=await ln(l,"部署失败");throw a(),new Error(h)}let c=null;try{for await(const h of nk(l)){const m=h;if(m&&m.done){c=m;break}m&&m.message&&((f=s==null?void 0:s.onStage)==null||f.call(s,m))}}catch(h){throw a(),h}if(a(),!c)throw new Error("部署失败:连接中断");if(!c.success)throw new Error(c.error||"部署失败");if(!c.agentName)throw new Error("部署失败:返回缺少 Agent 名称");if(!c.runtimeId&&!c.url)throw new Error("部署失败:返回缺少 AgentKit 连接信息");return{apikey:c.apikey??"",url:c.url??"",agentName:c.agentName,runtimeId:c.runtimeId,consoleUrl:c.consoleUrl,region:c.region,version:c.version,feishuChannel:c.feishuChannel}}async function ree(e){var n;const t=await gt("/web/cancel-deploy-agentkit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e})});if(!t.ok){const s=await t.text().catch(()=>"");throw new Error(s||`取消部署失败 (${t.status})`)}(n=Sm.get(e))==null||n.abort(),Sm.delete(e)}async function aee(e="cn-beijing"){const t=await gt(`/web/my-runtimes?region=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`加载失败 (${t.status})`);return(await t.json()).runtimes??[]}const op={title:"VeADK Studio",logoUrl:""},ov={studio:!1,version:"",branding:op,features:{newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,addAgentkit:!0,generatedAgentTestRun:!0},defaultView:"chat",agentsSource:"local"};async function rB(){var e,t;try{const n=await gt("/web/ui-config");if(!n.ok)return ov;const s=await n.json(),i=typeof((e=s.branding)==null?void 0:e.logoUrl)=="string"?s.branding.logoUrl:op.logoUrl;return{studio:s.studio??!1,version:typeof s.version=="string"?s.version:"",branding:{title:typeof((t=s.branding)==null?void 0:t.title)=="string"?s.branding.title:op.title,logoUrl:i?kn(i):""},features:{...ov.features,...s.features??{}},defaultView:s.defaultView??"chat",agentsSource:s.agentsSource==="cloud"?"cloud":"local"}}catch{return ov}}const aB={role:"user",capabilities:{createAgents:!1,manageAgents:!1,runtimeScope:"mine"}};async function oB(){var n,s,i;const e=await gt("/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.capabilities)==null?void 0:n.createAgents)!="boolean"||typeof((s=t.capabilities)==null?void 0:s.manageAgents)!="boolean"||!["all","mine"].includes((i=t.capabilities)==null?void 0:i.runtimeScope))throw new Error("权限服务返回了无法解析的响应");return t}async function lB(e,t){const n=new URLSearchParams;e&&n.set("targetVersion",e),t&&n.set("startedAt",String(t));const s=n.size?`?${n.toString()}`:"",i=await gt(`/web/studio-update${s}`);if(!i.ok)throw new Error(`检查 Studio 更新失败 (${i.status})`);return await i.json()}async function cB(e){const t=await gt("/web/studio-update",{method:"POST",headers:{"Content-Type":"application/json","X-VeADK-Studio-Update":"1"},body:JSON.stringify({version:e})},{},qp);if(!t.ok){let n="";try{const s=await t.json();n=typeof s.detail=="string"?s.detail:""}catch{n=""}throw new Error(n||`提交 Studio 更新失败 (${t.status})`)}return await t.json()}async function F1(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 gt(`/web/runtimes?${t.toString()}`);if(!n.ok){const i=await ln(n,"加载 Runtime 失败"),r=`加载 Runtime 失败(HTTP ${n.status})`;throw new Error(i===`加载 Runtime 失败 (${n.status})`?r:`${r}:${i}`)}const s=await n.json();return{runtimes:s.runtimes??[],nextToken:s.nextToken??""}}async function mk(e,t,n={}){try{const s={runtimeId:e,region:t};return n.retryProbe&&(s.retryProbe=!0),await D1("","",s)}catch(s){if(s instanceof Of||s instanceof Er)throw s;return null}}async function uB(e,t,n={}){const s={runtimeId:e,region:t};n.retryProbe&&(s.retryProbe=!0);const i=await gt("/.well-known/agent-card.json",{},s),r=await DP(i);if(r==="runtime_access_denied")throw new Of;if(r==="runtime_private_endpoint_unreachable")throw new Er(jP);if(["runtime_proxy_connect_error","runtime_proxy_timeout"].includes(r))throw new Er(OP);if(i.status===404)return null;if(i.status===401||i.status===403)throw new Er("Runtime 服务拒绝了 A2A 探测请求,请检查 Runtime 的鉴权配置。");if(!i.ok)throw new Error(await ln(i,"读取 A2A Agent Card 失败"));const a=await i.json().catch(()=>null),l=typeof(a==null?void 0:a.url)=="string"?a.url.trim():"";return l?{name:typeof(a==null?void 0:a.name)=="string"?a.name:"",description:typeof(a==null?void 0:a.description)=="string"?a.description:"",endpoint:l}:null}async function dB(e,t){const n=new URLSearchParams({runtimeId:e,region:t}),s=await gt(`/web/runtime-api-key/reveal?${n.toString()}`,{method:"POST",cache:"no-store"});if(!s.ok)throw new Error(await ln(s,"读取 Runtime API Key 失败"));const i=await s.json();if(typeof i.apiKey!="string"||!i.apiKey)throw new Error("Runtime 未返回可用的 API Key");return i.apiKey}async function fB(e,t){const n=await gt("/web/delete-runtime",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({runtimeId:e,region:t})});if(!n.ok){const s=await n.text().catch(()=>"");throw new Error(s||`删除失败 (${n.status})`)}}async function hB({runtimeId:e,region:t,signal:n}){const s=new URLSearchParams({runtimeId:e,region:t}),i=await gt(`/web/runtime-update-capability?${s.toString()}`,{signal:n});if(!i.ok)throw new Error(await ln(i,"检查 Runtime 更新能力失败"));return await i.json()}async function oee(e,t){let n=null;for(const s of L1(t)){const i=await gt(`/web/runtime-detail?runtimeId=${encodeURIComponent(e)}®ion=${encodeURIComponent(s)}`);if(i.ok)return i.json();n=new Error(await ln(i,"加载 Runtime 详情失败"))}throw n??new Error("加载 Runtime 详情失败")}async function pk(e,t="cn-beijing",n={}){const s=Mf(e,t||"cn-beijing"),i=Lf(mc,s,M1);if(!n.force&&i)return i;const r=mc.get(s);if(!n.force&&(r!=null&&r.promise))return r.promise;const a=oee(e,t).then(l=>ok(mc,s,l));mc.set(s,{...r,promise:a,updatedAt:(r==null?void 0:r.updatedAt)??0});try{return await a}finally{const l=mc.get(s);(l==null?void 0:l.promise)===a&&mc.set(s,{value:l.value,updatedAt:l.updatedAt})}}function mB(e,t="cn-beijing"){return Lf(mc,Mf(e,t||"cn-beijing"),M1)}function pB(e,t="cn-beijing"){pk(e,t).catch(()=>{})}async function gk(e){const t=await gt("/web/generated-agent-projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await ln(t,"生成项目失败"));return t.json()}const lee=19e4;async function gB(e){const t=await gt("/web/generated-agent-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({requirement:e})},{},lee);if(!t.ok)throw new Error(await ln(t,"生成 Agent 配置失败"));return O1(t,"生成 Agent 配置失败")}async function bB(e){const t=await gt("/web/generated-agent-test-runs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({draft:e})});if(!t.ok)throw new Error(await ln(t,"创建调试运行失败"));return O1(t,"创建调试运行失败")}async function yB(e,t){const n=await gt(`/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 ln(n,"创建调试会话失败"));return(await O1(n,"创建调试会话失败")).id}async function xB(e,t){const n=await gt(`/web/generated-agent-test-runs/${encodeURIComponent(e)}/trace/session/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(await ln(n,"加载调试调用链路失败"));const s=await O1(n,"加载调试调用链路失败");if(!Array.isArray(s))throw new Error("加载调试调用链路失败:返回格式无效");return s}async function*EB({runId:e,userId:t,sessionId:n,text:s,signal:i}){const r=s.trim()?[{text:s}]:[],a=await gt(`/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:r},streaming:!0}),signal:i},{},0);if(!a.ok)throw new Error(await ln(a,"调试运行失败"));for await(const l of nk(a))yield l}async function Vu(e){const t=await gt(`/web/generated-agent-test-runs/${e}`,{method:"DELETE"});if(!t.ok&&t.status!==404)throw new Error(await ln(t,"清理调试运行失败"))}const cee=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_SITE_BRANDING:op,DEFAULT_STUDIO_ACCESS:aB,GithubCicdPipelineError:_m,RuntimeAccessDeniedError:Of,RuntimeProbeError:Er,addSessionCapability:GS,bindGithubCicdRuntime:hk,cancelAgentkitDeployment:ree,clearMessageFeedbackCache:AP,clearRemoteApps:IP,componentSearch:eB,createGeneratedAgentTestRun:bB,createGeneratedAgentTestSession:yB,createGithubCicdPipeline:nB,createSession:xy,deleteAgentFeedbackCases:$P,deleteGeneratedAgentTestRun:Vu,deleteMedia:fb,deleteRuntime:fB,deleteSession:HS,deleteSessionMedia:zS,deployAgentkitProject:U1,downloadArtifact:HP,fetchRemoteApps:D1,generateAgentDraftFromRequirement:gB,generateAgentProject:gk,getAgentFeedbackCases:P1,getAgentInfo:fk,getCachedAgentFeedbackCases:BP,getCachedRuntimeAgentInfo:ZP,getCachedRuntimeDetail:mB,getGeneratedAgentTestTrace:xB,getGithubCicdRuntimeBinding:sB,getMediaCapabilities:eee,getMyRuntimes:aee,getRuntimeAgentInfo:vy,getRuntimeDetail:pk,getRuntimeUpdateCapability:hB,getRuntimes:F1,getSession:Ey,getSessionCapabilities:VS,getSessionTrace:YP,getStudioAccess:oB,getStudioUpdateStatus:lB,getUiConfig:rB,listApps:RP,listSessionBuiltinTools:dk,listSessionSkillSpaces:tee,listSessionSkillsInSpace:nee,listSessions:lk,mediaContentUrl:qP,prefetchAgentFeedbackCases:$S,prefetchRuntimeAgentInfo:JP,prefetchRuntimeDetail:pB,previewArtifact:VP,probeRuntimeA2a:uB,probeRuntimeApps:mk,refreshAgentFeedbackCases:UP,registerRemoteApp:CP,removeSessionCapability:XP,revealRuntimeApiKey:dB,runGeneratedAgentTestSSE:EB,runSSE:ap,searchSessionPublicSkills:WP,startStudioUpdate:cB,submitMessageFeedback:PP,syncGithubCicdRuntime:iB,uploadMedia:GP,upsertCachedAgentFeedbackCase:db,webSearch:tB},Symbol.toStringTag,{value:"Module"}));function lv(e){return!!(e&&[...e.tools,...e.skills].some(t=>t.custom))}const uee="send_a2ui_json_to_client",dee="validated_a2ui_json",KS="adk_request_credential",$R="transfer_to_agent";function fee(e){var s,i,r,a;const t=e,n=((s=t==null?void 0:t.exchangedAuthCredential)==null?void 0:s.oauth2)??((i=t==null?void 0:t.exchanged_auth_credential)==null?void 0:i.oauth2)??((r=t==null?void 0:t.rawAuthCredential)==null?void 0:r.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 ma(){return{blocks:[],liveStart:0}}const HR=e=>e.functionCall??e.function_call,qS=e=>e.functionResponse??e.function_response;function hee(e){if(!e||typeof e!="object")return"";const t=e,n=t.agentName??t.agent_name;return typeof n=="string"?n:""}function mee(e){return e.replace(/-/g,"+").replace(/_/g,"/")}function vB(e){const t=[];for(const[n,s]of e.entries()){const i=s.partMetadata??s.part_metadata,r=i==null?void 0:i.veadkTransport;if((r==null?void 0:r.hidden)===!0)continue;const a=i==null?void 0:i.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 l=s.inlineData??s.inline_data;if(l&&l.data){t.push({id:`inline-${n}-${l.displayName??l.display_name??"media"}`,mimeType:l.mimeType??l.mime_type,data:mee(l.data),name:l.displayName??l.display_name});continue}const c=s.fileData??s.file_data,u=(c==null?void 0:c.fileUri)??(c==null?void 0:c.file_uri);c&&u&&t.push({id:u,mimeType:c.mimeType??c.mime_type,uri:u,name:c.displayName??c.display_name})}return t}function YS(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 pee=new Set(["llm","sequential","parallel","loop","a2a"]);function gee(e){var t;for(const n of e){const s=(t=n.partMetadata??n.part_metadata)==null?void 0:t.veadkInvocation;if(!s||typeof s!="object")continue;const i=s,r=Array.isArray(i.skills)?i.skills.flatMap(c=>{if(!c||typeof c!="object")return[];const u=c;return typeof u.name=="string"?[{name:u.name,description:typeof u.description=="string"?u.description:""}]:[]}):[];let a;const l=i.targetAgent;if(l&&typeof l=="object"){const c=l,u=c.type;typeof c.name=="string"&&typeof u=="string"&&pee.has(u)&&Array.isArray(c.path)&&(a={name:c.name,description:typeof c.description=="string"?c.description:"",type:u,path:c.path.filter(d=>typeof d=="string")})}if(r.length>0||a)return{skills:r,targetAgent:a}}}function bee(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 yee(e,t){if(!t.length)return;const n=e[e.length-1];if((n==null?void 0:n.kind)==="artifact"){for(const s of t)n.files.some(i=>i.filename===s.filename&&i.version===s.version)||n.files.push(s);return}e.push({kind:"artifact",files:t})}function zR(e,t,n){const s=e[e.length-1];s&&s.kind===t?s.text+=n:e.push(t==="thinking"?{kind:t,text:n,done:!1}:{kind:t,text:n})}function c0(e){for(const t of e)t.kind==="thinking"&&(t.done=!0)}function ef(e,t){var l,c,u,d,f,h;const n=e.blocks.map(m=>({...m}));let s=e.liveStart;const i=((l=t.content)==null?void 0:l.parts)??[],r=i.some(m=>HR(m)||qS(m));if(t.partial&&!r){for(const m of i){const p=YS(m);typeof p=="string"&&p&&zR(n,m.thought?"thinking":"text",p)}return{blocks:n,liveStart:s}}n.length=s;for(const m of i){const p=HR(m),g=qS(m),v=vB([m]),y=YS(m);if(typeof y=="string"&&y)zR(n,m.thought?"thinking":"text",y);else if(v.length)c0(n),bee(n,v);else if(p)if(c0(n),p.name===$R){const x=hee(p.args)||((c=t.actions)==null?void 0:c.transferToAgent)||((u=t.actions)==null?void 0:u.transfer_to_agent)||"未知 Agent";n.push({kind:"agent-transfer",agentName:x,done:!1})}else if(p.name===KS){const x=p.args??{},E=x.authConfig??x.auth_config??x,T=String(x.functionCallId??x.function_call_id??"").replace(/^_adk_toolset_auth_/,"")||void 0;n.push({kind:"auth",callId:p.id??"",label:T,authUri:fee(E),authConfig:E,done:!1})}else n.push({kind:"tool",name:p.name??"",args:p.args,done:!1});else if(g){if(c0(n),g.name===$R)for(let x=n.length-1;x>=0;x--){const E=n[x];if(E.kind==="agent-transfer"&&!E.done){E.done=!0;break}}if(g.name===KS)for(let x=n.length-1;x>=0;x--){const E=n[x];if(E.kind==="auth"&&!E.done){E.done=!0;break}}for(let x=n.length-1;x>=0;x--){const E=n[x];if(E.kind==="tool"&&!E.done&&E.name===g.name){E.done=!0,E.response=g.response;break}}if(g.name===uee){const x=((d=g.response)==null?void 0:d[dee])??[];if(x.length){const E=n[n.length-1];E&&E.kind==="a2ui"?E.messages.push(...x):n.push({kind:"a2ui",messages:x})}}}}const a=((f=t.actions)==null?void 0:f.artifactDelta)??((h=t.actions)==null?void 0:h.artifact_delta);return a&&yee(n,Object.entries(a).map(([m,p])=>({filename:m,version:p}))),c0(n),s=n.length,{blocks:n,liveStart:s}}function xee(e,t={}){var i,r;const n=[];let s=ma();for(const a of e)if(a.author==="user"){const c=((i=a.content)==null?void 0:i.parts)??[];if(c.some(m=>{var p;return((p=qS(m))==null?void 0:p.name)===KS})){for(let m=n.length-1;m>=0;m--)if(n[m].role==="assistant"){for(let p=n[m].blocks.length-1;p>=0;p--){const g=n[m].blocks[p];if(g.kind==="auth"){g.done=!0;break}}break}}const u=c.map(YS).filter(m=>!!m).join(""),d=vB(c),f=gee(c);if(!u&&!d.length&&!f){s=ma();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}}),s=ma()}else{const c=a.author??"";let u=n[n.length-1];(!u||u.role!=="assistant"||c&&((r=u.meta)==null?void 0:r.author)!==c)&&(u={role:"assistant",blocks:[],meta:{author:c||void 0}},n.push(u),s=ma()),s=ef(s,a),u.blocks=s.blocks;const d=a.usageMetadata??a.usage_metadata,f=u.meta??(u.meta={});c&&(f.author=c),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 l=a.meta,c=l==null?void 0:l.eventId;if(!c)continue;const u=t[`veadk_feedback:${c}`];if(!u||typeof u!="object")continue;const d=u;d.rating!=="good"&&d.rating!=="bad"||(l.feedback=u)}return n}function Eee(e){var t,n;for(const s of e??[])if(s.author==="user"||((t=s.content)==null?void 0:t.role)==="user"){const i=(((n=s.content)==null?void 0:n.parts)??[]).map(r=>r.text).find(Boolean);if(i)return i}return"新会话"}const vee=50,VR=48;function wee(e){return(e.events??[]).flatMap(t=>{var i,r;const s=(((i=t.content)==null?void 0:i.parts)??[]).map(a=>typeof a.text=="string"?a.text:"").filter(Boolean).join("");return s?[{text:s,role:t.author??((r=t.content)==null?void 0:r.role)??"",ts:t.timestamp}]:[]})}function See(e){var t,n;for(const s of e.events??[])if(s.author==="user"||((t=s.content)==null?void 0:t.role)==="user"){const i=(((n=s.content)==null?void 0:n.parts)??[]).map(r=>r.text).find(Boolean);if(i)return i}return"未命名会话"}function _ee(e,t,n){const s=Math.max(0,t-VR),i=Math.min(e.length,t+n+VR);return(s>0?"…":"")+e.slice(s,i).trim()+(i{var c;if((c=l.events)!=null&&c.length)return l;try{return await Ey(t,e,l.id)}catch{return l}})),a=[];for(const l of r)for(const{text:c,role:u,ts:d}of wee(l)){const f=c.toLowerCase().indexOf(s);if(f!==-1){a.push({type:"session",appId:t,sessionId:l.id,title:See(l),snippet:_ee(c,f,s.length),role:u,ts:d??l.lastUpdateTime});break}}return a.sort((l,c)=>(c.ts??0)-(l.ts??0)),a.slice(0,vee)}async function Nee(e,t){if(!e||!t.trim())return{results:[]};let n;try{n=await tB(e,t.trim())}catch(a){const l=String(a);return{results:[],note:l.includes("404")?"网络搜索接口未就绪(后端未启用 /web/search)。":`网络搜索失败:${l}`}}const{mounted:s,results:i,error:r}=n;return s?r?{results:[],note:r}:{results:i.map((a,l)=>({type:"web",index:l,title:a.title,url:a.url,siteName:a.siteName,summary:a.summary}))}:{results:[],note:"当前 Agent 未挂载 web_search 工具。"}}async function kee(e,t,n,s){if(!t||!s.trim())return{results:[]};const i=await eB(t,e,s.trim(),n);if(!i.mounted)return{results:[],note:e==="knowledge"?"该 Agent 未挂载知识库。":"该 Agent 未挂载长期记忆。"};if(i.error)return{results:[],note:i.error};const r=i.sourceName??(e==="knowledge"?"知识库":"长期记忆");return{results:i.results.map((a,l)=>e==="knowledge"?{type:"knowledge",index:l,content:a.content,sourceName:r,sourceType:i.sourceType}:{type:"memory",index:l,content:a.content,sourceName:r,sourceType:i.sourceType,author:a.author,ts:a.timestamp})}}async function Aee(e,t,n){return e==="session"?{results:await Tee(n.userId,n.appId,t)}:e==="web"?Nee(n.appId,t):kee(e,n.appId,n.userId,t)}function wB({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M16.4 10.7a5.7 5.7 0 1 1-1.67-4.03"}),o.jsx("path",{d:"M15.25 15.25 19.6 19.6"})]})}function Cee({open:e}){return o.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:o.jsx("path",{d:"m3.25 4.75 2.75 2.5 2.75-2.5"})})}function Iee({active:e=!1,onClick:t}){return o.jsxs("button",{className:`new-chat${e?" is-active":""}`,onClick:t,"aria-label":"搜索","aria-current":e?"page":void 0,title:"搜索",children:[o.jsx(wB,{}),o.jsx("span",{className:"sidebar-nav-label",children:"搜索"})]})}function Ree(e,t,n){const s=!!e,i=new Set((t==null?void 0:t.searchSources)??[]),r=a=>s?n?"正在检测 Agent 能力":`当前 Agent 未挂载${a}`:"请选择 Agent";return[{id:"session",label:"会话",ready:s,unavailableLabel:"请选择 Agent"},{id:"web",label:"网络",ready:s&&i.has("web"),description:"通过 web_search 工具检索",unavailableLabel:r(" web_search 工具")},{id:"knowledge",label:"知识库",ready:s&&i.has("knowledge"),unavailableLabel:r("知识库")},{id:"memory",label:"长期记忆",ready:s&&i.has("memory"),unavailableLabel:r("长期记忆")}]}function wy(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 GR(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 jee({userId:e,appId:t,agentInfo:n,capabilitiesLoading:s,agentLabel:i,onOpenSession:r}){var F,k;const[a,l]=b.useState("session"),[c,u]=b.useState(""),[d,f]=b.useState([]),[h,m]=b.useState(),[p,g]=b.useState(!1),[v,y]=b.useState(!1),[x,E]=b.useState(!1),w=b.useRef(0),T=b.useRef(null),S=Ree(t,n,s),N=S.find(j=>j.id===a),A=a==="knowledge"?(F=n==null?void 0:n.components)==null?void 0:F.find(j=>j.source==="knowledgebase"||j.kind==="knowledgebase"):a==="memory"?(k=n==null?void 0:n.components)==null?void 0:k.find(j=>j.source==="long_term_memory"||j.kind==="memory"):void 0;b.useEffect(()=>{w.current+=1,l("session"),f([]),m(void 0),y(!1),g(!1),E(!1)},[t]),b.useEffect(()=>{if(!x)return;function j(P){var $;($=T.current)!=null&&$.contains(P.target)||E(!1)}return document.addEventListener("pointerdown",j),()=>document.removeEventListener("pointerdown",j)},[x]);async function C(j,P){var Q;const $=j.trim();if(!$||!((Q=S.find(B=>B.id===P))!=null&&Q.ready))return;const R=++w.current;g(!0),y(!0);let q;try{q=await Aee(P,$,{userId:e,appId:t})}catch(B){const ee=B instanceof Error?B.message:String(B);q={results:[],note:`搜索失败:${ee}`}}R===w.current&&(f(q.results),m(q.note),g(!1))}function I(j){w.current+=1,u(j),f([]),m(void 0),y(!1),g(!1)}function O(j){w.current+=1,l(j),E(!1),f([]),m(void 0),y(!1),g(!1)}const L=!!(N!=null&&N.ready),G=t?a==="web"?"在网络中检索":a==="knowledge"?`在 ${(A==null?void 0:A.name)??"当前 Agent 的知识库"} 中检索`:a==="memory"?`在 ${(A==null?void 0:A.name)??"当前用户的长期记忆"} 中检索`:"在当前 Agent 的会话中检索":"请先选择 Agent",D=A!=null&&A.backend?wy(A.backend):"";return o.jsxs("div",{className:"search",children:[o.jsxs("div",{className:"search-box",children:[o.jsxs("div",{className:"search-source-picker-wrap",ref:T,children:[o.jsxs("button",{className:"search-source-picker",type:"button","aria-label":`搜索类型:${(N==null?void 0:N.label)??"未选择"}`,"aria-haspopup":"listbox","aria-expanded":x,onClick:()=>E(j=>!j),children:[o.jsx("span",{children:(N==null?void 0:N.label)??"搜索类型"}),D&&o.jsx("small",{children:D}),o.jsx(Cee,{open:x})]}),x&&o.jsx("div",{className:"search-source-menu",role:"listbox","aria-label":"选择搜索类型",children:S.map(j=>{var R,q;const P=j.id==="knowledge"?(R=n==null?void 0:n.components)==null?void 0:R.find(Q=>Q.source==="knowledgebase"||Q.kind==="knowledgebase"):j.id==="memory"?(q=n==null?void 0:n.components)==null?void 0:q.find(Q=>Q.source==="long_term_memory"||Q.kind==="memory"):void 0,$=P?[P.name,P.backend?wy(P.backend):""].filter(Boolean).join(" · "):j.ready?j.description:j.unavailableLabel;return o.jsxs("button",{type:"button",role:"option","aria-selected":a===j.id,disabled:!j.ready,onClick:()=>O(j.id),children:[o.jsx("span",{children:j.label}),$&&o.jsx("small",{children:$})]},j.id)})})]}),o.jsx("span",{className:"search-box-divider","aria-hidden":!0}),o.jsx("input",{className:"search-input",value:c,onChange:j=>I(j.target.value),onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),C(c,a))},placeholder:G,disabled:!L,autoFocus:!0}),o.jsx("button",{className:"search-go",onClick:()=>void C(c,a),disabled:!c.trim()||p,"aria-label":"搜索",children:p?o.jsx(gn,{className:"icon spin"}):o.jsx(wB,{className:"icon"})})]}),o.jsx("div",{className:"search-results",children:L?v?p?null:h?o.jsx("div",{className:"search-empty",children:h}):d.length===0&&v?o.jsxs("div",{className:"search-empty",children:["未找到匹配「",c.trim(),"」的结果。"]}):d.map((j,P)=>o.jsx(Oee,{result:j,agentLabel:i,onOpen:r},P)):o.jsx("div",{className:"search-empty",children:a==="web"?"输入关键词后回车或点击按钮,通过 web_search 工具检索。":a==="knowledge"?"输入问题,检索当前 Agent 挂载的知识库。":a==="memory"?"输入线索,检索当前用户跨会话保存的长期记忆。":"输入关键词后回车或点击按钮,搜索当前 Agent 的会话。"}):o.jsx("div",{className:"search-empty",children:t?s?"正在读取当前 Agent 的检索能力…":(N==null?void 0:N.unavailableLabel)??"当前 Agent 未挂载该数据源":"选择一个 Agent 后,即可检索会话、网络及其挂载的数据源。"})})]})}function Oee({result:e,agentLabel:t,onOpen:n}){switch(e.type){case"session":return o.jsxs("button",{className:"search-result",onClick:()=>n(e.appId,e.sessionId),children:[o.jsx(SP,{className:"search-result-icon"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsx("span",{className:"search-result-title",children:e.title}),o.jsxs("span",{className:"search-result-meta",children:[t(e.appId),e.ts?` · ${GR(e.ts)}`:""]})]}),o.jsx("div",{className:"search-result-snippet",children:e.snippet})]})]});case"web":return o.jsxs("a",{className:"search-result",href:e.url||void 0,target:"_blank",rel:"noreferrer noopener",children:[o.jsx(R1,{className:"search-result-icon"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsx("span",{className:"search-result-title",children:e.title||e.url}),o.jsxs("span",{className:"search-result-meta",children:[e.siteName,e.url&&o.jsx(I1,{className:"search-result-ext"})]})]}),e.summary&&o.jsx("div",{className:"search-result-snippet",children:e.summary})]})]});case"knowledge":return o.jsxs("div",{className:"search-result search-result-static",children:[o.jsx(KR,{source:"knowledge"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsxs("span",{className:"search-result-title",children:["知识片段 ",e.index+1]}),o.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${wy(e.sourceType)}`:""]})]}),o.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});case"memory":return o.jsxs("div",{className:"search-result search-result-static",children:[o.jsx(KR,{source:"memory"}),o.jsxs("div",{className:"search-result-body",children:[o.jsxs("div",{className:"search-result-head",children:[o.jsxs("span",{className:"search-result-title",children:["记忆片段 ",e.index+1]}),o.jsxs("span",{className:"search-result-meta",children:[e.sourceName,e.sourceType?` · ${wy(e.sourceType)}`:"",e.ts?` · ${GR(e.ts)}`:""]})]}),o.jsx("div",{className:"search-result-snippet search-result-snippet-expanded",children:e.content})]})]});default:return null}}function KR({source:e,className:t="search-result-icon"}){return e==="knowledge"?o.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[o.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"}),o.jsx("path",{d:"M8.25 9h7.5M8.25 12.25h6"})]}):o.jsxs("svg",{className:t,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[o.jsx("path",{d:"M12 4.5a7.5 7.5 0 1 0 7.5 7.5"}),o.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 jc({className:e="icon"}){return o.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:[o.jsx("rect",{x:"4.25",y:"5.25",width:"15.5",height:"13.5",rx:"4.75"}),o.jsx("path",{className:"sidebar-agent-face__eye",d:"M8.5 10.7v2"}),o.jsx("path",{className:"sidebar-agent-face__eye",d:"M15.5 10.7v2"})]})}const bk="/assets/volcengine-DM14a-L-.svg",qR="(max-width: 860px)";function Mee(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"7",cy:"7",r:"2.25"}),o.jsx("circle",{cx:"17",cy:"7",r:"2.25"}),o.jsx("circle",{cx:"7",cy:"17",r:"2.25"}),o.jsx("circle",{cx:"17",cy:"17",r:"2.25"})]})}function Lee(e){let t=2166136261;for(const s of e)t^=s.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 Dee={admin:"管理员",developer:"开发者",user:"普通用户"};function YR({role:e}){const t=Dee[e];return o.jsx("span",{className:`studio-role-badge studio-role-badge--${e}`,title:t,children:t})}function Pee({version:e,onClose:t}){return b.useEffect(()=>{const n=s=>{s.key==="Escape"&&t()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[t]),Si.createPortal(o.jsx("div",{className:"confirm-scrim",onMouseDown:t,children:o.jsxs("section",{className:"confirm-box system-info-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"system-info-title",onMouseDown:n=>n.stopPropagation(),children:[o.jsxs("header",{className:"system-info-head",children:[o.jsx("h2",{id:"system-info-title",children:"系统信息"}),o.jsx("button",{type:"button",className:"icon-btn",onClick:t,"aria-label":"关闭系统信息",autoFocus:!0,children:o.jsx(_i,{className:"icon","aria-hidden":"true"})})]}),o.jsx("dl",{className:"system-info-meta",children:o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:e||"—"})]})})]})}),document.body)}function Bee({access:e,userInfo:t,version:n,onLogout:s}){const[i,r]=b.useState(!1),[a,l]=b.useState(!1),[c,u]=b.useState("");if(!t)return null;const d=DJ(t),f=typeof t.email=="string"?t.email:"",h=(d||"U").slice(0,1).toUpperCase(),m=Lee(d||f||h),p=PJ(t),g=p===c?"":p;return o.jsxs("div",{className:"sidebar-user",children:[o.jsxs("button",{className:"sidebar-user-btn",onClick:()=>r(v=>!v),title:f?`${d} +${f}`:d,children:[o.jsxs("span",{className:`account-avatar${g?" has-image":""}`,style:m,children:[h,g?o.jsx("img",{className:"account-avatar-image",src:g,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>u(g)}):null]}),o.jsxs("span",{className:"sidebar-user-identity",children:[o.jsxs("span",{className:"sidebar-user-primary",children:[o.jsx("span",{className:"sidebar-user-name",children:d}),o.jsx(YR,{role:e.role})]}),f&&f!==d&&o.jsx("span",{className:"sidebar-user-email",children:f})]})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>r(!1)}),o.jsxs("div",{className:"account-pop sidebar-user-pop",children:[o.jsxs("div",{className:"account-head",children:[o.jsxs("span",{className:`account-avatar account-avatar--lg${g?" has-image":""}`,style:m,children:[h,g?o.jsx("img",{className:"account-avatar-image",src:g,alt:"","aria-hidden":"true",referrerPolicy:"no-referrer",onError:()=>u(g)}):null]}),o.jsxs("div",{className:"account-id",children:[o.jsxs("div",{className:"account-name-row",children:[o.jsx("div",{className:"account-name",children:d}),o.jsx(YR,{role:e.role})]}),f&&f!==d&&o.jsx("div",{className:"account-sub",children:f})]})]}),o.jsxs("button",{type:"button",className:"account-action",onClick:()=>{r(!1),l(!0)},children:[o.jsx(au,{className:"icon"})," 系统信息"]}),o.jsxs("button",{type:"button",className:"account-action",onClick:()=>{r(!1),s()},children:[o.jsx(oJ,{className:"icon"})," 退出登录"]})]})]}),a?o.jsx(Pee,{version:n,onClose:()=>l(!1)}):null]})}function Uee({branding:e,sessions:t,currentSessionId:n,activePage:s,features:i,access:r,streamingSids:a,onNewChat:l,onSearch:c,onQuickCreate:u,onSkillCenter:d,onAddAgent:f,onMyAgents:h,onApplications:m,onPickSession:p,onDeleteSession:g,userInfo:v,version:y,onLogout:x}){const E=O=>(i==null?void 0:i[O])!==!1,[w,T]=b.useState(null),S=b.useRef(typeof window<"u"&&window.matchMedia(qR).matches),[N,A]=b.useState(S.current),C=[...t].sort((O,L)=>(L.lastUpdateTime??0)-(O.lastUpdateTime??0)),I=()=>{S.current=!1,A(O=>!O),T(null)};return b.useEffect(()=>{const O=window.matchMedia(qR),L=G=>{G.matches?A(D=>D||(S.current=!0,!0)):S.current&&(S.current=!1,A(!1))};return O.addEventListener("change",L),()=>O.removeEventListener("change",L)},[]),o.jsxs("aside",{className:`sidebar ${N?"is-collapsed":""}`,children:[o.jsxs("div",{className:"sidebar-top",children:[o.jsxs("div",{className:"sidebar-brand-row",children:[o.jsxs("button",{type:"button",className:"brand",onClick:l,"aria-label":"返回首页",title:"返回首页",children:[o.jsx("img",{className:"brand-logo",src:e.logoUrl||bk,width:20,height:20,alt:"","aria-hidden":!0}),o.jsx("span",{className:"brand-title",children:e.title})]}),o.jsx("button",{type:"button",className:"sidebar-collapse-toggle",onClick:I,"aria-label":N?"展开侧边栏":"收起侧边栏",title:N?"展开侧边栏":"收起侧边栏",children:N?o.jsx(pJ,{className:"icon"}):o.jsx(mJ,{className:"icon"})})]}),E("newChat")&&o.jsxs("button",{className:`new-chat new-chat--conversation${s==="new-chat"?" is-active":""}`,onClick:l,"aria-label":"新会话","aria-current":s==="new-chat"?"page":void 0,title:"新会话",children:[o.jsx(vi,{className:"icon"}),o.jsx("span",{className:"sidebar-nav-label",children:"新会话"})]}),o.jsxs("button",{className:`new-chat new-chat--agents${s==="agents"?" is-active":""}`,onClick:h,"aria-label":"智能体","aria-current":s==="agents"?"page":void 0,title:"智能体",children:[o.jsx(jc,{}),o.jsx("span",{className:"sidebar-nav-label",children:"智能体"})]}),o.jsxs("button",{className:`new-chat new-chat--applications${s==="applications"?" is-active":""}`,onClick:m,"aria-label":"自动化","aria-current":s==="applications"?"page":void 0,title:"自动化",children:[o.jsx(Mee,{className:"icon"}),o.jsx("span",{className:"sidebar-nav-label",children:"自动化"})]}),E("search")&&o.jsx(Iee,{active:s==="search",onClick:c})]}),E("history")&&o.jsxs("div",{className:"sidebar-history",children:[o.jsxs("div",{className:"history-head",children:[o.jsx("span",{children:"历史会话"}),E("newChat")&&o.jsx("button",{type:"button",className:"history-new-chat",onClick:l,"aria-label":"新建会话",title:"新建会话",children:o.jsx(vi,{className:"icon"})})]}),o.jsxs("div",{className:"history-list",children:[C.length===0&&o.jsx("div",{className:"history-empty",children:"暂无会话"}),C.map(O=>{const L=Eee(O.events);return o.jsxs("div",{className:`history-item ${O.id===n?"active":""}`,children:[o.jsxs("button",{className:"history-item-btn",onClick:()=>p(O.id),"aria-current":O.id===n?"page":void 0,title:L,children:[(a==null?void 0:a.has(O.id))&&o.jsx("span",{className:"history-streaming",title:"正在生成…","aria-label":"正在生成"}),o.jsx("span",{className:"history-title",children:L})]}),o.jsx("button",{className:"history-more",title:"更多",onClick:()=>T(G=>G===O.id?null:O.id),children:o.jsx(GZ,{className:"icon"})}),w===O.id&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>T(null)}),o.jsx("div",{className:"history-menu",children:o.jsxs("button",{className:"menu-item menu-item--danger",onClick:()=>{T(null),g(O.id)},children:[o.jsx(Po,{className:"icon"})," 删除"]})})]})]},O.id)})]})]}),o.jsx(Bee,{access:r,userInfo:v,version:y,onLogout:x})]})}function Xs(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,s;n{}};function $1(){for(var e=0,t=arguments.length,n={},s;e=0&&(s=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:s}})}hb.prototype=$1.prototype={constructor:hb,on:function(e,t){var n=this._,s=$ee(e+"",n),i,r=-1,a=s.length;if(arguments.length<2){for(;++r0)for(var n=new Array(i),s=0,i,r;s=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),XR.hasOwnProperty(t)?{space:XR[t],local:e}:e}function zee(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===WS&&t.documentElement.namespaceURI===WS?t.createElement(e):t.createElementNS(n,e)}}function Vee(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function SB(e){var t=H1(e);return(t.local?Vee:zee)(t)}function Gee(){}function yk(e){return e==null?Gee:function(){return this.querySelector(e)}}function Kee(e){typeof e!="function"&&(e=yk(e));for(var t=this._groups,n=t.length,s=new Array(n),i=0;i=E&&(E=x+1);!(T=v[E])&&++E=0;)(a=s[i])&&(r&&a.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(a,r),r=a);return this}function bte(e){e||(e=yte);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,s=n.length,i=new Array(s),r=0;rt?1:e>=t?0:NaN}function xte(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Ete(){return Array.from(this)}function vte(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?jte:typeof t=="function"?Mte:Ote)(e,t,n??"")):tf(this.node(),e)}function tf(e,t){return e.style.getPropertyValue(t)||AB(e).getComputedStyle(e,null).getPropertyValue(t)}function Dte(e){return function(){delete this[e]}}function Pte(e,t){return function(){this[e]=t}}function Bte(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Ute(e,t){return arguments.length>1?this.each((t==null?Dte:typeof t=="function"?Bte:Pte)(e,t)):this.node()[e]}function CB(e){return e.trim().split(/^|\s+/)}function xk(e){return e.classList||new IB(e)}function IB(e){this._node=e,this._names=CB(e.getAttribute("class")||"")}IB.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 RB(e,t){for(var n=xk(e),s=-1,i=t.length;++s=0&&(n=t.slice(s+1),t=t.slice(0,s)),{type:t,name:n}})}function hne(e){return function(){var t=this.__on;if(t){for(var n=0,s=-1,i=t.length,r;n()=>e;function XS(e,{sourceEvent:t,subject:n,target:s,identifier:i,active:r,x:a,y:l,dx:c,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:s,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}XS.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Sne(e){return!e.ctrlKey&&!e.button}function _ne(){return this.parentNode}function Tne(e,t){return t??{x:e.x,y:e.y}}function Nne(){return navigator.maxTouchPoints||"ontouchstart"in this}function PB(){var e=Sne,t=_ne,n=Tne,s=Nne,i={},r=$1("start","drag","end"),a=0,l,c,u,d,f=0;function h(w){w.on("mousedown.drag",m).filter(s).on("touchstart.drag",v).on("touchmove.drag",y,wne).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(w,T){if(!(d||!e.call(this,w,T))){var S=E(this,t.call(this,w,T),w,T,"mouse");S&&(yr(w.view).on("mousemove.drag",p,lp).on("mouseup.drag",g,lp),LB(w.view),cv(w),u=!1,l=w.clientX,c=w.clientY,S("start",w))}}function p(w){if(Id(w),!u){var T=w.clientX-l,S=w.clientY-c;u=T*T+S*S>f}i.mouse("drag",w)}function g(w){yr(w.view).on("mousemove.drag mouseup.drag",null),DB(w.view,u),Id(w),i.mouse("end",w)}function v(w,T){if(e.call(this,w,T)){var S=w.changedTouches,N=t.call(this,w,T),A=S.length,C,I;for(C=0;C>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?d0(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?d0(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=Ane.exec(e))?new ir(t[1],t[2],t[3],1):(t=Cne.exec(e))?new ir(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ine.exec(e))?d0(t[1],t[2],t[3],t[4]):(t=Rne.exec(e))?d0(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=jne.exec(e))?sj(t[1],t[2]/100,t[3]/100,1):(t=One.exec(e))?sj(t[1],t[2]/100,t[3]/100,t[4]):QR.hasOwnProperty(e)?ej(QR[e]):e==="transparent"?new ir(NaN,NaN,NaN,0):null}function ej(e){return new ir(e>>16&255,e>>8&255,e&255,1)}function d0(e,t,n,s){return s<=0&&(e=t=n=NaN),new ir(e,t,n,s)}function Dne(e){return e instanceof Wp||(e=Vc(e)),e?(e=e.rgb(),new ir(e.r,e.g,e.b,e.opacity)):new ir}function QS(e,t,n,s){return arguments.length===1?Dne(e):new ir(e,t,n,s??1)}function ir(e,t,n,s){this.r=+e,this.g=+t,this.b=+n,this.opacity=+s}Ek(ir,QS,BB(Wp,{brighter(e){return e=e==null?_y:Math.pow(_y,e),new ir(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?cp:Math.pow(cp,e),new ir(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ir(Oc(this.r),Oc(this.g),Oc(this.b),Ty(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:tj,formatHex:tj,formatHex8:Pne,formatRgb:nj,toString:nj}));function tj(){return`#${Ec(this.r)}${Ec(this.g)}${Ec(this.b)}`}function Pne(){return`#${Ec(this.r)}${Ec(this.g)}${Ec(this.b)}${Ec((isNaN(this.opacity)?1:this.opacity)*255)}`}function nj(){const e=Ty(this.opacity);return`${e===1?"rgb(":"rgba("}${Oc(this.r)}, ${Oc(this.g)}, ${Oc(this.b)}${e===1?")":`, ${e})`}`}function Ty(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Oc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ec(e){return e=Oc(e),(e<16?"0":"")+e.toString(16)}function sj(e,t,n,s){return s<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ha(e,t,n,s)}function UB(e){if(e instanceof ha)return new ha(e.h,e.s,e.l,e.opacity);if(e instanceof Wp||(e=Vc(e)),!e)return new ha;if(e instanceof ha)return e;e=e.rgb();var t=e.r/255,n=e.g/255,s=e.b/255,i=Math.min(t,n,s),r=Math.max(t,n,s),a=NaN,l=r-i,c=(r+i)/2;return l?(t===r?a=(n-s)/l+(n0&&c<1?0:a,new ha(a,l,c,e.opacity)}function Bne(e,t,n,s){return arguments.length===1?UB(e):new ha(e,t,n,s??1)}function ha(e,t,n,s){this.h=+e,this.s=+t,this.l=+n,this.opacity=+s}Ek(ha,Bne,BB(Wp,{brighter(e){return e=e==null?_y:Math.pow(_y,e),new ha(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?cp:Math.pow(cp,e),new ha(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,s=n+(n<.5?n:1-n)*t,i=2*n-s;return new ir(uv(e>=240?e-240:e+120,i,s),uv(e,i,s),uv(e<120?e+240:e-120,i,s),this.opacity)},clamp(){return new ha(ij(this.h),f0(this.s),f0(this.l),Ty(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=Ty(this.opacity);return`${e===1?"hsl(":"hsla("}${ij(this.h)}, ${f0(this.s)*100}%, ${f0(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ij(e){return e=(e||0)%360,e<0?e+360:e}function f0(e){return Math.max(0,Math.min(1,e||0))}function uv(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 vk=e=>()=>e;function Une(e,t){return function(n){return e+n*t}}function Fne(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(s){return Math.pow(e+s*t,n)}}function $ne(e){return(e=+e)==1?FB:function(t,n){return n-t?Fne(t,n,e):vk(isNaN(t)?n:t)}}function FB(e,t){var n=t-e;return n?Une(e,n):vk(isNaN(e)?t:e)}const Ny=function e(t){var n=$ne(t);function s(i,r){var a=n((i=QS(i)).r,(r=QS(r)).r),l=n(i.g,r.g),c=n(i.b,r.b),u=FB(i.opacity,r.opacity);return function(d){return i.r=a(d),i.g=l(d),i.b=c(d),i.opacity=u(d),i+""}}return s.gamma=e,s}(1);function Hne(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,s=t.slice(),i;return function(r){for(i=0;in&&(r=t.slice(n,r),l[a]?l[a]+=r:l[++a]=r),(s=s[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,c.push({i:a,x:La(s,i)})),n=dv.lastIndex;return n180?d+=360:d-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,s)-2,x:La(u,d)})):d&&f.push(i(f)+"rotate("+d+s)}function l(u,d,f,h){u!==d?h.push({i:f.push(i(f)+"skewX(",null,s)-2,x:La(u,d)}):d&&f.push(i(f)+"skewX("+d+s)}function c(u,d,f,h,m,p){if(u!==f||d!==h){var g=m.push(i(m)+"scale(",null,",",null,")");p.push({i:g-4,x:La(u,f)},{i:g-2,x:La(d,h)})}else(f!==1||h!==1)&&m.push(i(m)+"scale("+f+","+h+")")}return function(u,d){var f=[],h=[];return u=e(u),d=e(d),r(u.translateX,u.translateY,d.translateX,d.translateY,f,h),a(u.rotate,d.rotate,f,h),l(u.skewX,d.skewX,f,h),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,h),u=d=null,function(m){for(var p=-1,g=h.length,v;++p=0&&e._call.call(void 0,t),e=e._next;--nf}function oj(){Gc=(Ay=dp.now())+z1,nf=qh=0;try{sse()}finally{nf=0,rse(),Gc=0}}function ise(){var e=dp.now(),t=e-Ay;t>VB&&(z1-=t,Ay=e)}function rse(){for(var e,t=ky,n,s=1/0;t;)t._call?(s>t._time&&(s=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ky=n);Yh=e,e_(s)}function e_(e){if(!nf){qh&&(qh=clearTimeout(qh));var t=e-Gc;t>24?(e<1/0&&(qh=setTimeout(oj,e-dp.now()-z1)),Sh&&(Sh=clearInterval(Sh))):(Sh||(Ay=dp.now(),Sh=setInterval(ise,VB)),nf=1,GB(oj))}}function lj(e,t,n){var s=new Cy;return t=t==null?0:+t,s.restart(i=>{s.stop(),e(i+t)},t,n),s}var ase=$1("start","end","cancel","interrupt"),ose=[],qB=0,cj=1,t_=2,pb=3,uj=4,n_=5,gb=6;function V1(e,t,n,s,i,r){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;lse(e,n,{name:t,index:s,group:i,on:ase,tween:ose,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:qB})}function Sk(e,t){var n=wa(e,t);if(n.state>qB)throw new Error("too late; already scheduled");return n}function Wa(e,t){var n=wa(e,t);if(n.state>pb)throw new Error("too late; already running");return n}function wa(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function lse(e,t,n){var s=e.__transition,i;s[t]=n,n.timer=KB(r,0,n.time);function r(u){n.state=cj,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var d,f,h,m;if(n.state!==cj)return c();for(d in s)if(m=s[d],m.name===n.name){if(m.state===pb)return lj(a);m.state===uj?(m.state=gb,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete s[d]):+dt_&&s.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function Bse(e,t,n){var s,i,r=Pse(t)?Sk:Wa;return function(){var a=r(this,e),l=a.on;l!==s&&(i=(s=l).copy()).on(t,n),a.on=i}}function Use(e,t){var n=this._id;return arguments.length<2?wa(this.node(),n).on.on(e):this.each(Bse(n,e,t))}function Fse(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function $se(){return this.on("end.remove",Fse(this._id))}function Hse(e){var t=this._name,n=this._id;typeof e!="function"&&(e=yk(e));for(var s=this._groups,i=s.length,r=new Array(i),a=0;a()=>e;function hie(e,{sourceEvent:t,target:n,transform:s,dispatch:i}){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:s,enumerable:!0,configurable:!0},_:{value:i}})}function vo(e,t,n){this.k=e,this.x=t,this.y=n}vo.prototype={constructor:vo,scale:function(e){return e===1?this:new vo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new vo(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 G1=new vo(1,0,0);QB.prototype=vo.prototype;function QB(e){for(;!e.__zoom;)if(!(e=e.parentNode))return G1;return e.__zoom}function fv(e){e.stopImmediatePropagation()}function _h(e){e.preventDefault(),e.stopImmediatePropagation()}function mie(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function pie(){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 dj(){return this.__zoom||G1}function gie(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function bie(){return navigator.maxTouchPoints||"ontouchstart"in this}function yie(e,t,n){var s=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>s?(s+i)/2:Math.min(0,s)||Math.max(0,i),a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a))}function ZB(){var e=mie,t=pie,n=yie,s=gie,i=bie,r=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],l=250,c=mb,u=$1("start","zoom","end"),d,f,h,m=500,p=150,g=0,v=10;function y(D){D.property("__zoom",dj).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",C).on("dblclick.zoom",I).filter(i).on("touchstart.zoom",O).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",G).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(D,F,k,j){var P=D.selection?D.selection():D;P.property("__zoom",dj),D!==P?T(D,F,k,j):P.interrupt().each(function(){S(this,arguments).event(j).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},y.scaleBy=function(D,F,k,j){y.scaleTo(D,function(){var P=this.__zoom.k,$=typeof F=="function"?F.apply(this,arguments):F;return P*$},k,j)},y.scaleTo=function(D,F,k,j){y.transform(D,function(){var P=t.apply(this,arguments),$=this.__zoom,R=k==null?w(P):typeof k=="function"?k.apply(this,arguments):k,q=$.invert(R),Q=typeof F=="function"?F.apply(this,arguments):F;return n(E(x($,Q),R,q),P,a)},k,j)},y.translateBy=function(D,F,k,j){y.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof k=="function"?k.apply(this,arguments):k),t.apply(this,arguments),a)},null,j)},y.translateTo=function(D,F,k,j,P){y.transform(D,function(){var $=t.apply(this,arguments),R=this.__zoom,q=j==null?w($):typeof j=="function"?j.apply(this,arguments):j;return n(G1.translate(q[0],q[1]).scale(R.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof k=="function"?-k.apply(this,arguments):-k),$,a)},j,P)};function x(D,F){return F=Math.max(r[0],Math.min(r[1],F)),F===D.k?D:new vo(F,D.x,D.y)}function E(D,F,k){var j=F[0]-k[0]*D.k,P=F[1]-k[1]*D.k;return j===D.x&&P===D.y?D:new vo(D.k,j,P)}function w(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function T(D,F,k,j){D.on("start.zoom",function(){S(this,arguments).event(j).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(j).end()}).tween("zoom",function(){var P=this,$=arguments,R=S(P,$).event(j),q=t.apply(P,$),Q=k==null?w(q):typeof k=="function"?k.apply(P,$):k,B=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),ee=P.__zoom,z=typeof F=="function"?F.apply(P,$):F,K=c(ee.invert(Q).concat(B/ee.k),z.invert(Q).concat(B/z.k));return function(ne){if(ne===1)ne=z;else{var W=K(ne),de=B/W[2];ne=new vo(de,Q[0]-W[0]*de,Q[1]-W[1]*de)}R.zoom(null,ne)}})}function S(D,F,k){return!k&&D.__zooming||new N(D,F)}function N(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}N.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=yr(this.that).datum();u.call(D,this.that,new hie(D,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:u}),F)}};function A(D,...F){if(!e.apply(this,arguments))return;var k=S(this,F).event(D),j=this.__zoom,P=Math.max(r[0],Math.min(r[1],j.k*Math.pow(2,s.apply(this,arguments)))),$=ca(D);if(k.wheel)(k.mouse[0][0]!==$[0]||k.mouse[0][1]!==$[1])&&(k.mouse[1]=j.invert(k.mouse[0]=$)),clearTimeout(k.wheel);else{if(j.k===P)return;k.mouse=[$,j.invert($)],bb(this),k.start()}_h(D),k.wheel=setTimeout(R,p),k.zoom("mouse",n(E(x(j,P),k.mouse[0],k.mouse[1]),k.extent,a));function R(){k.wheel=null,k.end()}}function C(D,...F){if(h||!e.apply(this,arguments))return;var k=D.currentTarget,j=S(this,F,!0).event(D),P=yr(D.view).on("mousemove.zoom",Q,!0).on("mouseup.zoom",B,!0),$=ca(D,k),R=D.clientX,q=D.clientY;LB(D.view),fv(D),j.mouse=[$,this.__zoom.invert($)],bb(this),j.start();function Q(ee){if(_h(ee),!j.moved){var z=ee.clientX-R,K=ee.clientY-q;j.moved=z*z+K*K>g}j.event(ee).zoom("mouse",n(E(j.that.__zoom,j.mouse[0]=ca(ee,k),j.mouse[1]),j.extent,a))}function B(ee){P.on("mousemove.zoom mouseup.zoom",null),DB(ee.view,j.moved),_h(ee),j.event(ee).end()}}function I(D,...F){if(e.apply(this,arguments)){var k=this.__zoom,j=ca(D.changedTouches?D.changedTouches[0]:D,this),P=k.invert(j),$=k.k*(D.shiftKey?.5:2),R=n(E(x(k,$),j,P),t.apply(this,F),a);_h(D),l>0?yr(this).transition().duration(l).call(T,R,j,D):yr(this).call(y.transform,R,j,D)}}function O(D,...F){if(e.apply(this,arguments)){var k=D.touches,j=k.length,P=S(this,F,D.changedTouches.length===j).event(D),$,R,q,Q;for(fv(D),R=0;R`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:s})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:s}", 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.`},fp=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],JB=["Enter"," ","Escape"],e8={"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 sf;(function(e){e.Strict="strict",e.Loose="loose"})(sf||(sf={}));var Mc;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Mc||(Mc={}));var hp;(function(e){e.Partial="partial",e.Full="full"})(hp||(hp={}));const t8={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var bl;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(bl||(bl={}));var rf;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(rf||(rf={}));var We;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(We||(We={}));const fj={[We.Left]:We.Right,[We.Right]:We.Left,[We.Top]:We.Bottom,[We.Bottom]:We.Top};function n8(e){return e===null?null:e?"valid":"invalid"}const s8=e=>"id"in e&&"source"in e&&"target"in e,xie=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Tk=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Xp=(e,t=[0,0])=>{const{width:n,height:s}=zo(e),i=e.origin??t,r=n*i[0],a=s*i[1];return{x:e.position.x-r,y:e.position.y-a}},Eie=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((s,i)=>{const r=typeof i=="string";let a=!t.nodeLookup&&!r?i:void 0;t.nodeLookup&&(a=r?t.nodeLookup.get(i):Tk(i)?i:t.nodeLookup.get(i.id));const l=a?Iy(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return K1(s,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return q1(n)},Qp=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},s=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=K1(n,Iy(i)),s=!0)}),s?q1(n):{x:0,y:0,width:0,height:0}},Nk=(e,t,[n,s,i]=[0,0,1],r=!1,a=!1)=>{const l={...Df(t,[n,s,i]),width:t.width/i,height:t.height/i},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:h=!1}=u;if(a&&!f||h)continue;const m=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,g=mp(l,of(u)),v=(m??0)*(p??0),y=r&&g>0;(!u.internals.handleBounds||y||g>=v||u.dragging)&&c.push(u)}return c},vie=(e,t)=>{const n=new Set;return e.forEach(s=>{n.add(s.id)}),t.filter(s=>n.has(s.source)||n.has(s.target))};function wie(e,t){const n=new Map,s=t!=null&&t.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!i.hidden)&&(!s||s.has(i.id))&&n.set(i.id,i)}),n}async function Sie({nodes:e,width:t,height:n,panZoom:s,minZoom:i,maxZoom:r},a){if(e.size===0)return!0;const l=wie(e,a),c=Qp(l),u=Ak(c,t,n,(a==null?void 0:a.minZoom)??i,(a==null?void 0:a.maxZoom)??r,(a==null?void 0:a.padding)??.1);return await s.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 i8({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:s=[0,0],nodeExtent:i,onError:r}){const a=n.get(e),l=a.parentId?n.get(a.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=a.origin??s;let f=a.extent||i;if(a.extent==="parent"&&!a.expandParent)if(!l)r==null||r("005",Ea.error005());else{const m=l.measured.width,p=l.measured.height;m&&p&&(f=[[c,u],[c+m,u+p]])}else l&&qc(a.extent)&&(f=[[a.extent[0][0]+c,a.extent[0][1]+u],[a.extent[1][0]+c,a.extent[1][1]+u]]);const h=qc(f)?Kc(t,f,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&(r==null||r("015",Ea.error015())),{position:{x:h.x-c+(a.measured.width??0)*d[0],y:h.y-u+(a.measured.height??0)*d[1]},positionAbsolute:h}}async function _ie({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:s,onBeforeDelete:i}){const r=new Set(e.map(h=>h.id)),a=[];for(const h of n){if(h.deletable===!1)continue;const m=r.has(h.id),p=!m&&h.parentId&&a.find(g=>g.id===h.parentId);(m||p)&&a.push(h)}const l=new Set(t.map(h=>h.id)),c=s.filter(h=>h.deletable!==!1),d=vie(a,c);for(const h of c)l.has(h.id)&&!d.find(p=>p.id===h.id)&&d.push(h);if(!i)return{edges:d,nodes:a};const f=await i({nodes:a,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:a}:{edges:[],nodes:[]}:f}const af=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Kc=(e={x:0,y:0},t,n)=>({x:af(e.x,t[0][0],t[1][0]-((n==null?void 0:n.width)??0)),y:af(e.y,t[0][1],t[1][1]-((n==null?void 0:n.height)??0))});function r8(e,t,n){const{width:s,height:i}=zo(n),{x:r,y:a}=n.internals.positionAbsolute;return Kc(e,[[r,a],[r+s,a+i]],t)}const hj=(e,t,n)=>en?-af(Math.abs(e-n),1,t)/t:0,kk=(e,t,n=15,s=40)=>{const i=hj(e.x,s,t.width-s)*n,r=hj(e.y,s,t.height-s)*n;return[i,r]},K1=(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)}),s_=({x:e,y:t,width:n,height:s})=>({x:e,y:t,x2:e+n,y2:t+s}),q1=({x:e,y:t,x2:n,y2:s})=>({x:e,y:t,width:n-e,height:s-t}),of=(e,t=[0,0])=>{var i,r;const{x:n,y:s}=Tk(e)?e.internals.positionAbsolute:Xp(e,t);return{x:n,y:s,width:((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}},Iy=(e,t=[0,0])=>{var i,r;const{x:n,y:s}=Tk(e)?e.internals.positionAbsolute:Xp(e,t);return{x:n,y:s,x2:n+(((i=e.measured)==null?void 0:i.width)??e.width??e.initialWidth??0),y2:s+(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0)}},a8=(e,t)=>q1(K1(s_(e),s_(t))),mp=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),s=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*s)},mj=e=>pa(e.width)&&pa(e.height)&&pa(e.x)&&pa(e.y),pa=e=>!isNaN(e)&&isFinite(e),o8=(e,t)=>(n,s)=>{},Zp=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Df=({x:e,y:t},[n,s,i],r=!1,a=[1,1])=>{const l={x:(e-n)/i,y:(t-s)/i};return r?Zp(l,a):l},lf=({x:e,y:t},[n,s,i])=>({x:e*i+n,y:t*i+s});function Cu(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 Tie(e,t,n){if(typeof e=="string"||typeof e=="number"){const s=Cu(e,n),i=Cu(e,t);return{top:s,right:i,bottom:s,left:i,x:i*2,y:s*2}}if(typeof e=="object"){const s=Cu(e.top??e.y??0,n),i=Cu(e.bottom??e.y??0,n),r=Cu(e.left??e.x??0,t),a=Cu(e.right??e.x??0,t);return{top:s,right:a,bottom:i,left:r,x:r+a,y:s+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Nie(e,t,n,s,i,r){const{x:a,y:l}=lf(e,[t,n,s]),{x:c,y:u}=lf({x:e.x+e.width,y:e.y+e.height},[t,n,s]),d=i-c,f=r-u;return{left:Math.floor(a),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const Ak=(e,t,n,s,i,r)=>{const a=Tie(r,t,n),l=(t-a.x)/e.width,c=(n-a.y)/e.height,u=Math.min(l,c),d=af(u,s,i),f=e.x+e.width/2,h=e.y+e.height/2,m=t/2-f*d,p=n/2-h*d,g=Nie(e,m,p,d,t,n),v={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:m-v.left+v.right,y:p-v.top+v.bottom,zoom:d}},pp=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function qc(e){return e!=null&&e!=="parent"}function zo(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 Ck(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 l8(e,t={width:0,height:0},n,s,i){const r={...e},a=s.get(n);if(a){const l=a.origin||i;r.x+=a.internals.positionAbsolute.x-(t.width??0)*l[0],r.y+=a.internals.positionAbsolute.y-(t.height??0)*l[1]}return r}function pj(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function kie(){let e,t;return{promise:new Promise((s,i)=>{e=s,t=i}),resolve:e,reject:t}}function Aie(e){return{...e8,...e||{}}}function Nm(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:s,containerBounds:i}){const{x:r,y:a}=ga(e),l=Df({x:r-((i==null?void 0:i.left)??0),y:a-((i==null?void 0:i.top)??0)},s),{x:c,y:u}=n?Zp(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const Ik=e=>({width:e.offsetWidth,height:e.offsetHeight}),c8=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Cie=["INPUT","SELECT","TEXTAREA"];function u8(e){var s,i;const t=((i=(s=e.composedPath)==null?void 0:s.call(e))==null?void 0:i[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:Cie.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const d8=e=>"clientX"in e,ga=(e,t)=>{var r,a;const n=d8(e),s=n?e.clientX:(r=e.touches)==null?void 0:r[0].clientX,i=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:s-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},gj=(e,t,n,s,i)=>{const r=t.querySelectorAll(`.${e}`);return!r||!r.length?null:Array.from(r).map(a=>{const l=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:i,position:a.getAttribute("data-handlepos"),x:(l.left-n.left)/s,y:(l.top-n.top)/s,...Ik(a)}})};function f8({sourceX:e,sourceY:t,targetX:n,targetY:s,sourceControlX:i,sourceControlY:r,targetControlX:a,targetControlY:l}){const c=e*.125+i*.375+a*.375+n*.125,u=t*.125+r*.375+l*.375+s*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function p0(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function bj({pos:e,x1:t,y1:n,x2:s,y2:i,c:r}){switch(e){case We.Left:return[t-p0(t-s,r),n];case We.Right:return[t+p0(s-t,r),n];case We.Top:return[t,n-p0(n-i,r)];case We.Bottom:return[t,n+p0(i-n,r)]}}function h8({sourceX:e,sourceY:t,sourcePosition:n=We.Bottom,targetX:s,targetY:i,targetPosition:r=We.Top,curvature:a=.25}){const[l,c]=bj({pos:n,x1:e,y1:t,x2:s,y2:i,c:a}),[u,d]=bj({pos:r,x1:s,y1:i,x2:e,y2:t,c:a}),[f,h,m,p]=f8({sourceX:e,sourceY:t,targetX:s,targetY:i,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${s},${i}`,f,h,m,p]}function m8({sourceX:e,sourceY:t,targetX:n,targetY:s}){const i=Math.abs(n-e)/2,r=n0}const jie=({source:e,sourceHandle:t,target:n,targetHandle:s})=>`xy-edge__${e}${t||""}-${n}${s||""}`,Oie=(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)),Mie=(e,t,n={})=>{var r;if(!e.source||!e.target)return(r=n.onError)==null||r.call(n,"006",Ea.error006()),t;const s=n.getEdgeId||jie;let i;return s8(e)?i={...e}:i={...e,id:s(e)},Oie(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function p8({sourceX:e,sourceY:t,targetX:n,targetY:s}){const[i,r,a,l]=m8({sourceX:e,sourceY:t,targetX:n,targetY:s});return[`M ${e},${t}L ${n},${s}`,i,r,a,l]}const yj={[We.Left]:{x:-1,y:0},[We.Right]:{x:1,y:0},[We.Top]:{x:0,y:-1},[We.Bottom]:{x:0,y:1}},Lie=({source:e,sourcePosition:t=We.Bottom,target:n})=>t===We.Left||t===We.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Die({source:e,sourcePosition:t=We.Bottom,target:n,targetPosition:s=We.Top,center:i,offset:r,stepPosition:a}){const l=yj[t],c=yj[s],u={x:e.x+l.x*r,y:e.y+l.y*r},d={x:n.x+c.x*r,y:n.y+c.y*r},f=Lie({source:u,sourcePosition:t,target:d}),h=f.x!==0?"x":"y",m=f[h];let p=[],g,v;const y={x:0,y:0},x={x:0,y:0},[,,E,w]=m8({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[h]*c[h]===-1){h==="x"?(g=i.x??u.x+(d.x-u.x)*a,v=i.y??(u.y+d.y)/2):(g=i.x??(u.x+d.x)/2,v=i.y??u.y+(d.y-u.y)*a);const A=[{x:g,y:u.y},{x:g,y:d.y}],C=[{x:u.x,y:v},{x:d.x,y:v}];l[h]===m?p=h==="x"?A:C:p=h==="x"?C:A}else{const A=[{x:u.x,y:d.y}],C=[{x:d.x,y:u.y}];if(h==="x"?p=l.x===m?C:A:p=l.y===m?A:C,t===s){const D=Math.abs(e[h]-n[h]);if(D<=r){const F=Math.min(r-1,r-D);l[h]===m?y[h]=(u[h]>e[h]?-1:1)*F:x[h]=(d[h]>n[h]?-1:1)*F}}if(t!==s){const D=h==="x"?"y":"x",F=l[h]===c[D],k=u[D]>d[D],j=u[D]=G?(g=(I.x+O.x)/2,v=p[0].y):(g=p[0].x,v=(I.y+O.y)/2)}const T={x:u.x+y.x,y:u.y+y.y},S={x:d.x+x.x,y:d.y+x.y};return[[e,...T.x!==p[0].x||T.y!==p[0].y?[T]:[],...p,...S.x!==p[p.length-1].x||S.y!==p[p.length-1].y?[S]:[],n],g,v,E,w]}function Pie(e,t,n,s){const i=Math.min(xj(e,t)/2,xj(t,n)/2,s),{x:r,y:a}=t;if(e.x===r&&r===n.x||e.y===a&&a===n.y)return`L${r} ${a}`;if(e.y===a){const u=e.xn.id===t):e[0])||null}function i_(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`:""}function Uie(e,{id:t,defaultColor:n,defaultMarkerStart:s,defaultMarkerEnd:i}){const r=new Set;return e.reduce((a,l)=>([l.markerStart||s,l.markerEnd||i].forEach(c=>{if(c&&typeof c=="object"){const u=i_(c,t);r.has(u)||(a.push({id:u,color:c.color||n,...c}),r.add(u))}}),a),[]).sort((a,l)=>a.id.localeCompare(l.id))}const g8=1e3,Fie=10,Rk={nodeOrigin:[0,0],nodeExtent:fp,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},$ie={...Rk,checkEquality:!0};function jk(e,t){const n={...e};for(const s in t)t[s]!==void 0&&(n[s]=t[s]);return n}function Hie(e,t,n){const s=jk(Rk,n);for(const i of e.values())if(i.parentId)Mk(i,e,t,s);else{const r=Xp(i,s.nodeOrigin),a=qc(i.extent)?i.extent:s.nodeExtent,l=Kc(r,a,zo(i));i.internals.positionAbsolute=l}}function zie(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const n=[],s=[];for(const i of e.handles){const r={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(r):i.type==="target"&&s.push(r)}return{source:n,target:s}}function Ok(e){return e==="manual"}function r_(e,t,n,s={}){var d,f;const i=jk($ie,s),r={i:0},a=new Map(t),l=i!=null&&i.elevateNodesOnSelect&&!Ok(i.zIndexMode)?g8:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const h of e){let m=a.get(h.id);if(i.checkEquality&&h===(m==null?void 0:m.internals.userNode))t.set(h.id,m);else{const p=Xp(h,i.nodeOrigin),g=qc(h.extent)?h.extent:i.nodeExtent,v=Kc(p,g,zo(h));m={...i.defaults,...h,measured:{width:(d=h.measured)==null?void 0:d.width,height:(f=h.measured)==null?void 0:f.height},internals:{positionAbsolute:v,handleBounds:zie(h,m),z:b8(h,l,i.zIndexMode),userNode:h}},t.set(h.id,m)}(m.measured===void 0||m.measured.width===void 0||m.measured.height===void 0)&&!m.hidden&&(c=!1),h.parentId&&Mk(m,t,n,s,r),u||(u=h.selected??!1)}return{nodesInitialized:c,hasSelectedNodes:u}}function Vie(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 Mk(e,t,n,s,i){const{elevateNodesOnSelect:r,nodeOrigin:a,nodeExtent:l,zIndexMode:c}=jk(Rk,s),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}Vie(e,n),i&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++i.i,d.internals.z=d.internals.z+i.i*Fie),i&&d.internals.rootParentIndex!==void 0&&(i.i=d.internals.rootParentIndex);const f=r&&!Ok(c)?g8:0,{x:h,y:m,z:p}=Gie(e,d,a,l,f,c),{positionAbsolute:g}=e.internals,v=h!==g.x||m!==g.y;(v||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:v?{x:h,y:m}:g,z:p}})}function b8(e,t,n){const s=pa(e.zIndex)?e.zIndex:0;return Ok(n)?s:s+(e.selected?t:0)}function Gie(e,t,n,s,i,r){const{x:a,y:l}=t.internals.positionAbsolute,c=zo(e),u=Xp(e,n),d=qc(e.extent)?Kc(u,e.extent,c):u;let f=Kc({x:a+d.x,y:l+d.y},s,c);e.extent==="parent"&&(f=r8(f,c,t));const h=b8(e,i,r),m=t.internals.z??0;return{x:f.x,y:f.y,z:m>=h?m+1:h}}function Lk(e,t,n,s=[0,0]){var a;const i=[],r=new Map;for(const l of e){const c=t.get(l.parentId);if(!c)continue;const u=((a=r.get(l.parentId))==null?void 0:a.expandedRect)??of(c),d=a8(u,l.rect);r.set(l.parentId,{expandedRect:d,parent:c})}return r.size>0&&r.forEach(({expandedRect:l,parent:c},u)=>{var E;const d=c.internals.positionAbsolute,f=zo(c),h=c.origin??s,m=l.x0||p>0||y||x)&&(i.push({id:u,type:"position",position:{x:c.position.x-m+y,y:c.position.y-p+x}}),(E=n.get(u))==null||E.forEach(w=>{e.some(T=>T.id===w.id)||i.push({id:w.id,type:"position",position:{x:w.position.x+m,y:w.position.y+p}})})),(f.width0){const m=Lk(h,t,n,i);u.push(...m)}return{changes:u,updatedInternals:c}}async function qie({delta:e,panZoom:t,transform:n,translateExtent:s,width:i,height:r}){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],[i,r]],s);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}function Sj(e,t,n,s,i,r){let a=i;const l=s.get(a)||new Map;s.set(a,l.set(n,t)),a=`${i}-${e}`;const c=s.get(a)||new Map;if(s.set(a,c.set(n,t)),r){a=`${i}-${e}-${r}`;const u=s.get(a)||new Map;s.set(a,u.set(n,t))}}function y8(e,t,n){e.clear(),t.clear();for(const s of n){const{source:i,target:r,sourceHandle:a=null,targetHandle:l=null}=s,c={edgeId:s.id,source:i,target:r,sourceHandle:a,targetHandle:l},u=`${i}-${a}--${r}-${l}`,d=`${r}-${l}--${i}-${a}`;Sj("source",c,d,e,i,a),Sj("target",c,u,e,r,l),t.set(s.id,s)}}function x8(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:x8(n,t):!1}function _j(e,t,n){var i;let s=e;do{if((i=s==null?void 0:s.matches)!=null&&i.call(s,t))return!0;if(s===n)return!1;s=s==null?void 0:s.parentElement}while(s);return!1}function Yie(e,t,n,s){const i=new Map;for(const[r,a]of e)if((a.selected||a.id===s)&&(!a.parentId||!x8(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const l=e.get(r);l&&i.set(r,{id:r,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return i}function hv({nodeId:e,dragItems:t,nodeLookup:n,dragging:s=!0}){var a,l,c;const i=[];for(const[u,d]of t){const f=(a=n.get(u))==null?void 0:a.internals.userNode;f&&i.push({...f,position:d.position,dragging:s})}if(!e)return[i[0],i];const r=(l=n.get(e))==null?void 0:l.internals.userNode;return[r?{...r,position:((c=t.get(e))==null?void 0:c.position)||r.position,dragging:s}:i[0],i]}function Wie({dragItems:e,snapGrid:t,x:n,y:s}){const i=e.values().next().value;if(!i)return null;const r={x:n-i.distance.x,y:s-i.distance.y},a=Zp(r,t);return{x:a.x-r.x,y:a.y-r.y}}function Xie({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:s,onDragStop:i}){let r={x:null,y:null},a=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,h=null,m=!1,p=!1,g=null;function v({noDragClassName:x,handleSelector:E,domNode:w,isSelectable:T,nodeId:S,nodeClickDistance:N=0}){h=yr(w);function A({x:L,y:G}){const{nodeLookup:D,nodeExtent:F,snapGrid:k,snapToGrid:j,nodeOrigin:P,onNodeDrag:$,onSelectionDrag:R,onError:q,updateNodePositions:Q}=t();r={x:L,y:G};let B=!1;const ee=l.size>1,z=ee&&F?s_(Qp(l)):null,K=ee&&j?Wie({dragItems:l,snapGrid:k,x:L,y:G}):null;for(const[ne,W]of l){if(!D.has(ne))continue;let de={x:L-W.distance.x,y:G-W.distance.y};j&&(de=K?{x:Math.round(de.x+K.x),y:Math.round(de.y+K.y)}:Zp(de,k));let ye=null;if(ee&&F&&!W.extent&&z){const{positionAbsolute:me}=W.internals,Ce=me.x-z.x+F[0][0],pe=me.x+W.measured.width-z.x2+F[1][0],oe=me.y-z.y+F[0][1],ve=me.y+W.measured.height-z.y2+F[1][1];ye=[[Ce,oe],[pe,ve]]}const{position:_e,positionAbsolute:ue}=i8({nodeId:ne,nextPosition:de,nodeLookup:D,nodeExtent:ye||F,nodeOrigin:P,onError:q});B=B||W.position.x!==_e.x||W.position.y!==_e.y,W.position=_e,W.internals.positionAbsolute=ue}if(p=p||B,!!B&&(Q(l,!0),g&&(s||$||!S&&R))){const[ne,W]=hv({nodeId:S,dragItems:l,nodeLookup:D});s==null||s(g,l,ne,W),$==null||$(g,ne,W),S||R==null||R(g,W)}}async function C(){if(!d)return;const{transform:L,panBy:G,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(a);return}const[k,j]=kk(u,d,D);(k!==0||j!==0)&&(r.x=(r.x??0)-k/L[2],r.y=(r.y??0)-j/L[2],await G({x:k,y:j})&&A(r)),a=requestAnimationFrame(C)}function I(L){var ee;const{nodeLookup:G,multiSelectionActive:D,nodesDraggable:F,transform:k,snapGrid:j,snapToGrid:P,selectNodesOnDrag:$,onNodeDragStart:R,onSelectionDragStart:q,unselectNodesAndEdges:Q}=t();f=!0,(!$||!T)&&!D&&S&&((ee=G.get(S))!=null&&ee.selected||Q()),T&&$&&S&&(e==null||e(S));const B=Nm(L.sourceEvent,{transform:k,snapGrid:j,snapToGrid:P,containerBounds:d});if(r=B,l=Yie(G,F,B,S),l.size>0&&(n||R||!S&&q)){const[z,K]=hv({nodeId:S,dragItems:l,nodeLookup:G});n==null||n(L.sourceEvent,l,z,K),R==null||R(L.sourceEvent,z,K),S||q==null||q(L.sourceEvent,K)}}const O=PB().clickDistance(N).on("start",L=>{const{domNode:G,nodeDragThreshold:D,transform:F,snapGrid:k,snapToGrid:j}=t();d=(G==null?void 0:G.getBoundingClientRect())||null,m=!1,p=!1,g=L.sourceEvent,D===0&&I(L),r=Nm(L.sourceEvent,{transform:F,snapGrid:k,snapToGrid:j,containerBounds:d}),u=ga(L.sourceEvent,d)}).on("drag",L=>{const{autoPanOnNodeDrag:G,transform:D,snapGrid:F,snapToGrid:k,nodeDragThreshold:j,nodeLookup:P}=t(),$=Nm(L.sourceEvent,{transform:D,snapGrid:F,snapToGrid:k,containerBounds:d});if(g=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||S&&!P.has(S))&&(m=!0),!m){if(!c&&G&&f&&(c=!0,C()),!f){const R=ga(L.sourceEvent,d),q=R.x-u.x,Q=R.y-u.y;Math.sqrt(q*q+Q*Q)>j&&I(L)}(r.x!==$.xSnapped||r.y!==$.ySnapped)&&l&&f&&(u=ga(L.sourceEvent,d),A($))}}).on("end",L=>{if(!f||m){m&&l.size>0&&t().updateNodePositions(l,!1);return}if(c=!1,f=!1,cancelAnimationFrame(a),l.size>0){const{nodeLookup:G,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:k}=t();if(p&&(D(l,!1),p=!1),i||F||!S&&k){const[j,P]=hv({nodeId:S,dragItems:l,nodeLookup:G,dragging:!1});i==null||i(L.sourceEvent,l,j,P),F==null||F(L.sourceEvent,j,P),S||k==null||k(L.sourceEvent,P)}}}).filter(L=>{const G=L.target;return!L.button&&(!x||!_j(G,`.${x}`,w))&&(!E||_j(G,E,w))});h.call(O)}function y(){h==null||h.on(".drag",null)}return{update:v,destroy:y}}function Qie(e,t,n){const s=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const r of t.values())mp(i,of(r))>0&&s.push(r);return s}const Zie=250;function Jie(e,t,n,s){var l,c;let i=[],r=1/0;const a=Qie(e,n,t+Zie);for(const u of a){const d=[...((l=u.internals.handleBounds)==null?void 0:l.source)??[],...((c=u.internals.handleBounds)==null?void 0:c.target)??[]];for(const f of d){if(s.nodeId===f.nodeId&&s.type===f.type&&s.id===f.id)continue;const{x:h,y:m}=Yc(u,f,f.position,!0),p=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(m-e.y,2));p>t||(p1){const u=s.type==="source"?"target":"source";return i.find(d=>d.type===u)??i[0]}return i[0]}function E8(e,t,n,s,i,r=!1){var u,d,f;const a=s.get(e);if(!a)return null;const l=i==="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)??[]],c=(n?l==null?void 0:l.find(h=>h.id===n):l==null?void 0:l[0])??null;return c&&r?{...c,...Yc(a,c,c.position,!0)}:c}function v8(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function ere(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const w8=()=>!0;function tre(e,{connectionMode:t,connectionRadius:n,handleId:s,nodeId:i,edgeUpdaterType:r,isTarget:a,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:h,cancelConnection:m,onConnectStart:p,onConnect:g,onConnectEnd:v,isValidConnection:y=w8,onReconnectEnd:x,updateConnection:E,getTransform:w,getFromHandle:T,autoPanSpeed:S,dragThreshold:N=1,handleDomNode:A}){const C=c8(e.target);let I=0,O;const{x:L,y:G}=ga(e),D=v8(r,A),F=l==null?void 0:l.getBoundingClientRect();let k=!1;if(!F||!D)return;const j=E8(i,D,s,c,t);if(!j)return;let P=ga(e,F),$=!1,R=null,q=!1,Q=null;function B(){if(!d||!F)return;const[_e,ue]=kk(P,F,S);h({x:_e,y:ue}),I=requestAnimationFrame(B)}const ee={...j,nodeId:i,type:D,position:j.position},z=c.get(i);let ne={inProgress:!0,isValid:null,from:Yc(z,ee,We.Left,!0),fromHandle:ee,fromPosition:ee.position,fromNode:z,to:P,toHandle:null,toPosition:fj[ee.position],toNode:null,pointer:P};function W(){k=!0,E(ne),p==null||p(e,{nodeId:i,handleId:s,handleType:D})}N===0&&W();function de(_e){if(!k){const{x:ve,y:xe}=ga(_e),Ze=ve-L,De=xe-G;if(!(Ze*Ze+De*De>N*N))return;W()}if(!T()||!ee){ye(_e);return}const ue=w();P=ga(_e,F),O=Jie(Df(P,ue,!1,[1,1]),n,c,ee),$||(B(),$=!0);const me=S8(_e,{handle:O,connectionMode:t,fromNodeId:i,fromHandleId:s,fromType:a?"target":"source",isValidConnection:y,doc:C,lib:u,flowId:f,nodeLookup:c});Q=me.handleDomNode,R=me.connection,q=ere(!!O,me.isValid);const Ce=c.get(i),pe=Ce?Yc(Ce,ee,We.Left,!0):ne.from,oe={...ne,from:pe,isValid:q,to:me.toHandle&&q?lf({x:me.toHandle.x,y:me.toHandle.y},ue):P,toHandle:me.toHandle,toPosition:q&&me.toHandle?me.toHandle.position:fj[ee.position],toNode:me.toHandle?c.get(me.toHandle.nodeId):null,pointer:P};E(oe),ne=oe}function ye(_e){if(!("touches"in _e&&_e.touches.length>0)){if(k){(O||Q)&&R&&q&&(g==null||g(R));const{inProgress:ue,...me}=ne,Ce={...me,toPosition:ne.toHandle?ne.toPosition:null};v==null||v(_e,Ce),r&&(x==null||x(_e,Ce))}m(),cancelAnimationFrame(I),$=!1,q=!1,R=null,Q=null,C.removeEventListener("mousemove",de),C.removeEventListener("mouseup",ye),C.removeEventListener("touchmove",de),C.removeEventListener("touchend",ye)}}C.addEventListener("mousemove",de),C.addEventListener("mouseup",ye),C.addEventListener("touchmove",de),C.addEventListener("touchend",ye)}function S8(e,{handle:t,connectionMode:n,fromNodeId:s,fromHandleId:i,fromType:r,doc:a,lib:l,flowId:c,isValidConnection:u=w8,nodeLookup:d}){const f=r==="target",h=t?a.querySelector(`.${l}-flow__handle[data-id="${c}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:m,y:p}=ga(e),g=a.elementFromPoint(m,p),v=g!=null&&g.classList.contains(`${l}-flow__handle`)?g:h,y={handleDomNode:v,isValid:!1,connection:null,toHandle:null};if(v){const x=v8(void 0,v),E=v.getAttribute("data-nodeid"),w=v.getAttribute("data-handleid"),T=v.classList.contains("connectable"),S=v.classList.contains("connectableend");if(!E||!x)return y;const N={source:f?E:s,sourceHandle:f?w:i,target:f?s:E,targetHandle:f?i:w};y.connection=N;const C=T&&S&&(n===sf.Strict?f&&x==="source"||!f&&x==="target":E!==s||w!==i);y.isValid=C&&u(N),y.toHandle=E8(E,x,w,d,n,!0)}return y}const a_={onPointerDown:tre,isValid:S8};function nre({domNode:e,panZoom:t,getTransform:n,getViewScale:s}){const i=yr(e);function r({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:h=!0,inversePan:m=!1}){const p=E=>{if(E.sourceEvent.type!=="wheel"||!t)return;const w=n(),T=E.sourceEvent.ctrlKey&&pp()?10:1,S=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*d,N=w[2]*Math.pow(2,S*T);t.scaleTo(N)};let g=[0,0];const v=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(g=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},y=E=>{const w=n();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!t)return;const T=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],S=[T[0]-g[0],T[1]-g[1]];g=T;const N=s()*Math.max(w[2],Math.log(w[2]))*(m?-1:1),A={x:w[0]-S[0]*N,y:w[1]-S[1]*N},C=[[0,0],[c,u]];t.setViewportConstrained({x:A.x,y:A.y,zoom:w[2]},C,l)},x=ZB().on("start",v).on("zoom",f?y:null).on("zoom.wheel",h?p:null);i.call(x,{})}function a(){i.on("zoom",null)}return{update:r,destroy:a,pointer:ca}}const Y1=e=>({x:e.x,y:e.y,zoom:e.k}),mv=({x:e,y:t,zoom:n})=>G1.translate(e,t).scale(n),hd=(e,t)=>e.target.closest(`.${t}`),_8=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),sre=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,pv=(e,t=0,n=sre,s=()=>{})=>{const i=typeof t=="number"&&t>0;return i||s(),i?e.transition().duration(t).ease(n).on("end",s):e},T8=e=>{const t=e.ctrlKey&&pp()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function ire({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:s,panOnScrollMode:i,panOnScrollSpeed:r,zoomOnPinch:a,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(hd(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&a){const v=ca(d),y=T8(d),x=f*Math.pow(2,y);s.scaleTo(n,x,v,d);return}const h=d.deltaMode===1?20:1;let m=i===Mc.Vertical?0:d.deltaX*h,p=i===Mc.Horizontal?0:d.deltaY*h;!pp()&&d.shiftKey&&i!==Mc.Vertical&&(m=d.deltaY*h,p=0),s.translateBy(n,-(m/f)*r,-(p/f)*r,{internal:!0});const g=Y1(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c==null||c(d,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l==null||l(d,g))}}function rre({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(s,i){const r=s.type==="wheel",a=!t&&r&&!s.ctrlKey,l=hd(s,e);if(s.ctrlKey&&r&&l&&s.preventDefault(),a||l)return null;s.preventDefault(),n.call(this,s,i)}}function are({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return s=>{var r,a,l;if((r=s.sourceEvent)!=null&&r.internal)return;const i=Y1(s.transform);e.mouseButton=((a=s.sourceEvent)==null?void 0:a.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=i,((l=s.sourceEvent)==null?void 0:l.type)==="mousedown"&&t(!0),n&&(n==null||n(s.sourceEvent,i))}}function ore({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:s,onPanZoom:i}){return r=>{var a,l;e.usedRightMouseButton=!!(n&&_8(t,e.mouseButton??0)),(a=r.sourceEvent)!=null&&a.sync||s([r.transform.x,r.transform.y,r.transform.k]),i&&!((l=r.sourceEvent)!=null&&l.internal)&&(i==null||i(r.sourceEvent,Y1(r.transform)))}}function lre({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:s,onPanZoomEnd:i,onPaneContextMenu:r}){return a=>{var l;if(!((l=a.sourceEvent)!=null&&l.internal)&&(e.isZoomingOrPanning=!1,r&&_8(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&r(a.sourceEvent),e.usedRightMouseButton=!1,s(!1),i)){const c=Y1(a.transform);e.prevViewport=c,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i==null||i(a.sourceEvent,c)},n?150:0)}}}function cre({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:s,panOnScroll:i,zoomOnDoubleClick:r,userSelectionActive:a,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{var v;const h=e||t,m=n&&f.ctrlKey,p=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(hd(f,`${u}-flow__node`)||hd(f,`${u}-flow__edge`)))return!0;if(!s&&!h&&!i&&!r&&!n||a||d&&!p||hd(f,l)&&p||hd(f,c)&&(!p||i&&p&&!e)||!n&&f.ctrlKey&&p)return!1;if(!n&&f.type==="touchstart"&&((v=f.touches)==null?void 0:v.length)>1)return f.preventDefault(),!1;if(!h&&!i&&!m&&p||!s&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(s)&&!s.includes(f.button)&&f.type==="mousedown")return!1;const g=Array.isArray(s)&&s.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||p)&&g}}function ure({domNode:e,minZoom:t,maxZoom:n,translateExtent:s,viewport:i,onPanZoom:r,onPanZoomStart:a,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=ZB().scaleExtent([t,n]).translateExtent(s),h=yr(e).call(f);x({x:i.x,y:i.y,zoom:af(i.zoom,t,n)},[[0,0],[d.width,d.height]],s);const m=h.on("wheel.zoom"),p=h.on("dblclick.zoom");f.wheelDelta(T8);async function g(O,L){return h?new Promise(G=>{f==null||f.interpolate((L==null?void 0:L.interpolate)==="linear"?Tm:mb).transform(pv(h,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>G(!0)),O)}):!1}function v({noWheelClassName:O,noPanClassName:L,onPaneContextMenu:G,userSelectionActive:D,panOnScroll:F,panOnDrag:k,panOnScrollMode:j,panOnScrollSpeed:P,preventScrolling:$,zoomOnPinch:R,zoomOnScroll:q,zoomOnDoubleClick:Q,zoomActivationKeyPressed:B,lib:ee,onTransformChange:z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:W}){D&&!u.isZoomingOrPanning&&y();const de=F&&!B&&!D;f.clickDistance(W?1/0:!pa(ne)||ne<0?0:ne);const ye=de?ire({zoomPanValues:u,noWheelClassName:O,d3Selection:h,d3Zoom:f,panOnScrollMode:j,panOnScrollSpeed:P,zoomOnPinch:R,onPanZoomStart:a,onPanZoom:r,onPanZoomEnd:l}):rre({noWheelClassName:O,preventScrolling:$,d3ZoomHandler:m});h.on("wheel.zoom",ye,{passive:!1});const _e=are({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:a});f.on("start",_e);const ue=ore({zoomPanValues:u,panOnDrag:k,onPaneContextMenu:!!G,onPanZoom:r,onTransformChange:z});f.on("zoom",ue);const me=lre({zoomPanValues:u,panOnDrag:k,panOnScroll:F,onPaneContextMenu:G,onPanZoomEnd:l,onDraggingChange:c});f.on("end",me);const Ce=cre({zoomActivationKeyPressed:B,panOnDrag:k,zoomOnScroll:q,panOnScroll:F,zoomOnDoubleClick:Q,zoomOnPinch:R,userSelectionActive:D,noPanClassName:L,noWheelClassName:O,lib:ee,connectionInProgress:K});f.filter(Ce),Q?h.on("dblclick.zoom",p):h.on("dblclick.zoom",null)}function y(){f.on("zoom",null)}async function x(O,L,G){const D=mv(O),F=f==null?void 0:f.constrain()(D,L,G);return F&&await g(F),F}async function E(O,L){const G=mv(O);return await g(G,L),G}function w(O){if(h){const L=mv(O),G=h.property("__zoom");(G.k!==O.zoom||G.x!==O.x||G.y!==O.y)&&(f==null||f.transform(h,L,null,{sync:!0}))}}function T(){const O=h?QB(h.node()):{x:0,y:0,k:1};return{x:O.x,y:O.y,zoom:O.k}}async function S(O,L){return h?new Promise(G=>{f==null||f.interpolate((L==null?void 0:L.interpolate)==="linear"?Tm:mb).scaleTo(pv(h,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>G(!0)),O)}):!1}async function N(O,L){return h?new Promise(G=>{f==null||f.interpolate((L==null?void 0:L.interpolate)==="linear"?Tm:mb).scaleBy(pv(h,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>G(!0)),O)}):!1}function A(O){f==null||f.scaleExtent(O)}function C(O){f==null||f.translateExtent(O)}function I(O){const L=!pa(O)||O<0?0:O;f==null||f.clickDistance(L)}return{update:v,destroy:y,setViewport:E,setViewportConstrained:x,getViewport:T,scaleTo:S,scaleBy:N,setScaleExtent:A,setTranslateExtent:C,syncViewport:w,setClickDistance:I}}var cf;(function(e){e.Line="line",e.Handle="handle"})(cf||(cf={}));function dre({width:e,prevWidth:t,height:n,prevHeight:s,affectsX:i,affectsY:r}){const a=e-t,l=n-s,c=[a>0?1:a<0?-1:0,l>0?1:l<0?-1:0];return a&&i&&(c[0]=c[0]*-1),l&&r&&(c[1]=c[1]*-1),c}function Tj(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),s=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:s,affectsY:i}}function nl(e,t){return Math.max(0,t-e)}function sl(e,t){return Math.max(0,e-t)}function g0(e,t,n){return Math.max(0,t-e,e-n)}function Nj(e,t){return e?!t:t}function fre(e,t,n,s,i,r,a,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,h=d&&f,{xSnapped:m,ySnapped:p}=n,{minWidth:g,maxWidth:v,minHeight:y,maxHeight:x}=s,{x:E,y:w,width:T,height:S,aspectRatio:N}=e;let A=Math.floor(d?m-e.pointerX:0),C=Math.floor(f?p-e.pointerY:0);const I=T+(c?-A:A),O=S+(u?-C:C),L=-r[0]*T,G=-r[1]*S;let D=g0(I,g,v),F=g0(O,y,x);if(a){let P=0,$=0;c&&A<0?P=nl(E+A+L,a[0][0]):!c&&A>0&&(P=sl(E+I+L,a[1][0])),u&&C<0?$=nl(w+C+G,a[0][1]):!u&&C>0&&($=sl(w+O+G,a[1][1])),D=Math.max(D,P),F=Math.max(F,$)}if(l){let P=0,$=0;c&&A>0?P=sl(E+A,l[0][0]):!c&&A<0&&(P=nl(E+I,l[1][0])),u&&C>0?$=sl(w+C,l[0][1]):!u&&C<0&&($=nl(w+O,l[1][1])),D=Math.max(D,P),F=Math.max(F,$)}if(i){if(d){const P=g0(I/N,y,x)*N;if(D=Math.max(D,P),a){let $=0;!c&&!u||c&&!u&&h?$=sl(w+G+I/N,a[1][1])*N:$=nl(w+G+(c?A:-A)/N,a[0][1])*N,D=Math.max(D,$)}if(l){let $=0;!c&&!u||c&&!u&&h?$=nl(w+I/N,l[1][1])*N:$=sl(w+(c?A:-A)/N,l[0][1])*N,D=Math.max(D,$)}}if(f){const P=g0(O*N,g,v)/N;if(F=Math.max(F,P),a){let $=0;!c&&!u||u&&!c&&h?$=sl(E+O*N+L,a[1][0])/N:$=nl(E+(u?C:-C)*N+L,a[0][0])/N,F=Math.max(F,$)}if(l){let $=0;!c&&!u||u&&!c&&h?$=nl(E+O*N,l[1][0])/N:$=sl(E+(u?C:-C)*N,l[0][0])/N,F=Math.max(F,$)}}}C=C+(C<0?F:-F),A=A+(A<0?D:-D),i&&(h?I>O*N?C=(Nj(c,u)?-A:A)/N:A=(Nj(c,u)?-C:C)*N:d?(C=A/N,u=c):(A=C*N,c=u));const k=c?E+A:E,j=u?w+C:w;return{width:T+(c?-A:A),height:S+(u?-C:C),x:r[0]*A*(c?-1:1)+k,y:r[1]*C*(u?-1:1)+j}}const N8={width:0,height:0,x:0,y:0},hre={...N8,pointerX:0,pointerY:0,aspectRatio:1};function mre(e,t,n){const s=t.position.x+e.position.x,i=t.position.y+e.position.y,r=e.measured.width??0,a=e.measured.height??0,l=n[0]*r,c=n[1]*a;return[[s-l,i-c],[s+r-l,i+a-c]]}function pre({domNode:e,nodeId:t,getStoreItems:n,onChange:s,onEnd:i}){const r=yr(e);let a={controlDirection:Tj("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:h,onResizeStart:m,onResize:p,onResizeEnd:g,shouldResize:v}){let y={...N8},x={...hre};a={boundaries:d,resizeDirection:h,keepAspectRatio:f,controlDirection:Tj(u)};let E,w=null,T=[],S,N,A,C=!1;const I=PB().on("start",O=>{const{nodeLookup:L,transform:G,snapGrid:D,snapToGrid:F,nodeOrigin:k,paneDomNode:j}=n();if(E=L.get(t),!E)return;w=(j==null?void 0:j.getBoundingClientRect())??null;const{xSnapped:P,ySnapped:$}=Nm(O.sourceEvent,{transform:G,snapGrid:D,snapToGrid:F,containerBounds:w});y={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},x={...y,pointerX:P,pointerY:$,aspectRatio:y.width/y.height},S=void 0,N=qc(E.extent)?E.extent:void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(S=L.get(E.parentId)),S&&E.extent==="parent"&&(N=[[0,0],[S.measured.width,S.measured.height]]),T=[],A=void 0;for(const[R,q]of L)if(q.parentId===t&&(T.push({id:R,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){const Q=mre(q,E,q.origin??k);A?A=[[Math.min(Q[0][0],A[0][0]),Math.min(Q[0][1],A[0][1])],[Math.max(Q[1][0],A[1][0]),Math.max(Q[1][1],A[1][1])]]:A=Q}m==null||m(O,{...y})}).on("drag",O=>{const{transform:L,snapGrid:G,snapToGrid:D,nodeOrigin:F}=n(),k=Nm(O.sourceEvent,{transform:L,snapGrid:G,snapToGrid:D,containerBounds:w}),j=[];if(!E)return;const{x:P,y:$,width:R,height:q}=y,Q={},B=E.origin??F,{width:ee,height:z,x:K,y:ne}=fre(x,a.controlDirection,k,a.boundaries,a.keepAspectRatio,B,N,A),W=ee!==R,de=z!==q,ye=K!==P&&W,_e=ne!==$&&de;if(!ye&&!_e&&!W&&!de)return;if((ye||_e||B[0]===1||B[1]===1)&&(Q.x=ye?K:y.x,Q.y=_e?ne:y.y,y.x=Q.x,y.y=Q.y,T.length>0)){const pe=K-P,oe=ne-$;for(const ve of T)ve.position={x:ve.position.x-pe+B[0]*(ee-R),y:ve.position.y-oe+B[1]*(z-q)},j.push(ve)}if((W||de)&&(Q.width=W&&(!a.resizeDirection||a.resizeDirection==="horizontal")?ee:y.width,Q.height=de&&(!a.resizeDirection||a.resizeDirection==="vertical")?z:y.height,y.width=Q.width,y.height=Q.height),S&&E.expandParent){const pe=B[0]*(Q.width??0);Q.x&&Q.x{C&&(g==null||g(O,{...y}),i==null||i({...y}),C=!1)});r.call(I)}function c(){r.on(".drag",null)}return{update:l,destroy:c}}var k8={exports:{}},A8={},C8={exports:{}},I8={};/** * @license React * use-sync-external-store-shim.production.js * @@ -518,7 +518,7 @@ ${f}`:d,children:[o.jsxs("span",{className:`account-avatar${g?" 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 uf=b;function ore(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var lre=typeof Object.is=="function"?Object.is:ore,cre=uf.useState,ure=uf.useEffect,dre=uf.useLayoutEffect,fre=uf.useDebugValue;function hre(e,t){var n=t(),s=cre({inst:{value:n,getSnapshot:t}}),i=s[0].inst,r=s[1];return dre(function(){i.value=n,i.getSnapshot=t,hv(i)&&r({inst:i})},[e,n,t]),ure(function(){return hv(i)&&r({inst:i}),e(function(){hv(i)&&r({inst:i})})},[e]),fre(n),n}function hv(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!lre(e,n)}catch{return!0}}function mre(e,t){return t()}var pre=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?mre:hre;w8.useSyncExternalStore=uf.useSyncExternalStore!==void 0?uf.useSyncExternalStore:pre;v8.exports=w8;var gre=v8.exports;/** + */var uf=b;function gre(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bre=typeof Object.is=="function"?Object.is:gre,yre=uf.useState,xre=uf.useEffect,Ere=uf.useLayoutEffect,vre=uf.useDebugValue;function wre(e,t){var n=t(),s=yre({inst:{value:n,getSnapshot:t}}),i=s[0].inst,r=s[1];return Ere(function(){i.value=n,i.getSnapshot=t,gv(i)&&r({inst:i})},[e,n,t]),xre(function(){return gv(i)&&r({inst:i}),e(function(){gv(i)&&r({inst:i})})},[e]),vre(n),n}function gv(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bre(e,n)}catch{return!0}}function Sre(e,t){return t()}var _re=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Sre:wre;I8.useSyncExternalStore=uf.useSyncExternalStore!==void 0?uf.useSyncExternalStore:_re;C8.exports=I8;var Tre=C8.exports;/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -526,71 +526,71 @@ ${f}`:d,children:[o.jsxs("span",{className:`account-avatar${g?" 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 K1=b,bre=gre;function yre(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var xre=typeof Object.is=="function"?Object.is:yre,Ere=bre.useSyncExternalStore,vre=K1.useRef,wre=K1.useEffect,Sre=K1.useMemo,_re=K1.useDebugValue;E8.useSyncExternalStoreWithSelector=function(e,t,n,s,i){var r=vre(null);if(r.current===null){var a={hasValue:!1,value:null};r.current=a}else a=r.current;r=Sre(function(){function c(m){if(!u){if(u=!0,d=m,m=s(m),i!==void 0&&a.hasValue){var p=a.value;if(i(p,m))return f=p}return f=m}if(p=f,xre(d,m))return p;var g=s(m);return i!==void 0&&i(p,g)?(d=m,p):(d=m,f=g)}var u=!1,d,f,h=n===void 0?null:n;return[function(){return c(t())},h===null?void 0:function(){return c(h())}]},[t,n,s,i]);var l=Ere(e,r[0],r[1]);return wre(function(){a.hasValue=!0,a.value=l},[l]),_re(l),l};x8.exports=E8;var Tre=x8.exports;const Nre=Ef(Tre),kre={},_O=e=>{let t;const n=new Set,s=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const m=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(p=>p(t,m))}},i=()=>t,c={setState:s,getState:i,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(kre?"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(s,i,c);return c},Are=e=>e?_O(e):_O,{useDebugValue:Cre}=Lt,{useSyncExternalStoreWithSelector:Ire}=Nre,Rre=e=>e;function S8(e,t=Rre,n){const s=Ire(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Cre(s),s}const TO=(e,t)=>{const n=Are(e),s=(i,r=t)=>S8(n,i,r);return Object.assign(s,n),s},Ore=(e,t)=>e?TO(e,t):TO;function ds(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[s,i]of e)if(!Object.is(i,t.get(s)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const s of n)if(!Object.prototype.hasOwnProperty.call(t,s)||!Object.is(e[s],t[s]))return!1;return!0}const q1=b.createContext(null),jre=q1.Provider,_8=Ea.error001("react");function Jt(e,t){const n=b.useContext(q1);if(n===null)throw new Error(_8);return S8(n,e,t)}function fs(){const e=b.useContext(q1);if(e===null)throw new Error(_8);return b.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const NO={display:"none"},Mre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},T8="react-flow__node-desc",N8="react-flow__edge-desc",Lre="react-flow__aria-live",Dre=e=>e.ariaLiveMessage,Pre=e=>e.ariaLabelConfig;function Bre({rfId:e}){const t=Jt(Dre);return o.jsx("div",{id:`${Lre}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:Mre,children:t})}function Ure({rfId:e,disableKeyboardA11y:t}){const n=Jt(Pre);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${T8}-${e}`,style:NO,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${N8}-${e}`,style:NO,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(Bre,{rfId:e})]})}const Y1=b.forwardRef(({position:e="top-left",children:t,className:n,style:s,...i},r)=>{const a=`${e}`.split("-");return o.jsx("div",{className:Ks(["react-flow__panel",n,...a]),style:s,ref:r,...i,children:t})});Y1.displayName="Panel";function Fre({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:o.jsx(Y1,{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:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const $re=e=>{const t=[],n=[];for(const[,s]of e.nodeLookup)s.selected&&t.push(s.internals.userNode);for(const[,s]of e.edgeLookup)s.selected&&n.push(s);return{selectedNodes:t,selectedEdges:n}},g0=e=>e.id;function Hre(e,t){return ds(e.selectedNodes.map(g0),t.selectedNodes.map(g0))&&ds(e.selectedEdges.map(g0),t.selectedEdges.map(g0))}function zre({onSelectionChange:e}){const t=fs(),{selectedNodes:n,selectedEdges:s}=Jt($re,Hre);return b.useEffect(()=>{const i={nodes:n,edges:s};e==null||e(i),t.getState().onSelectionChangeHandlers.forEach(r=>r(i))},[n,s,e]),null}const Vre=e=>!!e.onSelectionChangeHandlers;function Gre({onSelectionChange:e}){const t=Jt(Vre);return e||t?o.jsx(zre,{onSelectionChange:e}):null}const k8=[0,0],Kre={x:0,y:0,zoom:1},qre=["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"],kO=[...qre,"rfId"],Yre=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}),AO={translateExtent:dp,nodeOrigin:k8,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Wre(e){const{setNodes:t,setEdges:n,setMinZoom:s,setMaxZoom:i,setTranslateExtent:r,setNodeExtent:a,reset:l,setDefaultNodesAndEdges:c}=Jt(Yre,ds),u=fs();b.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=AO,l()}),[]);const d=b.useRef(AO);return b.useEffect(()=>{for(const f of kO){const h=e[f],m=d.current[f];h!==m&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?s(h):f==="maxZoom"?i(h):f==="translateExtent"?r(h):f==="nodeExtent"?a(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:xie(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},kO.map(f=>e[f])),null}function CO(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Xre(e){var s;const[t,n]=b.useState(e==="system"?null:e);return b.useEffect(()=>{if(e!=="system"){n(e);return}const i=CO(),r=()=>n(i!=null&&i.matches?"dark":"light");return r(),i==null||i.addEventListener("change",r),()=>{i==null||i.removeEventListener("change",r)}},[e]),t!==null?t:(s=CO())!=null&&s.matches?"dark":"light"}const IO=typeof document<"u"?document:null;function pp(e=null,t={target:IO,actInsideInputWithModifier:!0}){const[n,s]=b.useState(!1),i=b.useRef(!1),r=b.useRef(new Set([])),[a,l]=b.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",` + */var W1=b,Nre=Tre;function kre(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Are=typeof Object.is=="function"?Object.is:kre,Cre=Nre.useSyncExternalStore,Ire=W1.useRef,Rre=W1.useEffect,jre=W1.useMemo,Ore=W1.useDebugValue;A8.useSyncExternalStoreWithSelector=function(e,t,n,s,i){var r=Ire(null);if(r.current===null){var a={hasValue:!1,value:null};r.current=a}else a=r.current;r=jre(function(){function c(m){if(!u){if(u=!0,d=m,m=s(m),i!==void 0&&a.hasValue){var p=a.value;if(i(p,m))return f=p}return f=m}if(p=f,Are(d,m))return p;var g=s(m);return i!==void 0&&i(p,g)?(d=m,p):(d=m,f=g)}var u=!1,d,f,h=n===void 0?null:n;return[function(){return c(t())},h===null?void 0:function(){return c(h())}]},[t,n,s,i]);var l=Cre(e,r[0],r[1]);return Rre(function(){a.hasValue=!0,a.value=l},[l]),Ore(l),l};k8.exports=A8;var Mre=k8.exports;const Lre=Ef(Mre),Dre={},kj=e=>{let t;const n=new Set,s=(d,f)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const m=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(p=>p(t,m))}},i=()=>t,c={setState:s,getState:i,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(Dre?"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(s,i,c);return c},Pre=e=>e?kj(e):kj,{useDebugValue:Bre}=Lt,{useSyncExternalStoreWithSelector:Ure}=Lre,Fre=e=>e;function R8(e,t=Fre,n){const s=Ure(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Bre(s),s}const Aj=(e,t)=>{const n=Pre(e),s=(i,r=t)=>R8(n,i,r);return Object.assign(s,n),s},$re=(e,t)=>e?Aj(e,t):Aj;function fs(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[s,i]of e)if(!Object.is(i,t.get(s)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const s of n)if(!Object.prototype.hasOwnProperty.call(t,s)||!Object.is(e[s],t[s]))return!1;return!0}const X1=b.createContext(null),Hre=X1.Provider,j8=Ea.error001("react");function Xt(e,t){const n=b.useContext(X1);if(n===null)throw new Error(j8);return R8(n,e,t)}function hs(){const e=b.useContext(X1);if(e===null)throw new Error(j8);return b.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Cj={display:"none"},zre={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},O8="react-flow__node-desc",M8="react-flow__edge-desc",Vre="react-flow__aria-live",Gre=e=>e.ariaLiveMessage,Kre=e=>e.ariaLabelConfig;function qre({rfId:e}){const t=Xt(Gre);return o.jsx("div",{id:`${Vre}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:zre,children:t})}function Yre({rfId:e,disableKeyboardA11y:t}){const n=Xt(Kre);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${O8}-${e}`,style:Cj,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${M8}-${e}`,style:Cj,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(qre,{rfId:e})]})}const Q1=b.forwardRef(({position:e="top-left",children:t,className:n,style:s,...i},r)=>{const a=`${e}`.split("-");return o.jsx("div",{className:Xs(["react-flow__panel",n,...a]),style:s,ref:r,...i,children:t})});Q1.displayName="Panel";function Wre({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:o.jsx(Q1,{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:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Xre=e=>{const t=[],n=[];for(const[,s]of e.nodeLookup)s.selected&&t.push(s.internals.userNode);for(const[,s]of e.edgeLookup)s.selected&&n.push(s);return{selectedNodes:t,selectedEdges:n}},b0=e=>e.id;function Qre(e,t){return fs(e.selectedNodes.map(b0),t.selectedNodes.map(b0))&&fs(e.selectedEdges.map(b0),t.selectedEdges.map(b0))}function Zre({onSelectionChange:e}){const t=hs(),{selectedNodes:n,selectedEdges:s}=Xt(Xre,Qre);return b.useEffect(()=>{const i={nodes:n,edges:s};e==null||e(i),t.getState().onSelectionChangeHandlers.forEach(r=>r(i))},[n,s,e]),null}const Jre=e=>!!e.onSelectionChangeHandlers;function eae({onSelectionChange:e}){const t=Xt(Jre);return e||t?o.jsx(Zre,{onSelectionChange:e}):null}const L8=[0,0],tae={x:0,y:0,zoom:1},nae=["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"],Ij=[...nae,"rfId"],sae=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}),Rj={translateExtent:fp,nodeOrigin:L8,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function iae(e){const{setNodes:t,setEdges:n,setMinZoom:s,setMaxZoom:i,setTranslateExtent:r,setNodeExtent:a,reset:l,setDefaultNodesAndEdges:c}=Xt(sae,fs),u=hs();b.useEffect(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=Rj,l()}),[]);const d=b.useRef(Rj);return b.useEffect(()=>{for(const f of Ij){const h=e[f],m=d.current[f];h!==m&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?s(h):f==="maxZoom"?i(h):f==="translateExtent"?r(h):f==="nodeExtent"?a(h):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:Aie(h)}):f==="fitView"?u.setState({fitViewQueued:h}):f==="fitViewOptions"?u.setState({fitViewOptions:h}):u.setState({[f]:h})))}d.current=e},Ij.map(f=>e[f])),null}function jj(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function rae(e){var s;const[t,n]=b.useState(e==="system"?null:e);return b.useEffect(()=>{if(e!=="system"){n(e);return}const i=jj(),r=()=>n(i!=null&&i.matches?"dark":"light");return r(),i==null||i.addEventListener("change",r),()=>{i==null||i.removeEventListener("change",r)}},[e]),t!==null?t:(s=jj())!=null&&s.matches?"dark":"light"}const Oj=typeof document<"u"?document:null;function gp(e=null,t={target:Oj,actInsideInputWithModifier:!0}){const[n,s]=b.useState(!1),i=b.useRef(!1),r=b.useRef(new Set([])),[a,l]=b.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 b.useEffect(()=>{const c=(t==null?void 0:t.target)??IO,u=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=m=>{var v,y;if(i.current=m.ctrlKey||m.metaKey||m.shiftKey||m.altKey,(!i.current||i.current&&!u)&&n8(m))return!1;const g=OO(m.code,l);if(r.current.add(m[g]),RO(a,r.current,!1)){const x=((y=(v=m.composedPath)==null?void 0:v.call(m))==null?void 0:y[0])||m.target,E=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";t.preventDefault!==!1&&(i.current||!E)&&m.preventDefault(),s(!0)}},f=m=>{const p=OO(m.code,l);RO(a,r.current,!0)?(s(!1),r.current.clear()):r.current.delete(m[p]),m.key==="Meta"&&r.current.clear(),i.current=!1},h=()=>{r.current.clear(),s(!1)};return c==null||c.addEventListener("keydown",d),c==null||c.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{c==null||c.removeEventListener("keydown",d),c==null||c.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,s]),n}function RO(e,t,n){return e.filter(s=>n||s.length===t.size).some(s=>s.every(i=>t.has(i)))}function OO(e,t){return t.includes(e)?"code":"key"}const Qre=()=>{const e=fs();return b.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:s}=e.getState();return s?s.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[s,i,r],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??s,y:t.y??i,zoom:t.zoom??r},n),!0):!1},getViewport:()=>{const[t,n,s]=e.getState().transform;return{x:t,y:n,zoom:s}},setCenter:async(t,n,s)=>e.getState().setCenter(t,n,s),fitBounds:async(t,n)=>{const{width:s,height:i,minZoom:r,maxZoom:a,panZoom:l}=e.getState(),c=Tk(t,s,i,r,a,(n==null?void 0:n.padding)??.1);return l?(await l.setViewport(c,{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:s,snapGrid:i,snapToGrid:r,domNode:a}=e.getState();if(!a)return t;const{x:l,y:c}=a.getBoundingClientRect(),u={x:t.x-l,y:t.y-c},d=n.snapGrid??i,f=n.snapToGrid??r;return Df(u,s,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:s}=e.getState();if(!s)return t;const{x:i,y:r}=s.getBoundingClientRect(),a=lf(t,n);return{x:a.x+i,y:a.y+r}}}),[])};function A8(e,t){const n=[],s=new Map,i=[];for(const r of e)if(r.type==="add"){i.push(r);continue}else if(r.type==="remove"||r.type==="replace")s.set(r.id,[r]);else{const a=s.get(r.id);a?a.push(r):s.set(r.id,[r])}for(const r of t){const a=s.get(r.id);if(!a){n.push(r);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const l={...r};for(const c of a)Zre(c,l);n.push(l)}return i.length&&i.forEach(r=>{r.index!==void 0?n.splice(r.index,0,{...r.item}):n.push({...r.item})}),n}function Zre(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 C8(e,t){return A8(e,t)}function I8(e,t){return A8(e,t)}function pc(e,t){return{id:e,type:"select",selected:t}}function md(e,t=new Set,n=!1){const s=[];for(const[i,r]of e){const a=t.has(i);!(r.selected===void 0&&!a)&&r.selected!==a&&(n&&(r.selected=a),s.push(pc(r.id,a)))}return s}function jO({items:e=[],lookup:t}){var i;const n=[],s=new Map(e.map(r=>[r.id,r]));for(const[r,a]of e.entries()){const l=t.get(a.id),c=((i=l==null?void 0:l.internals)==null?void 0:i.userNode)??l;c!==void 0&&c!==a&&n.push({id:a.id,item:a,type:"replace"}),c===void 0&&n.push({item:a,type:"add",index:r})}for(const[r]of t)s.get(r)===void 0&&n.push({id:r,type:"remove"});return n}function MO(e){return{id:e.id,type:"remove"}}const Jre=JB();function R8(e,t,n={}){return Tie(e,t,{...n,onError:n.onError??Jre})}const LO=e=>uie(e),eae=e=>WB(e);function O8(e){return b.forwardRef(e)}const tae=typeof window<"u"?b.useLayoutEffect:b.useEffect;function DO(e){const[t,n]=b.useState(BigInt(0)),[s]=b.useState(()=>nae(()=>n(i=>i+BigInt(1))));return tae(()=>{const i=s.get();i.length&&(e(i),s.reset())},[t]),s}function nae(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const j8=b.createContext(null);function sae({children:e}){const t=fs(),n=b.useCallback(l=>{const{nodes:c=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:h,fitViewQueued:m,onNodesChangeMiddlewareMap:p}=t.getState();let g=c;for(const y of l)g=typeof y=="function"?y(g):y;let v=jO({items:g,lookup:h});for(const y of p.values())v=y(v);d&&u(g),v.length>0?f==null||f(v):m&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:x,setNodes:E}=t.getState();y&&E(x)})},[]),s=DO(n),i=b.useCallback(l=>{const{edges:c=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:h}=t.getState();let m=c;for(const p of l)m=typeof p=="function"?p(m):p;d?u(m):f&&f(jO({items:m,lookup:h}))},[]),r=DO(i),a=b.useMemo(()=>({nodeQueue:s,edgeQueue:r}),[]);return o.jsx(j8.Provider,{value:a,children:e})}function iae(){const e=b.useContext(j8);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const rae=e=>!!e.panZoom;function W1(){const e=Qre(),t=fs(),n=iae(),s=Jt(rae),i=b.useMemo(()=>{const r=f=>t.getState().nodeLookup.get(f),a=f=>{n.nodeQueue.push(f)},l=f=>{n.edgeQueue.push(f)},c=f=>{var y,x;const{nodeLookup:h,nodeOrigin:m}=t.getState(),p=LO(f)?f:h.get(f.id),g=p.parentId?e8(p.position,p.measured,p.parentId,h,m):p.position,v={...p,position:g,width:((y=p.measured)==null?void 0:y.width)??p.width,height:((x=p.measured)==null?void 0:x.height)??p.height};return of(v)},u=(f,h,m={replace:!1})=>{a(p=>p.map(g=>{if(g.id===f){const v=typeof h=="function"?h(g):h;return m.replace&&LO(v)?v:{...g,...v}}return g}))},d=(f,h,m={replace:!1})=>{l(p=>p.map(g=>{if(g.id===f){const v=typeof h=="function"?h(g):h;return m.replace&&eae(v)?v:{...g,...v}}return g}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var h;return(h=r(f))==null?void 0:h.internals.userNode},getInternalNode:r,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:a,setEdges:l,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(m=>[...m,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(m=>[...m,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:m}=t.getState(),[p,g,v]=m;return{nodes:f.map(y=>({...y})),edges:h.map(y=>({...y})),viewport:{x:p,y:g,zoom:v}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:m,edges:p,onNodesDelete:g,onEdgesDelete:v,triggerNodeChanges:y,triggerEdgeChanges:x,onDelete:E,onBeforeDelete:w}=t.getState(),{nodes:T,edges:S}=await pie({nodesToRemove:f,edgesToRemove:h,nodes:m,edges:p,onBeforeDelete:w}),k=S.length>0,A=T.length>0;if(k){const C=S.map(MO);v==null||v(S),x(C)}if(A){const C=T.map(MO);g==null||g(T),y(C)}return(A||k)&&(E==null||E({nodes:T,edges:S})),{deletedNodes:T,deletedEdges:S}},getIntersectingNodes:(f,h=!0,m)=>{const p=dO(f),g=p?f:c(f),v=m!==void 0;return g?(m||t.getState().nodes).filter(y=>{const x=t.getState().nodeLookup.get(y.id);if(x&&!p&&(y.id===f.id||!x.internals.positionAbsolute))return!1;const E=of(v?y:x),w=hp(E,g);return h&&w>0||w>=E.width*E.height||w>=g.width*g.height}):[]},isNodeIntersecting:(f,h,m=!0)=>{const g=dO(f)?f:c(f);if(!g)return!1;const v=hp(g,h);return m&&v>0||v>=h.width*h.height||v>=g.width*g.height},updateNode:u,updateNodeData:(f,h,m={replace:!1})=>{u(f,p=>{const g=typeof h=="function"?h(p):h;return m.replace?{...p,data:g}:{...p,data:{...p.data,...g}}},m)},updateEdge:d,updateEdgeData:(f,h,m={replace:!1})=>{d(f,p=>{const g=typeof h=="function"?h(p):h;return m.replace?{...p,data:g}:{...p,data:{...p.data,...g}}},m)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:m}=t.getState();return die(f,{nodeLookup:h,nodeOrigin:m})},getHandleConnections:({type:f,id:h,nodeId:m})=>{var p;return Array.from(((p=t.getState().connectionLookup.get(`${m}-${f}${h?`-${h}`:""}`))==null?void 0:p.values())??[])},getNodeConnections:({type:f,handleId:h,nodeId:m})=>{var p;return Array.from(((p=t.getState().connectionLookup.get(`${m}${f?h?`-${f}-${h}`:`-${f}`:""}`))==null?void 0:p.values())??[])},fitView:async f=>{const h=t.getState().fitViewResolver??yie();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(m=>[...m]),h.promise}}},[]);return b.useMemo(()=>({...i,...e,viewportInitialized:s}),[s])}const PO=e=>e.selected,aae=typeof window<"u"?window:void 0;function oae({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=fs(),{deleteElements:s}=W1(),i=pp(e,{actInsideInputWithModifier:!1}),r=pp(t,{target:aae});b.useEffect(()=>{if(i){const{edges:a,nodes:l}=n.getState();s({nodes:l.filter(PO),edges:a.filter(PO)}),n.setState({nodesSelectionActive:!1})}},[i]),b.useEffect(()=>{n.setState({multiSelectionActive:r})},[r])}function lae(e){const t=fs();b.useEffect(()=>{const n=()=>{var i,r,a,l;if(!e.current||!(((r=(i=e.current).checkVisibility)==null?void 0:r.call(i))??!0))return!1;const s=kk(e.current);(s.height===0||s.width===0)&&((l=(a=t.getState()).onError)==null||l.call(a,"004",Ea.error004())),t.setState({width:s.width||500,height:s.height||500})};if(e.current){n(),window.addEventListener("resize",n);const s=new ResizeObserver(()=>n());return s.observe(e.current),()=>{window.removeEventListener("resize",n),s&&e.current&&s.unobserve(e.current)}}},[])}const X1={position:"absolute",width:"100%",height:"100%",top:0,left:0},cae=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function uae({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:s=!1,panOnScrollSpeed:i=.5,panOnScrollMode:r=Mc.Free,zoomOnDoubleClick:a=!0,panOnDrag:l=!0,defaultViewport:c,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:m=!0,children:p,noWheelClassName:g,noPanClassName:v,onViewportChange:y,isControlledViewport:x,paneClickDistance:E,selectionOnDrag:w}){const T=fs(),S=b.useRef(null),{userSelectionActive:k,lib:A,connectionInProgress:C}=Jt(cae,ds),R=pp(h),M=b.useRef();lae(S);const L=b.useCallback(G=>{y==null||y({x:G[0],y:G[1],zoom:G[2]}),x||T.setState({transform:G})},[y,x]);return b.useEffect(()=>{if(S.current){M.current=tre({domNode:S.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:c,onDraggingChange:N=>T.setState(O=>O.paneDragging===N?O:{paneDragging:N}),onPanZoomStart:(N,O)=>{const{onViewportChangeStart:P,onMoveStart:$}=T.getState();$==null||$(N,O),P==null||P(O)},onPanZoom:(N,O)=>{const{onViewportChange:P,onMove:$}=T.getState();$==null||$(N,O),P==null||P(O)},onPanZoomEnd:(N,O)=>{const{onViewportChangeEnd:P,onMoveEnd:$}=T.getState();$==null||$(N,O),P==null||P(O)}});const{x:G,y:D,zoom:F}=M.current.getViewport();return T.setState({panZoom:M.current,transform:[G,D,F],domNode:S.current.closest(".react-flow")}),()=>{var N;(N=M.current)==null||N.destroy()}}},[]),b.useEffect(()=>{var G;(G=M.current)==null||G.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:s,panOnScrollSpeed:i,panOnScrollMode:r,zoomOnDoubleClick:a,panOnDrag:l,zoomActivationKeyPressed:R,preventScrolling:m,noPanClassName:v,userSelectionActive:k,noWheelClassName:g,lib:A,onTransformChange:L,connectionInProgress:C,selectionOnDrag:w,paneClickDistance:E})},[e,t,n,s,i,r,a,l,R,m,v,k,g,A,L,C,w,E]),o.jsx("div",{className:"react-flow__renderer",ref:S,style:X1,children:p})}const dae=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function fae(){const{userSelectionActive:e,userSelectionRect:t}=Jt(dae,ds);return e&&t?o.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 mv=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},hae=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function mae({isSelecting:e,selectionKeyPressed:t,selectionMode:n=fp.Full,panOnDrag:s,autoPanOnSelection:i,paneClickDistance:r,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:c,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:m,onPaneMouseLeave:p,children:g}){const v=b.useRef(0),y=fs(),{userSelectionActive:x,elementsSelectable:E,dragging:w,connectionInProgress:T,panBy:S,autoPanSpeed:k}=Jt(hae,ds),A=E&&(e||x),C=b.useRef(null),R=b.useRef(),M=b.useRef(new Set),L=b.useRef(new Set),G=b.useRef(!1),D=b.useRef({x:0,y:0}),F=b.useRef(!1),N=W=>{if(G.current||T){G.current=!1;return}u==null||u(W),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},O=W=>{if(Array.isArray(s)&&(s!=null&&s.includes(2))){W.preventDefault();return}d==null||d(W)},P=f?W=>f(W):void 0,$=W=>{G.current&&(W.stopPropagation(),G.current=!1)},I=W=>{var Te,xe;const{domNode:de,transform:ye}=y.getState();if(R.current=de==null?void 0:de.getBoundingClientRect(),!R.current)return;const we=W.target===C.current;if(!we&&!!W.target.closest(".nokey")||!e||!(a&&we||t)||W.button!==0||!W.isPrimary)return;(xe=(Te=W.target)==null?void 0:Te.setPointerCapture)==null||xe.call(Te,W.pointerId),G.current=!1;const{x:Re,y:pe}=ga(W.nativeEvent,R.current),oe=Df({x:Re,y:pe},ye);y.setState({userSelectionRect:{width:0,height:0,startX:oe.x,startY:oe.y,x:Re,y:pe}}),we||(W.stopPropagation(),W.preventDefault())};function q(W,de){const{userSelectionRect:ye}=y.getState();if(!ye)return;const{transform:we,nodeLookup:ue,edgeLookup:he,connectionLookup:Re,triggerNodeChanges:pe,triggerEdgeChanges:oe,defaultEdgeOptions:Te}=y.getState(),xe={x:ye.startX,y:ye.startY},{x:Xe,y:Me}=lf(xe,we),ze={startX:xe.x,startY:xe.y,x:WKe.id)),L.current=new Set;const Fe=(Te==null?void 0:Te.selectable)??!0;for(const Ke of M.current){const X=Re.get(Ke);if(X)for(const{edgeId:ae}of X.values()){const te=he.get(ae);te&&(te.selectable??Fe)&&L.current.add(ae)}}if(!fO(_e,M.current)){const Ke=md(ue,M.current,!0);pe(Ke)}if(!fO(Pe,L.current)){const Ke=md(he,L.current);oe(Ke)}y.setState({userSelectionRect:ze,userSelectionActive:!0,nodesSelectionActive:!1})}function Q(){if(!i||!R.current)return;const[W,de]=_k(D.current,R.current,k);S({x:W,y:de}).then(ye=>{if(!G.current||!ye){v.current=requestAnimationFrame(Q);return}const{x:we,y:ue}=D.current;q(we,ue),v.current=requestAnimationFrame(Q)})}const B=()=>{cancelAnimationFrame(v.current),v.current=0,F.current=!1};b.useEffect(()=>()=>B(),[]);const ee=W=>{const{userSelectionRect:de,transform:ye,resetSelectedElements:we}=y.getState();if(!R.current||!de)return;const{x:ue,y:he}=ga(W.nativeEvent,R.current);D.current={x:ue,y:he};const Re=lf({x:de.startX,y:de.startY},ye);if(!G.current){const pe=t?0:r;if(Math.hypot(ue-Re.x,he-Re.y)<=pe)return;we(),l==null||l(W)}G.current=!0,F.current||(Q(),F.current=!0),q(ue,he)},z=W=>{var de,ye;W.button===0&&((ye=(de=W.target)==null?void 0:de.releasePointerCapture)==null||ye.call(de,W.pointerId),!x&&W.target===C.current&&y.getState().userSelectionRect&&(N==null||N(W)),y.setState({userSelectionActive:!1,userSelectionRect:null}),G.current&&(c==null||c(W),y.setState({nodesSelectionActive:M.current.size>0})),B())},K=W=>{var de,ye;(ye=(de=W.target)==null?void 0:de.releasePointerCapture)==null||ye.call(de,W.pointerId),B()},se=s===!0||Array.isArray(s)&&s.includes(0);return o.jsxs("div",{className:Ks(["react-flow__pane",{draggable:se,dragging:w,selection:e}]),onClick:A?void 0:mv(N,C),onContextMenu:mv(O,C),onWheel:mv(P,C),onPointerEnter:A?void 0:h,onPointerMove:A?ee:m,onPointerUp:A?z:void 0,onPointerCancel:A?K:void 0,onPointerDownCapture:A?I:void 0,onClickCapture:A?$:void 0,onPointerLeave:p,ref:C,style:X1,children:[g,o.jsx(fae,{})]})}function i_({id:e,store:t,unselect:n=!1,nodeRef:s}){const{addSelectedNodes:i,unselectNodesAndEdges:r,multiSelectionActive:a,nodeLookup:l,onError:c}=t.getState(),u=l.get(e);if(!u){c==null||c("012",Ea.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(r({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=s==null?void 0:s.current)==null?void 0:d.blur()})):i([e])}function M8({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:s,nodeId:i,isSelectable:r,nodeClickDistance:a}){const l=fs(),[c,u]=b.useState(!1),d=b.useRef();return b.useEffect(()=>{d.current=$ie({getStoreItems:()=>l.getState(),onNodeMouseDown:f=>{i_({id:f,store:l,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),b.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:s,domNode:e.current,isSelectable:r,nodeId:i,nodeClickDistance:a}),()=>{var f;(f=d.current)==null||f.destroy()}},[n,s,t,r,e,i,a]),c}const pae=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function L8(){const e=fs();return b.useCallback(n=>{const{nodeExtent:s,snapToGrid:i,snapGrid:r,nodesDraggable:a,onError:l,updateNodePositions:c,nodeLookup:u,nodeOrigin:d}=e.getState(),f=new Map,h=pae(a),m=i?r[0]:5,p=i?r[1]:5,g=n.direction.x*m*n.factor,v=n.direction.y*p*n.factor;for(const[,y]of u){if(!h(y))continue;let x={x:y.internals.positionAbsolute.x+g,y:y.internals.positionAbsolute.y+v};i&&(x=Qp(x,r));const{position:E,positionAbsolute:w}=XB({nodeId:y.id,nextPosition:x,nodeLookup:u,nodeExtent:s,nodeOrigin:d,onError:l});y.position=E,y.internals.positionAbsolute=w,f.set(y.id,y)}c(f)},[])}const jk=b.createContext(null),gae=jk.Provider;jk.Consumer;const D8=()=>b.useContext(jk),bae=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),yae=(e,t,n)=>s=>{const{connectionClickStartHandle:i,connectionMode:r,connection:a}=s,{fromHandle:l,toHandle:c,isValid:u}=a,d=(c==null?void 0:c.nodeId)===e&&(c==null?void 0:c.id)===t&&(c==null?void 0:c.type)===n;return{connectingFrom:(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===t&&(l==null?void 0:l.type)===n,connectingTo:d,clickConnecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.id)===t&&(i==null?void 0:i.type)===n,isPossibleEndHandle:r===sf.Strict?(l==null?void 0:l.type)!==n:e!==(l==null?void 0:l.nodeId)||t!==(l==null?void 0:l.id),connectionInProcess:!!l,clickConnectionInProcess:!!i,valid:d&&u}};function xae({type:e="source",position:t=We.Top,isValidConnection:n,isConnectable:s=!0,isConnectableStart:i=!0,isConnectableEnd:r=!0,id:a,onConnect:l,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},m){var F,N;const p=a||null,g=e==="target",v=fs(),y=D8(),{connectOnClick:x,noPanClassName:E,rfId:w}=Jt(bae,ds),{connectingFrom:T,connectingTo:S,clickConnecting:k,isPossibleEndHandle:A,connectionInProcess:C,clickConnectionInProcess:R,valid:M}=Jt(yae(y,p,e),ds);y||(N=(F=v.getState()).onError)==null||N.call(F,"010",Ea.error010());const L=O=>{const{defaultEdgeOptions:P,onConnect:$,hasDefaultEdges:I}=v.getState(),q={...P,...O};if(I){const{edges:Q,setEdges:B,onError:ee}=v.getState();B(R8(q,Q,{onError:ee}))}$==null||$(q),l==null||l(q)},G=O=>{if(!y)return;const P=s8(O.nativeEvent);if(i&&(P&&O.button===0||!P)){const $=v.getState();s_.onPointerDown(O.nativeEvent,{handleDomNode:O.currentTarget,autoPanOnConnect:$.autoPanOnConnect,connectionMode:$.connectionMode,connectionRadius:$.connectionRadius,domNode:$.domNode,nodeLookup:$.nodeLookup,lib:$.lib,isTarget:g,handleId:p,nodeId:y,flowId:$.rfId,panBy:$.panBy,cancelConnection:$.cancelConnection,onConnectStart:$.onConnectStart,onConnectEnd:(...I)=>{var q,Q;return(Q=(q=v.getState()).onConnectEnd)==null?void 0:Q.call(q,...I)},updateConnection:$.updateConnection,onConnect:L,isValidConnection:n||((...I)=>{var q,Q;return((Q=(q=v.getState()).isValidConnection)==null?void 0:Q.call(q,...I))??!0}),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:$.autoPanSpeed,dragThreshold:$.connectionDragThreshold})}P?d==null||d(O):f==null||f(O)},D=O=>{const{onClickConnectStart:P,onClickConnectEnd:$,connectionClickStartHandle:I,connectionMode:q,isValidConnection:Q,lib:B,rfId:ee,nodeLookup:z,connection:K}=v.getState();if(!y||!I&&!i)return;if(!I){P==null||P(O.nativeEvent,{nodeId:y,handleId:p,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:y,type:e,id:p}});return}const se=t8(O.target),W=n||Q,{connection:de,isValid:ye}=s_.isValid(O.nativeEvent,{handle:{nodeId:y,id:p,type:e},connectionMode:q,fromNodeId:I.nodeId,fromHandleId:I.id||null,fromType:I.type,isValidConnection:W,flowId:ee,doc:se,lib:B,nodeLookup:z});ye&&de&&L(de);const we=structuredClone(K);delete we.inProgress,we.toPosition=we.toHandle?we.toHandle.position:null,$==null||$(O,we),v.setState({connectionClickStartHandle:null})};return o.jsx("div",{"data-handleid":p,"data-nodeid":y,"data-handlepos":t,"data-id":`${w}-${y}-${p}-${e}`,className:Ks(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",E,u,{source:!g,target:g,connectable:s,connectablestart:i,connectableend:r,clickconnecting:k,connectingfrom:T,connectingto:S,valid:M,connectionindicator:s&&(!C||A)&&(C||R?r:i)}]),onMouseDown:G,onTouchStart:G,onClick:x?D:void 0,ref:m,...h,children:c})}const Ai=b.memo(O8(xae));function Eae({data:e,isConnectable:t,sourcePosition:n=We.Bottom}){return o.jsxs(o.Fragment,{children:[e==null?void 0:e.label,o.jsx(Ai,{type:"source",position:n,isConnectable:t})]})}function vae({data:e,isConnectable:t,targetPosition:n=We.Top,sourcePosition:s=We.Bottom}){return o.jsxs(o.Fragment,{children:[o.jsx(Ai,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,o.jsx(Ai,{type:"source",position:s,isConnectable:t})]})}function wae(){return null}function Sae({data:e,isConnectable:t,targetPosition:n=We.Top}){return o.jsxs(o.Fragment,{children:[o.jsx(Ai,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const Ry={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},BO={input:Eae,default:vae,output:Sae,group:wae};function _ae(e){var t,n,s,i;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??((s=e.style)==null?void 0:s.width),height:e.height??((i=e.style)==null?void 0:i.height)}}const Tae=e=>{const{width:t,height:n,x:s,y:i}=Xp(e.nodeLookup,{filter:r=>!!r.selected});return{width:pa(t)?t:null,height:pa(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${s}px,${i}px)`}};function Nae({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const s=fs(),{width:i,height:r,transformString:a,userSelectionActive:l}=Jt(Tae,ds),c=L8(),u=b.useRef(null);b.useEffect(()=>{var m;n||(m=u.current)==null||m.focus({preventScroll:!0})},[n]);const d=!l&&i!==null&&r!==null;if(M8({nodeRef:u,disabled:!d}),!d)return null;const f=e?m=>{const p=s.getState().nodes.filter(g=>g.selected);e(m,p)}:void 0,h=m=>{Object.prototype.hasOwnProperty.call(Ry,m.key)&&(m.preventDefault(),c({direction:Ry[m.key],factor:m.shiftKey?4:1}))};return o.jsx("div",{className:Ks(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:o.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:r}})})}const UO=typeof window<"u"?window:void 0,kae=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function P8({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:s,onPaneMouseLeave:i,onPaneContextMenu:r,onPaneScroll:a,paneClickDistance:l,deleteKeyCode:c,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:p,panActivationKeyCode:g,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:x,zoomOnPinch:E,panOnScroll:w,panOnScrollSpeed:T,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:A,autoPanOnSelection:C,defaultViewport:R,translateExtent:M,minZoom:L,maxZoom:G,preventScrolling:D,onSelectionContextMenu:F,noWheelClassName:N,noPanClassName:O,disableKeyboardA11y:P,onViewportChange:$,isControlledViewport:I}){const{nodesSelectionActive:q,userSelectionActive:Q}=Jt(kae,ds),B=pp(u,{target:UO}),ee=pp(g,{target:UO}),z=ee||A,K=ee||w,se=d&&z!==!0,W=B||Q||se;return oae({deleteKeyCode:c,multiSelectionKeyCode:p}),o.jsx(uae,{onPaneContextMenu:r,elementsSelectable:y,zoomOnScroll:x,zoomOnPinch:E,panOnScroll:K,panOnScrollSpeed:T,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:!B&&z,defaultViewport:R,translateExtent:M,minZoom:L,maxZoom:G,zoomActivationKeyCode:v,preventScrolling:D,noWheelClassName:N,noPanClassName:O,onViewportChange:$,isControlledViewport:I,paneClickDistance:l,selectionOnDrag:se,children:o.jsxs(mae,{onSelectionStart:h,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:s,onPaneMouseLeave:i,onPaneContextMenu:r,onPaneScroll:a,panOnDrag:z,autoPanOnSelection:C,isSelecting:!!W,selectionMode:f,selectionKeyPressed:B,paneClickDistance:l,selectionOnDrag:se,children:[e,q&&o.jsx(Nae,{onSelectionContextMenu:F,noPanClassName:O,disableKeyboardA11y:P})]})})}P8.displayName="FlowRenderer";const Aae=b.memo(P8),Cae=e=>t=>e?Sk(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 Iae(e){return Jt(b.useCallback(Cae(e),[e]),ds)}const Rae=e=>e.updateNodeInternals;function Oae(){const e=Jt(Rae),[t]=b.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const s=new Map;n.forEach(i=>{const r=i.target.getAttribute("data-id");s.set(r,{id:r,nodeElement:i.target,force:!0})}),e(s)}));return b.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function jae({node:e,nodeType:t,hasDimensions:n,resizeObserver:s}){const i=fs(),r=b.useRef(null),a=b.useRef(null),l=b.useRef(e.sourcePosition),c=b.useRef(e.targetPosition),u=b.useRef(t),d=n&&!!e.internals.handleBounds;return b.useEffect(()=>{r.current&&!e.hidden&&(!d||a.current!==r.current)&&(a.current&&(s==null||s.unobserve(a.current)),s==null||s.observe(r.current),a.current=r.current)},[d,e.hidden]),b.useEffect(()=>()=>{a.current&&(s==null||s.unobserve(a.current),a.current=null)},[]),b.useEffect(()=>{if(r.current){const f=u.current!==t,h=l.current!==e.sourcePosition,m=c.current!==e.targetPosition;(f||h||m)&&(u.current=t,l.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:r.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),r}function Mae({id:e,onClick:t,onMouseEnter:n,onMouseMove:s,onMouseLeave:i,onContextMenu:r,onDoubleClick:a,nodesDraggable:l,elementsSelectable:c,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:m,disableKeyboardA11y:p,rfId:g,nodeTypes:v,nodeClickDistance:y,onError:x}){const{node:E,internals:w,isParent:T}=Jt(W=>{const de=W.nodeLookup.get(e),ye=W.parentLookup.has(e);return{node:de,internals:de.internals,isParent:ye}},ds);let S=E.type||"default",k=(v==null?void 0:v[S])||BO[S];k===void 0&&(x==null||x("003",Ea.error003(S)),S="default",k=(v==null?void 0:v.default)||BO.default);const A=!!(E.draggable||l&&typeof E.draggable>"u"),C=!!(E.selectable||c&&typeof E.selectable>"u"),R=!!(E.connectable||u&&typeof E.connectable>"u"),M=!!(E.focusable||d&&typeof E.focusable>"u"),L=fs(),G=Nk(E),D=jae({node:E,nodeType:S,hasDimensions:G,resizeObserver:f}),F=M8({nodeRef:D,disabled:E.hidden||!A,noDragClassName:h,handleSelector:E.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:y}),N=L8();if(E.hidden)return null;const O=zo(E),P=_ae(E),$=C||A||t||n||s||i,I=n?W=>n(W,{...w.userNode}):void 0,q=s?W=>s(W,{...w.userNode}):void 0,Q=i?W=>i(W,{...w.userNode}):void 0,B=r?W=>r(W,{...w.userNode}):void 0,ee=a?W=>a(W,{...w.userNode}):void 0,z=W=>{const{selectNodesOnDrag:de,nodeDragThreshold:ye}=L.getState();C&&(!de||!A||ye>0)&&i_({id:e,store:L,nodeRef:D}),t&&t(W,{...w.userNode})},K=W=>{if(!(n8(W.nativeEvent)||p)){if(GB.includes(W.key)&&C){const de=W.key==="Escape";i_({id:e,store:L,unselect:de,nodeRef:D})}else if(A&&E.selected&&Object.prototype.hasOwnProperty.call(Ry,W.key)){W.preventDefault();const{ariaLabelConfig:de}=L.getState();L.setState({ariaLiveMessage:de["node.a11yDescription.ariaLiveMessage"]({direction:W.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),N({direction:Ry[W.key],factor:W.shiftKey?4:1})}}},se=()=>{var Re;if(p||!((Re=D.current)!=null&&Re.matches(":focus-visible")))return;const{transform:W,width:de,height:ye,autoPanOnNodeFocus:we,setCenter:ue}=L.getState();if(!we)return;Sk(new Map([[e,E]]),{x:0,y:0,width:de,height:ye},W,!0).length>0||ue(E.position.x+O.width/2,E.position.y+O.height/2,{zoom:W[2]})};return o.jsx("div",{className:Ks(["react-flow__node",`react-flow__node-${S}`,{[m]:A},E.className,{selected:E.selected,selectable:C,parent:T,draggable:A,dragging:F}]),ref:D,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:G?"visible":"hidden",...E.style,...P},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:I,onMouseMove:q,onMouseLeave:Q,onContextMenu:B,onClick:z,onDoubleClick:ee,onKeyDown:M?K:void 0,tabIndex:M?0:void 0,onFocus:M?se:void 0,role:E.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${T8}-${g}`,"aria-label":E.ariaLabel,...E.domAttributes,children:o.jsx(gae,{value:e,children:o.jsx(k,{id:e,data:E.data,type:S,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:E.selected??!1,selectable:C,draggable:A,deletable:E.deletable??!0,isConnectable:R,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:F,dragHandle:E.dragHandle,zIndex:w.z,parentId:E.parentId,...O})})})}var Lae=b.memo(Mae);const Dae=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function B8(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:s,elementsSelectable:i,onError:r}=Jt(Dae,ds),a=Iae(e.onlyRenderVisibleElements),l=Oae();return o.jsx("div",{className:"react-flow__nodes",style:X1,children:a.map(c=>o.jsx(Lae,{id:c,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:l,nodesDraggable:t,nodesConnectable:n,nodesFocusable:s,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:r},c))})}B8.displayName="NodeRenderer";const Pae=b.memo(B8);function Bae(e){return Jt(b.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const s=[];if(n.width&&n.height)for(const i of n.edges){const r=n.nodeLookup.get(i.source),a=n.nodeLookup.get(i.target);r&&a&&wie({sourceNode:r,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&s.push(i.id)}return s},[e]),ds)}const Uae=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return o.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Fae=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return o.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},FO={[rf.Arrow]:Uae,[rf.ArrowClosed]:Fae};function $ae(e){const t=fs();return b.useMemo(()=>{var i,r;return Object.prototype.hasOwnProperty.call(FO,e)?FO[e]:((r=(i=t.getState()).onError)==null||r.call(i,"009",Ea.error009(e)),null)},[e])}const Hae=({id:e,type:t,color:n,width:s=12.5,height:i=12.5,markerUnits:r="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{const c=$ae(t);return c?o.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${s}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:r,orient:l,refX:"0",refY:"0",children:o.jsx(c,{color:n,strokeWidth:a})}):null},U8=({defaultColor:e,rfId:t})=>{const n=Jt(r=>r.edges),s=Jt(r=>r.defaultEdgeOptions),i=b.useMemo(()=>Iie(n,{id:t,defaultColor:e,defaultMarkerStart:s==null?void 0:s.markerStart,defaultMarkerEnd:s==null?void 0:s.markerEnd}),[n,s,t,e]);return i.length?o.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:o.jsx("defs",{children:i.map(r=>o.jsx(Hae,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})}):null};U8.displayName="MarkerDefinitions";var zae=b.memo(U8);function F8({x:e,y:t,label:n,labelStyle:s,labelShowBg:i=!0,labelBgStyle:r,labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:c,className:u,...d}){const[f,h]=b.useState({x:1,y:0,width:0,height:0}),m=Ks(["react-flow__edge-textwrapper",u]),p=b.useRef(null);return b.useEffect(()=>{if(p.current){const g=p.current.getBBox();h({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),n?o.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:m,visibility:f.width?"visible":"hidden",...d,children:[i&&o.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:r,rx:l,ry:l}),o.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:s,children:n}),c]}):null}F8.displayName="EdgeText";const Vae=b.memo(F8);function Zp({path:e,labelX:t,labelY:n,label:s,labelStyle:i,labelShowBg:r,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return o.jsxs(o.Fragment,{children:[o.jsx("path",{...d,d:e,fill:"none",className:Ks(["react-flow__edge-path",d.className])}),u?o.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,s&&pa(t)&&pa(n)?o.jsx(Vae,{x:t,y:n,label:s,labelStyle:i,labelShowBg:r,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c}):null]})}function $O({pos:e,x1:t,y1:n,x2:s,y2:i}){return e===We.Left||e===We.Right?[.5*(t+s),n]:[t,.5*(n+i)]}function $8({sourceX:e,sourceY:t,sourcePosition:n=We.Bottom,targetX:s,targetY:i,targetPosition:r=We.Top}){const[a,l]=$O({pos:n,x1:e,y1:t,x2:s,y2:i}),[c,u]=$O({pos:r,x1:s,y1:i,x2:e,y2:t}),[d,f,h,m]=i8({sourceX:e,sourceY:t,targetX:s,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${l} ${c},${u} ${s},${i}`,d,f,h,m]}function H8(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,sourcePosition:a,targetPosition:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,interactionWidth:y})=>{const[x,E,w]=$8({sourceX:n,sourceY:s,sourcePosition:a,targetX:i,targetY:r,targetPosition:l}),T=e.isInternal?void 0:t;return o.jsx(Zp,{id:T,path:x,labelX:E,labelY:w,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,interactionWidth:y})})}const Gae=H8({isInternal:!1}),z8=H8({isInternal:!0});Gae.displayName="SimpleBezierEdge";z8.displayName="SimpleBezierEdgeInternal";function V8(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:m=We.Bottom,targetPosition:p=We.Top,markerEnd:g,markerStart:v,pathOptions:y,interactionWidth:x})=>{const[E,w,T]=Iy({sourceX:n,sourceY:s,sourcePosition:m,targetX:i,targetY:r,targetPosition:p,borderRadius:y==null?void 0:y.borderRadius,offset:y==null?void 0:y.offset,stepPosition:y==null?void 0:y.stepPosition}),S=e.isInternal?void 0:t;return o.jsx(Zp,{id:S,path:E,labelX:w,labelY:T,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:x})})}const G8=V8({isInternal:!1}),K8=V8({isInternal:!0});G8.displayName="SmoothStepEdge";K8.displayName="SmoothStepEdgeInternal";function q8(e){return b.memo(({id:t,...n})=>{var i;const s=e.isInternal?void 0:t;return o.jsx(G8,{...n,id:s,pathOptions:b.useMemo(()=>{var r;return{borderRadius:0,offset:(r=n.pathOptions)==null?void 0:r.offset}},[(i=n.pathOptions)==null?void 0:i.offset])})})}const Kae=q8({isInternal:!1}),Y8=q8({isInternal:!0});Kae.displayName="StepEdge";Y8.displayName="StepEdgeInternal";function W8(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:p,interactionWidth:g})=>{const[v,y,x]=o8({sourceX:n,sourceY:s,targetX:i,targetY:r}),E=e.isInternal?void 0:t;return o.jsx(Zp,{id:E,path:v,labelX:y,labelY:x,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:p,interactionWidth:g})})}const qae=W8({isInternal:!1}),X8=W8({isInternal:!0});qae.displayName="StraightEdge";X8.displayName="StraightEdgeInternal";function Q8(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,sourcePosition:a=We.Bottom,targetPosition:l=We.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,pathOptions:y,interactionWidth:x})=>{const[E,w,T]=r8({sourceX:n,sourceY:s,sourcePosition:a,targetX:i,targetY:r,targetPosition:l,curvature:y==null?void 0:y.curvature}),S=e.isInternal?void 0:t;return o.jsx(Zp,{id:S,path:E,labelX:w,labelY:T,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,interactionWidth:x})})}const Yae=Q8({isInternal:!1}),Z8=Q8({isInternal:!0});Yae.displayName="BezierEdge";Z8.displayName="BezierEdgeInternal";const HO={default:Z8,straight:X8,step:Y8,smoothstep:K8,simplebezier:z8},zO={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Wae=(e,t,n)=>n===We.Left?e-t:n===We.Right?e+t:e,Xae=(e,t,n)=>n===We.Top?e-t:n===We.Bottom?e+t:e,VO="react-flow__edgeupdater";function GO({position:e,centerX:t,centerY:n,radius:s=10,onMouseDown:i,onMouseEnter:r,onMouseOut:a,type:l}){return o.jsx("circle",{onMouseDown:i,onMouseEnter:r,onMouseOut:a,className:Ks([VO,`${VO}-${l}`]),cx:Wae(t,s,e),cy:Xae(n,s,e),r:s,stroke:"transparent",fill:"transparent"})}function Qae({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:s,sourceY:i,targetX:r,targetY:a,sourcePosition:l,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:m}){const p=fs(),g=(w,T)=>{if(w.button!==0)return;const{autoPanOnConnect:S,domNode:k,connectionMode:A,connectionRadius:C,lib:R,onConnectStart:M,cancelConnection:L,nodeLookup:G,rfId:D,panBy:F,updateConnection:N}=p.getState(),O=T.type==="target",P=(q,Q)=>{h(!1),f==null||f(q,n,T.type,Q)},$=q=>u==null?void 0:u(n,q),I=(q,Q)=>{h(!0),d==null||d(w,n,T.type),M==null||M(q,Q)};s_.onPointerDown(w.nativeEvent,{autoPanOnConnect:S,connectionMode:A,connectionRadius:C,domNode:k,handleId:T.id,nodeId:T.nodeId,nodeLookup:G,isTarget:O,edgeUpdaterType:T.type,lib:R,flowId:D,cancelConnection:L,panBy:F,isValidConnection:(...q)=>{var Q,B;return((B=(Q=p.getState()).isValidConnection)==null?void 0:B.call(Q,...q))??!0},onConnect:$,onConnectStart:I,onConnectEnd:(...q)=>{var Q,B;return(B=(Q=p.getState()).onConnectEnd)==null?void 0:B.call(Q,...q)},onReconnectEnd:P,updateConnection:N,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},v=w=>g(w,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),y=w=>g(w,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),x=()=>m(!0),E=()=>m(!1);return o.jsxs(o.Fragment,{children:[(e===!0||e==="source")&&o.jsx(GO,{position:l,centerX:s,centerY:i,radius:t,onMouseDown:v,onMouseEnter:x,onMouseOut:E,type:"source"}),(e===!0||e==="target")&&o.jsx(GO,{position:c,centerX:r,centerY:a,radius:t,onMouseDown:y,onMouseEnter:x,onMouseOut:E,type:"target"})]})}function Zae({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:s,onClick:i,onDoubleClick:r,onContextMenu:a,onMouseEnter:l,onMouseMove:c,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:m,rfId:p,edgeTypes:g,noPanClassName:v,onError:y,disableKeyboardA11y:x}){let E=Jt(ue=>ue.edgeLookup.get(e));const w=Jt(ue=>ue.defaultEdgeOptions);E=w?{...w,...E}:E;let T=E.type||"default",S=(g==null?void 0:g[T])||HO[T];S===void 0&&(y==null||y("011",Ea.error011(T)),T="default",S=(g==null?void 0:g.default)||HO.default);const k=!!(E.focusable||t&&typeof E.focusable>"u"),A=typeof f<"u"&&(E.reconnectable||n&&typeof E.reconnectable>"u"),C=!!(E.selectable||s&&typeof E.selectable>"u"),R=b.useRef(null),[M,L]=b.useState(!1),[G,D]=b.useState(!1),F=fs(),{zIndex:N,sourceX:O,sourceY:P,targetX:$,targetY:I,sourcePosition:q,targetPosition:Q}=Jt(b.useCallback(ue=>{const he=ue.nodeLookup.get(E.source),Re=ue.nodeLookup.get(E.target);if(!he||!Re)return{zIndex:E.zIndex,...zO};const pe=Cie({id:e,sourceNode:he,targetNode:Re,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:ue.connectionMode,onError:y});return{zIndex:vie({selected:E.selected,zIndex:E.zIndex,sourceNode:he,targetNode:Re,elevateOnSelect:ue.elevateEdgesOnSelect,zIndexMode:ue.zIndexMode}),...pe||zO}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),ds),B=b.useMemo(()=>E.markerStart?`url('#${t_(E.markerStart,p)}')`:void 0,[E.markerStart,p]),ee=b.useMemo(()=>E.markerEnd?`url('#${t_(E.markerEnd,p)}')`:void 0,[E.markerEnd,p]);if(E.hidden||O===null||P===null||$===null||I===null)return null;const z=ue=>{var oe;const{addSelectedEdges:he,unselectNodesAndEdges:Re,multiSelectionActive:pe}=F.getState();C&&(F.setState({nodesSelectionActive:!1}),E.selected&&pe?(Re({nodes:[],edges:[E]}),(oe=R.current)==null||oe.blur()):he([e])),i&&i(ue,E)},K=r?ue=>{r(ue,{...E})}:void 0,se=a?ue=>{a(ue,{...E})}:void 0,W=l?ue=>{l(ue,{...E})}:void 0,de=c?ue=>{c(ue,{...E})}:void 0,ye=u?ue=>{u(ue,{...E})}:void 0,we=ue=>{var he;if(!x&&GB.includes(ue.key)&&C){const{unselectNodesAndEdges:Re,addSelectedEdges:pe}=F.getState();ue.key==="Escape"?((he=R.current)==null||he.blur(),Re({edges:[E]})):pe([e])}};return o.jsx("svg",{style:{zIndex:N},children:o.jsxs("g",{className:Ks(["react-flow__edge",`react-flow__edge-${T}`,E.className,v,{selected:E.selected,animated:E.animated,inactive:!C&&!i,updating:M,selectable:C}]),onClick:z,onDoubleClick:K,onContextMenu:se,onMouseEnter:W,onMouseMove:de,onMouseLeave:ye,onKeyDown:k?we:void 0,tabIndex:k?0:void 0,role:E.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":k?`${N8}-${p}`:void 0,ref:R,...E.domAttributes,children:[!G&&o.jsx(S,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:C,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:O,sourceY:P,targetX:$,targetY:I,sourcePosition:q,targetPosition:Q,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:B,markerEnd:ee,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),A&&o.jsx(Qae,{edge:E,isReconnectable:A,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:m,sourceX:O,sourceY:P,targetX:$,targetY:I,sourcePosition:q,targetPosition:Q,setUpdateHover:L,setReconnecting:D})]})})}var Jae=b.memo(Zae);const eoe=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function J8({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:s,noPanClassName:i,onReconnect:r,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:m,onReconnectEnd:p,disableKeyboardA11y:g}){const{edgesFocusable:v,edgesReconnectable:y,elementsSelectable:x,onError:E}=Jt(eoe,ds),w=Bae(t);return o.jsxs("div",{className:"react-flow__edges",children:[o.jsx(zae,{defaultColor:e,rfId:n}),w.map(T=>o.jsx(Jae,{id:T,edgesFocusable:v,edgesReconnectable:y,elementsSelectable:x,noPanClassName:i,onReconnect:r,onContextMenu:a,onMouseEnter:l,onMouseMove:c,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:m,onReconnectEnd:p,rfId:n,onError:E,edgeTypes:s,disableKeyboardA11y:g},T))]})}J8.displayName="EdgeRenderer";const toe=b.memo(J8),noe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function soe({children:e}){const t=Jt(noe);return o.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function ioe(e){const t=W1(),n=b.useRef(!1);b.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const roe=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function aoe(e){const t=Jt(roe),n=fs();return b.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function ooe(e){return e.connection.inProgress?{...e.connection,to:Df(e.connection.to,e.transform)}:{...e.connection}}function loe(e){return ooe}function coe(e){const t=loe();return Jt(t,ds)}const uoe=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function doe({containerStyle:e,style:t,type:n,component:s}){const{nodesConnectable:i,width:r,height:a,isValid:l,inProgress:c}=Jt(uoe,ds);return!(r&&i&&c)?null:o.jsx("svg",{style:e,width:r,height:a,className:"react-flow__connectionline react-flow__container",children:o.jsx("g",{className:Ks(["react-flow__connection",YB(l)]),children:o.jsx(e9,{style:t,type:n,CustomComponent:s,isValid:l})})})}const e9=({style:e,type:t=bl.Bezier,CustomComponent:n,isValid:s})=>{const{inProgress:i,from:r,fromNode:a,fromHandle:l,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h,pointer:m}=coe();if(!i)return;if(n)return o.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:l,fromX:r.x,fromY:r.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:YB(s),toNode:d,toHandle:f,pointer:m});let p="";const g={sourceX:r.x,sourceY:r.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case bl.Bezier:[p]=r8(g);break;case bl.SimpleBezier:[p]=$8(g);break;case bl.Step:[p]=Iy({...g,borderRadius:0});break;case bl.SmoothStep:[p]=Iy(g);break;default:[p]=o8(g)}return o.jsx("path",{d:p,fill:"none",className:"react-flow__connection-path",style:e})};e9.displayName="ConnectionLine";const foe={};function KO(e=foe){b.useRef(e),fs(),b.useEffect(()=>{},[e])}function hoe(){fs(),b.useRef(!1),b.useEffect(()=>{},[])}function t9({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:s,onEdgeClick:i,onNodeDoubleClick:r,onEdgeDoubleClick:a,onNodeMouseEnter:l,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:m,connectionLineType:p,connectionLineStyle:g,connectionLineComponent:v,connectionLineContainerStyle:y,selectionKeyCode:x,selectionOnDrag:E,selectionMode:w,multiSelectionKeyCode:T,panActivationKeyCode:S,zoomActivationKeyCode:k,deleteKeyCode:A,onlyRenderVisibleElements:C,elementsSelectable:R,defaultViewport:M,translateExtent:L,minZoom:G,maxZoom:D,preventScrolling:F,defaultMarkerColor:N,zoomOnScroll:O,zoomOnPinch:P,panOnScroll:$,panOnScrollSpeed:I,panOnScrollMode:q,zoomOnDoubleClick:Q,panOnDrag:B,autoPanOnSelection:ee,onPaneClick:z,onPaneMouseEnter:K,onPaneMouseMove:se,onPaneMouseLeave:W,onPaneScroll:de,onPaneContextMenu:ye,paneClickDistance:we,nodeClickDistance:ue,onEdgeContextMenu:he,onEdgeMouseEnter:Re,onEdgeMouseMove:pe,onEdgeMouseLeave:oe,reconnectRadius:Te,onReconnect:xe,onReconnectStart:Xe,onReconnectEnd:Me,noDragClassName:ze,noWheelClassName:_e,noPanClassName:Pe,disableKeyboardA11y:Fe,nodeExtent:Ke,rfId:X,viewport:ae,onViewportChange:te}){return KO(e),KO(t),hoe(),ioe(n),aoe(ae),o.jsx(Aae,{onPaneClick:z,onPaneMouseEnter:K,onPaneMouseMove:se,onPaneMouseLeave:W,onPaneContextMenu:ye,onPaneScroll:de,paneClickDistance:we,deleteKeyCode:A,selectionKeyCode:x,selectionOnDrag:E,selectionMode:w,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:T,panActivationKeyCode:S,zoomActivationKeyCode:k,elementsSelectable:R,zoomOnScroll:O,zoomOnPinch:P,zoomOnDoubleClick:Q,panOnScroll:$,panOnScrollSpeed:I,panOnScrollMode:q,panOnDrag:B,autoPanOnSelection:ee,defaultViewport:M,translateExtent:L,minZoom:G,maxZoom:D,onSelectionContextMenu:f,preventScrolling:F,noDragClassName:ze,noWheelClassName:_e,noPanClassName:Pe,disableKeyboardA11y:Fe,onViewportChange:te,isControlledViewport:!!ae,children:o.jsxs(soe,{children:[o.jsx(toe,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:a,onReconnect:xe,onReconnectStart:Xe,onReconnectEnd:Me,onlyRenderVisibleElements:C,onEdgeContextMenu:he,onEdgeMouseEnter:Re,onEdgeMouseMove:pe,onEdgeMouseLeave:oe,reconnectRadius:Te,defaultMarkerColor:N,noPanClassName:Pe,disableKeyboardA11y:Fe,rfId:X}),o.jsx(doe,{style:g,type:p,component:v,containerStyle:y}),o.jsx("div",{className:"react-flow__edgelabel-renderer"}),o.jsx(Pae,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:r,onNodeMouseEnter:l,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:ue,onlyRenderVisibleElements:C,noPanClassName:Pe,noDragClassName:ze,disableKeyboardA11y:Fe,nodeExtent:Ke,rfId:X}),o.jsx("div",{className:"react-flow__viewport-portal"})]})})}t9.displayName="GraphView";const moe=b.memo(t9),poe=JB(),qO=({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,width:i,height:r,fitView:a,fitViewOptions:l,minZoom:c=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const m=new Map,p=new Map,g=new Map,v=new Map,y=s??t??[],x=n??e??[],E=d??[0,0],w=f??dp;u8(g,v,y);const{nodesInitialized:T}=n_(x,m,p,{nodeOrigin:E,nodeExtent:w,zIndexMode:h});let S=[0,0,1];if(a&&i&&r){const k=Xp(m,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:A,y:C,zoom:R}=Tk(k,i,r,c,u,(l==null?void 0:l.padding)??.1);S=[A,C,R]}return{rfId:"1",width:i??0,height:r??0,transform:S,nodes:x,nodesInitialized:T,nodeLookup:m,parentLookup:p,edges:y,edgeLookup:v,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:s!==void 0,panZoom:null,minZoom:c,maxZoom:u,translateExtent:dp,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:sf.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,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:l,fitViewResolver:null,connection:{...qB},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:poe,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:KB,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},goe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,width:i,height:r,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>Ore((m,p)=>{async function g(){const{nodeLookup:v,panZoom:y,fitViewOptions:x,fitViewResolver:E,width:w,height:T,minZoom:S,maxZoom:k}=p();y&&(await mie({nodes:v,width:w,height:T,panZoom:y,minZoom:S,maxZoom:k},x),E==null||E.resolve(!0),m({fitViewResolver:null}))}return{...qO({nodes:e,edges:t,width:i,height:r,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:s,zIndexMode:h}),setNodes:v=>{const{nodeLookup:y,parentLookup:x,nodeOrigin:E,elevateNodesOnSelect:w,fitViewQueued:T,zIndexMode:S,nodesSelectionActive:k}=p(),{nodesInitialized:A,hasSelectedNodes:C}=n_(v,y,x,{nodeOrigin:E,nodeExtent:f,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:S}),R=k&&C;T&&A?(g(),m({nodes:v,nodesInitialized:A,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:R})):m({nodes:v,nodesInitialized:A,nodesSelectionActive:R})},setEdges:v=>{const{connectionLookup:y,edgeLookup:x}=p();u8(y,x,v),m({edges:v})},setDefaultNodesAndEdges:(v,y)=>{if(v){const{setNodes:x}=p();x(v),m({hasDefaultNodes:!0})}if(y){const{setEdges:x}=p();x(y),m({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const{triggerNodeChanges:y,nodeLookup:x,parentLookup:E,domNode:w,nodeOrigin:T,nodeExtent:S,debug:k,fitViewQueued:A,zIndexMode:C}=p(),{changes:R,updatedInternals:M}=Pie(v,x,E,w,T,S,C);M&&(jie(x,E,{nodeOrigin:T,nodeExtent:S,zIndexMode:C}),A?(g(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),(R==null?void 0:R.length)>0&&(k&&console.log("React Flow: trigger node changes",R),y==null||y(R)))},updateNodePositions:(v,y=!1)=>{const x=[];let E=[];const{nodeLookup:w,triggerNodeChanges:T,connection:S,updateConnection:k,onNodesChangeMiddlewareMap:A}=p();for(const[C,R]of v){const M=w.get(C),L=!!(M!=null&&M.expandParent&&(M!=null&&M.parentId)&&(R!=null&&R.position)),G={id:C,type:"position",position:L?{x:Math.max(0,R.position.x),y:Math.max(0,R.position.y)}:R.position,dragging:y};if(M&&S.inProgress&&S.fromNode.id===M.id){const D=Yc(M,S.fromHandle,We.Left,!0);k({...S,from:D})}L&&M.parentId&&x.push({id:C,parentId:M.parentId,rect:{...R.internals.positionAbsolute,width:R.measured.width??0,height:R.measured.height??0}}),E.push(G)}if(x.length>0){const{parentLookup:C,nodeOrigin:R}=p(),M=Ok(x,w,C,R);E.push(...M)}for(const C of A.values())E=C(E);T(E)},triggerNodeChanges:v=>{const{onNodesChange:y,setNodes:x,nodes:E,hasDefaultNodes:w,debug:T}=p();if(v!=null&&v.length){if(w){const S=C8(v,E);x(S)}T&&console.log("React Flow: trigger node changes",v),y==null||y(v)}},triggerEdgeChanges:v=>{const{onEdgesChange:y,setEdges:x,edges:E,hasDefaultEdges:w,debug:T}=p();if(v!=null&&v.length){if(w){const S=I8(v,E);x(S)}T&&console.log("React Flow: trigger edge changes",v),y==null||y(v)}},addSelectedNodes:v=>{const{multiSelectionActive:y,edgeLookup:x,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:T}=p();if(y){const S=v.map(k=>pc(k,!0));w(S);return}w(md(E,new Set([...v]),!0)),T(md(x))},addSelectedEdges:v=>{const{multiSelectionActive:y,edgeLookup:x,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:T}=p();if(y){const S=v.map(k=>pc(k,!0));T(S);return}T(md(x,new Set([...v]))),w(md(E,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:y}={})=>{const{edges:x,nodes:E,nodeLookup:w,triggerNodeChanges:T,triggerEdgeChanges:S}=p(),k=v||E,A=y||x,C=[];for(const M of k){if(!M.selected)continue;const L=w.get(M.id);L&&(L.selected=!1),C.push(pc(M.id,!1))}const R=[];for(const M of A)M.selected&&R.push(pc(M.id,!1));T(C),S(R)},setMinZoom:v=>{const{panZoom:y,maxZoom:x}=p();y==null||y.setScaleExtent([v,x]),m({minZoom:v})},setMaxZoom:v=>{const{panZoom:y,minZoom:x}=p();y==null||y.setScaleExtent([x,v]),m({maxZoom:v})},setTranslateExtent:v=>{var y;(y=p().panZoom)==null||y.setTranslateExtent(v),m({translateExtent:v})},resetSelectedElements:()=>{const{edges:v,nodes:y,triggerNodeChanges:x,triggerEdgeChanges:E,elementsSelectable:w}=p();if(!w)return;const T=y.reduce((k,A)=>A.selected?[...k,pc(A.id,!1)]:k,[]),S=v.reduce((k,A)=>A.selected?[...k,pc(A.id,!1)]:k,[]);x(T),E(S)},setNodeExtent:v=>{const{nodes:y,nodeLookup:x,parentLookup:E,nodeOrigin:w,elevateNodesOnSelect:T,nodeExtent:S,zIndexMode:k}=p();v[0][0]===S[0][0]&&v[0][1]===S[0][1]&&v[1][0]===S[1][0]&&v[1][1]===S[1][1]||(n_(y,x,E,{nodeOrigin:w,nodeExtent:v,elevateNodesOnSelect:T,checkEquality:!1,zIndexMode:k}),m({nodeExtent:v}))},panBy:v=>{const{transform:y,width:x,height:E,panZoom:w,translateExtent:T}=p();return Bie({delta:v,panZoom:w,transform:y,translateExtent:T,width:x,height:E})},setCenter:async(v,y,x)=>{const{width:E,height:w,maxZoom:T,panZoom:S}=p();if(!S)return!1;const k=typeof(x==null?void 0:x.zoom)<"u"?x.zoom:T;return await S.setViewport({x:E/2-v*k,y:w/2-y*k,zoom:k},{duration:x==null?void 0:x.duration,ease:x==null?void 0:x.ease,interpolate:x==null?void 0:x.interpolate}),!0},cancelConnection:()=>{m({connection:{...qB}})},updateConnection:v=>{m({connection:v})},reset:()=>m({...qO()})}},Object.is);function Mk({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:s,initialWidth:i,initialHeight:r,initialMinZoom:a,initialMaxZoom:l,initialFitViewOptions:c,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:m}){const[p]=b.useState(()=>goe({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,width:i,height:r,fitView:u,minZoom:a,maxZoom:l,fitViewOptions:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return o.jsx(jre,{value:p,children:o.jsx(sae,{children:m})})}function boe({children:e,nodes:t,edges:n,defaultNodes:s,defaultEdges:i,width:r,height:a,fitView:l,fitViewOptions:c,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:m}){return b.useContext(q1)?o.jsx(o.Fragment,{children:e}):o.jsx(Mk,{initialNodes:t,initialEdges:n,defaultNodes:s,defaultEdges:i,initialWidth:r,initialHeight:a,fitView:l,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:m,children:e})}const yoe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function xoe({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,className:i,nodeTypes:r,edgeTypes:a,onNodeClick:l,onEdgeClick:c,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:m,onConnectStart:p,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:y,onNodeMouseEnter:x,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:T,onNodeDoubleClick:S,onNodeDragStart:k,onNodeDrag:A,onNodeDragStop:C,onNodesDelete:R,onEdgesDelete:M,onDelete:L,onSelectionChange:G,onSelectionDragStart:D,onSelectionDrag:F,onSelectionDragStop:N,onSelectionContextMenu:O,onSelectionStart:P,onSelectionEnd:$,onBeforeDelete:I,connectionMode:q,connectionLineType:Q=bl.Bezier,connectionLineStyle:B,connectionLineComponent:ee,connectionLineContainerStyle:z,deleteKeyCode:K="Backspace",selectionKeyCode:se="Shift",selectionOnDrag:W=!1,selectionMode:de=fp.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:we=mp()?"Meta":"Control",zoomActivationKeyCode:ue=mp()?"Meta":"Control",snapToGrid:he,snapGrid:Re,onlyRenderVisibleElements:pe=!1,selectNodesOnDrag:oe,nodesDraggable:Te,autoPanOnNodeFocus:xe,nodesConnectable:Xe,nodesFocusable:Me,nodeOrigin:ze=k8,edgesFocusable:_e,edgesReconnectable:Pe,elementsSelectable:Fe=!0,defaultViewport:Ke=Kre,minZoom:X=.5,maxZoom:ae=2,translateExtent:te=dp,preventScrolling:ge=!0,nodeExtent:Ue,defaultMarkerColor:Ye="#b1b1b7",zoomOnScroll:xt=!0,zoomOnPinch:at=!0,panOnScroll:fn=!1,panOnScrollSpeed:vt=.5,panOnScrollMode:it=Mc.Free,zoomOnDoubleClick:Ht=!0,panOnDrag:qe=!0,onPaneClick:zt,onPaneMouseEnter:st,onPaneMouseMove:St,onPaneMouseLeave:$e,onPaneScroll:Tt,onPaneContextMenu:Ee,paneClickDistance:Qe=1,nodeClickDistance:kt=0,children:nn,onReconnect:Kt,onReconnectStart:Xt,onReconnectEnd:Vt,onEdgeContextMenu:Qt,onEdgeDoubleClick:Rt,onEdgeMouseEnter:Bt,onEdgeMouseMove:qn,onEdgeMouseLeave:qs,reconnectRadius:Ys=10,onNodesChange:Un,onEdgesChange:Fn,noDragClassName:rn="nodrag",noWheelClassName:Sn="nowheel",noPanClassName:hs="nopan",fitView:js,fitViewOptions:vi,connectOnClick:is,attributionPosition:ms,proOptions:Rn,defaultEdgeOptions:$n,elevateNodesOnSelect:un=!0,elevateEdgesOnSelect:me=!1,disableKeyboardA11y:De=!1,autoPanOnConnect:Ae,autoPanOnNodeDrag:Je,autoPanOnSelection:ut=!0,autoPanSpeed:pt,connectionRadius:Ot,isValidConnection:jt,onError:bt,style:_n,id:Le,nodeDragThreshold:ot,connectionDragThreshold:dt,viewport:On,onViewportChange:bn,width:Ki,height:ps,colorMode:ur="light",debug:ji,onScroll:Yn,ariaLabelConfig:Ms,zIndexMode:Go="basic",...Mi},ie){const Ut=Le||"1",Tn=Xre(ur),jn=b.useCallback(Ft=>{Ft.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Yn==null||Yn(Ft)},[Yn]);return o.jsx("div",{"data-testid":"rf__wrapper",...Mi,onScroll:jn,style:{..._n,...yoe},ref:ie,className:Ks(["react-flow",i,Tn]),id:Le,role:"application",children:o.jsxs(boe,{nodes:e,edges:t,width:Ki,height:ps,fitView:js,fitViewOptions:vi,minZoom:X,maxZoom:ae,nodeOrigin:ze,nodeExtent:Ue,zIndexMode:Go,children:[o.jsx(Wre,{nodes:e,edges:t,defaultNodes:n,defaultEdges:s,onConnect:m,onConnectStart:p,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:y,nodesDraggable:Te,autoPanOnNodeFocus:xe,nodesConnectable:Xe,nodesFocusable:Me,edgesFocusable:_e,edgesReconnectable:Pe,elementsSelectable:Fe,elevateNodesOnSelect:un,elevateEdgesOnSelect:me,minZoom:X,maxZoom:ae,nodeExtent:Ue,onNodesChange:Un,onEdgesChange:Fn,snapToGrid:he,snapGrid:Re,connectionMode:q,translateExtent:te,connectOnClick:is,defaultEdgeOptions:$n,fitView:js,fitViewOptions:vi,onNodesDelete:R,onEdgesDelete:M,onDelete:L,onNodeDragStart:k,onNodeDrag:A,onNodeDragStop:C,onSelectionDrag:F,onSelectionDragStart:D,onSelectionDragStop:N,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:hs,nodeOrigin:ze,rfId:Ut,autoPanOnConnect:Ae,autoPanOnNodeDrag:Je,autoPanSpeed:pt,onError:bt,connectionRadius:Ot,isValidConnection:jt,selectNodesOnDrag:oe,nodeDragThreshold:ot,connectionDragThreshold:dt,onBeforeDelete:I,debug:ji,ariaLabelConfig:Ms,zIndexMode:Go}),o.jsx(moe,{onInit:u,onNodeClick:l,onEdgeClick:c,onNodeMouseEnter:x,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:T,onNodeDoubleClick:S,nodeTypes:r,edgeTypes:a,connectionLineType:Q,connectionLineStyle:B,connectionLineComponent:ee,connectionLineContainerStyle:z,selectionKeyCode:se,selectionOnDrag:W,selectionMode:de,deleteKeyCode:K,multiSelectionKeyCode:we,panActivationKeyCode:ye,zoomActivationKeyCode:ue,onlyRenderVisibleElements:pe,defaultViewport:Ke,translateExtent:te,minZoom:X,maxZoom:ae,preventScrolling:ge,zoomOnScroll:xt,zoomOnPinch:at,zoomOnDoubleClick:Ht,panOnScroll:fn,panOnScrollSpeed:vt,panOnScrollMode:it,panOnDrag:qe,autoPanOnSelection:ut,onPaneClick:zt,onPaneMouseEnter:st,onPaneMouseMove:St,onPaneMouseLeave:$e,onPaneScroll:Tt,onPaneContextMenu:Ee,paneClickDistance:Qe,nodeClickDistance:kt,onSelectionContextMenu:O,onSelectionStart:P,onSelectionEnd:$,onReconnect:Kt,onReconnectStart:Xt,onReconnectEnd:Vt,onEdgeContextMenu:Qt,onEdgeDoubleClick:Rt,onEdgeMouseEnter:Bt,onEdgeMouseMove:qn,onEdgeMouseLeave:qs,reconnectRadius:Ys,defaultMarkerColor:Ye,noDragClassName:rn,noWheelClassName:Sn,noPanClassName:hs,rfId:Ut,disableKeyboardA11y:De,nodeExtent:Ue,viewport:On,onViewportChange:bn}),o.jsx(Gre,{onSelectionChange:G}),nn,o.jsx(Fre,{proOptions:Rn,position:ms}),o.jsx(Ure,{rfId:Ut,disableKeyboardA11y:De})]})})}var n9=O8(xoe);const Eoe=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function voe({children:e}){const t=Jt(Eoe);return t?xi.createPortal(e,t):null}function s9(e){const[t,n]=b.useState(e),s=b.useCallback(i=>n(r=>C8(i,r)),[]);return[t,n,s]}function i9(e){const[t,n]=b.useState(e),s=b.useCallback(i=>n(r=>I8(i,r)),[]);return[t,n,s]}const woe=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||!Nk(n.userNode))return!1;return!0};function Soe(e={includeHiddenNodes:!1}){return Jt(woe(e))}function _oe({dimensions:e,lineWidth:t,variant:n,className:s}){return o.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Ks(["react-flow__background-pattern",n,s])})}function Toe({radius:e,className:t}){return o.jsx("circle",{cx:e,cy:e,r:e,className:Ks(["react-flow__background-pattern","dots",t])})}var Ll;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ll||(Ll={}));const Noe={[Ll.Dots]:1,[Ll.Lines]:1,[Ll.Cross]:6},koe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function r9({id:e,variant:t=Ll.Dots,gap:n=20,size:s,lineWidth:i=1,offset:r=0,color:a,bgColor:l,style:c,className:u,patternClassName:d}){const f=b.useRef(null),{transform:h,patternId:m}=Jt(koe,ds),p=s||Noe[t],g=t===Ll.Dots,v=t===Ll.Cross,y=Array.isArray(n)?n:[n,n],x=[y[0]*h[2]||1,y[1]*h[2]||1],E=p*h[2],w=Array.isArray(r)?r:[r,r],T=v?[E,E]:x,S=[w[0]*h[2]||1+T[0]/2,w[1]*h[2]||1+T[1]/2],k=`${m}${e||""}`;return o.jsxs("svg",{className:Ks(["react-flow__background",u]),style:{...c,...X1,"--xy-background-color-props":l,"--xy-background-pattern-color-props":a},ref:f,"data-testid":"rf__background",children:[o.jsx("pattern",{id:k,x:h[0]%x[0],y:h[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`,children:g?o.jsx(Toe,{radius:E/2,className:d}):o.jsx(_oe,{dimensions:T,lineWidth:i,variant:t,className:d})}),o.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}r9.displayName="Background";const a9=b.memo(r9);function Aoe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:o.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Coe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:o.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Ioe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:o.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 Roe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:o.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 Ooe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:o.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 b0({children:e,className:t,...n}){return o.jsx("button",{type:"button",className:Ks(["react-flow__controls-button",t]),...n,children:e})}const joe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function o9({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:s=!0,fitViewOptions:i,onZoomIn:r,onZoomOut:a,onFitView:l,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":m}){const p=fs(),{isInteractive:g,minZoomReached:v,maxZoomReached:y,ariaLabelConfig:x}=Jt(joe,ds),{zoomIn:E,zoomOut:w,fitView:T}=W1(),S=()=>{E(),r==null||r()},k=()=>{w(),a==null||a()},A=()=>{T(i),l==null||l()},C=()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),c==null||c(!g)},R=h==="horizontal"?"horizontal":"vertical";return o.jsxs(Y1,{className:Ks(["react-flow__controls",R,u]),position:f,style:e,"data-testid":"rf__controls","aria-label":m??x["controls.ariaLabel"],children:[t&&o.jsxs(o.Fragment,{children:[o.jsx(b0,{onClick:S,className:"react-flow__controls-zoomin",title:x["controls.zoomIn.ariaLabel"],"aria-label":x["controls.zoomIn.ariaLabel"],disabled:y,children:o.jsx(Aoe,{})}),o.jsx(b0,{onClick:k,className:"react-flow__controls-zoomout",title:x["controls.zoomOut.ariaLabel"],"aria-label":x["controls.zoomOut.ariaLabel"],disabled:v,children:o.jsx(Coe,{})})]}),n&&o.jsx(b0,{className:"react-flow__controls-fitview",onClick:A,title:x["controls.fitView.ariaLabel"],"aria-label":x["controls.fitView.ariaLabel"],children:o.jsx(Ioe,{})}),s&&o.jsx(b0,{className:"react-flow__controls-interactive",onClick:C,title:x["controls.interactive.ariaLabel"],"aria-label":x["controls.interactive.ariaLabel"],children:g?o.jsx(Ooe,{}):o.jsx(Roe,{})}),d]})}o9.displayName="Controls";const l9=b.memo(o9);function Moe({id:e,x:t,y:n,width:s,height:i,style:r,color:a,strokeColor:l,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:m}){const{background:p,backgroundColor:g}=r||{},v=a||p||g;return o.jsx("rect",{className:Ks(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:s,height:i,style:{fill:v,stroke:l,strokeWidth:c},shapeRendering:f,onClick:m?y=>m(y,e):void 0})}const Loe=b.memo(Moe),Doe=e=>e.nodes.map(t=>t.id),pv=e=>e instanceof Function?e:()=>e;function Poe({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:s=5,nodeStrokeWidth:i,nodeComponent:r=Loe,onClick:a}){const l=Jt(Doe,ds),c=pv(t),u=pv(e),d=pv(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return o.jsx(o.Fragment,{children:l.map(h=>o.jsx(Uoe,{id:h,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:s,nodeStrokeWidth:i,NodeComponent:r,onClick:a,shapeRendering:f},h))})}function Boe({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:s,nodeBorderRadius:i,nodeStrokeWidth:r,shapeRendering:a,NodeComponent:l,onClick:c}){const{node:u,x:d,y:f,width:h,height:m}=Jt(p=>{const g=p.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const v=g.internals.userNode,{x:y,y:x}=g.internals.positionAbsolute,{width:E,height:w}=zo(v);return{node:v,x:y,y:x,width:E,height:w}},ds);return!u||u.hidden||!Nk(u)?null:o.jsx(l,{x:d,y:f,width:h,height:m,style:u.style,selected:!!u.selected,className:s(u),color:t(u),borderRadius:i,strokeColor:n(u),strokeWidth:r,shapeRendering:a,onClick:c,id:u.id})}const Uoe=b.memo(Boe);var Foe=b.memo(Poe);const $oe=200,Hoe=150,zoe=e=>!e.hidden,Voe=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?ZB(Xp(e.nodeLookup,{filter:zoe}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Goe="react-flow__minimap-desc";function c9({style:e,className:t,nodeStrokeColor:n,nodeColor:s,nodeClassName:i="",nodeBorderRadius:r=5,nodeStrokeWidth:a,nodeComponent:l,bgColor:c,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:m,onNodeClick:p,pannable:g=!1,zoomable:v=!1,ariaLabel:y,inversePan:x,zoomStep:E=1,offsetScale:w=5}){const T=fs(),S=b.useRef(null),{boundingRect:k,viewBB:A,rfId:C,panZoom:R,translateExtent:M,flowWidth:L,flowHeight:G,ariaLabelConfig:D}=Jt(Voe,ds),F=(e==null?void 0:e.width)??$oe,N=(e==null?void 0:e.height)??Hoe,O=k.width/F,P=k.height/N,$=Math.max(O,P),I=$*F,q=$*N,Q=w*$,B=k.x-(I-k.width)/2-Q,ee=k.y-(q-k.height)/2-Q,z=I+Q*2,K=q+Q*2,se=`${Goe}-${C}`,W=b.useRef(0),de=b.useRef();W.current=$,b.useEffect(()=>{if(S.current&&R)return de.current=qie({domNode:S.current,panZoom:R,getTransform:()=>T.getState().transform,getViewScale:()=>W.current}),()=>{var he;(he=de.current)==null||he.destroy()}},[R]),b.useEffect(()=>{var he;(he=de.current)==null||he.update({translateExtent:M,width:L,height:G,inversePan:x,pannable:g,zoomStep:E,zoomable:v})},[g,v,x,E,M,L,G]);const ye=m?he=>{var oe;const[Re,pe]=((oe=de.current)==null?void 0:oe.pointer(he))||[0,0];m(he,{x:Re,y:pe})}:void 0,we=p?b.useCallback((he,Re)=>{const pe=T.getState().nodeLookup.get(Re).internals.userNode;p(he,pe)},[]):void 0,ue=y??D["minimap.ariaLabel"];return o.jsx(Y1,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof c=="string"?c: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 s=="string"?s: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:Ks(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:o.jsxs("svg",{width:F,height:N,viewBox:`${B} ${ee} ${z} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":se,ref:S,onClick:ye,children:[ue&&o.jsx("title",{id:se,children:ue}),o.jsx(Foe,{onClick:we,nodeColor:s,nodeStrokeColor:n,nodeBorderRadius:r,nodeClassName:i,nodeStrokeWidth:a,nodeComponent:l}),o.jsx("path",{className:"react-flow__minimap-mask",d:`M${B-Q},${ee-Q}h${z+Q*2}v${K+Q*2}h${-z-Q*2}z - M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}c9.displayName="MiniMap";const Koe=b.memo(c9),qoe=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Yoe={[cf.Line]:"right",[cf.Handle]:"bottom-right"};function Woe({nodeId:e,position:t,variant:n=cf.Handle,className:s,style:i=void 0,children:r,color:a,minWidth:l=10,minHeight:c=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:m=!0,shouldResize:p,onResizeStart:g,onResize:v,onResizeEnd:y}){const x=D8(),E=typeof e=="string"?e:x,w=fs(),T=b.useRef(null),S=n===cf.Handle,k=Jt(b.useCallback(qoe(S&&m),[S,m]),ds),A=b.useRef(null),C=t??Yoe[n];b.useEffect(()=>{if(!(!T.current||!E))return A.current||(A.current=are({domNode:T.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:M,transform:L,snapGrid:G,snapToGrid:D,nodeOrigin:F,domNode:N}=w.getState();return{nodeLookup:M,transform:L,snapGrid:G,snapToGrid:D,nodeOrigin:F,paneDomNode:N}},onChange:(M,L)=>{const{triggerNodeChanges:G,nodeLookup:D,parentLookup:F,nodeOrigin:N}=w.getState(),O=[],P={x:M.x,y:M.y},$=D.get(E);if($&&$.expandParent&&$.parentId){const I=$.origin??N,q=M.width??$.measured.width??0,Q=M.height??$.measured.height??0,B={id:$.id,parentId:$.parentId,rect:{width:q,height:Q,...e8({x:M.x??$.position.x,y:M.y??$.position.y},{width:q,height:Q},$.parentId,D,I)}},ee=Ok([B],D,F,N);O.push(...ee),P.x=M.x?Math.max(I[0]*q,M.x):void 0,P.y=M.y?Math.max(I[1]*Q,M.y):void 0}if(P.x!==void 0&&P.y!==void 0){const I={id:E,type:"position",position:{...P}};O.push(I)}if(M.width!==void 0&&M.height!==void 0){const q={id:E,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};O.push(q)}for(const I of L){const q={...I,type:"position"};O.push(q)}G(O)},onEnd:({width:M,height:L})=>{const G={id:E,type:"dimensions",resizing:!1,dimensions:{width:M,height:L}};w.getState().triggerNodeChanges([G])}})),A.current.update({controlPosition:C,boundaries:{minWidth:l,minHeight:c,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:v,onResizeEnd:y,shouldResize:p}),()=>{var M;(M=A.current)==null||M.destroy()}},[C,l,c,u,d,f,g,v,y,p]);const R=C.split("-");return o.jsx("div",{className:Ks(["react-flow__resize-control","nodrag",...R,n,s]),ref:T,style:{...i,scale:k,...a&&{[S?"backgroundColor":"borderColor"]:a}},children:r})}b.memo(Woe);var u9=Object.defineProperty,Xoe=(e,t,n)=>t in e?u9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qoe=(e,t)=>{for(var n in t)u9(e,n,{get:t[n],enumerable:!0})},Zoe=(e,t,n)=>Xoe(e,t+"",n),d9={};Qoe(d9,{Graph:()=>ea,alg:()=>Lk,json:()=>h9,version:()=>tle});var Joe=Object.defineProperty,f9=(e,t)=>{for(var n in t)Joe(e,n,{get:t[n],enumerable:!0})},ea=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(s=>{n!==void 0?this.setNode(s,n):this.setNode(s)}),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=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(s=>{this.setParent(s)}),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 s=n;s!==void 0;s=this.parent(s))if(s===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 s=new Set(n);for(let i of this.successors(t))s.add(i);return Array.from(s.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(([r,a])=>{t(r)&&n.setNode(r,a)}),Object.values(this._edgeObjs).forEach(r=>{n.hasNode(r.v)&&n.hasNode(r.w)&&n.setEdge(r,this.edge(r))});let s={},i=r=>{let a=this.parent(r);return!a||n.hasNode(a)?(s[r]=a??void 0,a??void 0):a in s?s[a]:i(a)};return this._isCompound&&n.nodes().forEach(r=>n.setParent(r,i(r))),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((s,i)=>(n!==void 0?this.setEdge(s,i,n):this.setEdge(s,i),i)),this}setEdge(t,n,s,i){let r,a,l,c,u=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,a=t.w,l=t.name,arguments.length===2&&(c=n,u=!0)):(r=t,a=n,l=i,arguments.length>2&&(c=s,u=!0)),r=""+r,a=""+a,l!==void 0&&(l=""+l);let d=Wh(this._isDirected,r,a,l);if(d in this._edgeLabels)return u&&(this._edgeLabels[d]=c),this;if(l!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(a),this._edgeLabels[d]=u?c:this._defaultEdgeLabelFn(r,a,l);let f=ele(this._isDirected,r,a,l);return r=f.v,a=f.w,Object.freeze(f),this._edgeObjs[d]=f,YO(this._preds[a],r),YO(this._sucs[r],a),this._in[a][d]=f,this._out[r][d]=f,this._edgeCount++,this}edge(t,n,s){let i=arguments.length===1?gv(this._isDirected,t):Wh(this._isDirected,t,n,s);return this._edgeLabels[i]}edgeAsObj(t,n,s){let i=arguments.length===1?this.edge(t):this.edge(t,n,s);return typeof i!="object"?{label:i}:i}hasEdge(t,n,s){return(arguments.length===1?gv(this._isDirected,t):Wh(this._isDirected,t,n,s))in this._edgeLabels}removeEdge(t,n,s){let i=arguments.length===1?gv(this._isDirected,t):Wh(this._isDirected,t,n,s),r=this._edgeObjs[i];if(r){let a=r.v,l=r.w;delete this._edgeLabels[i],delete this._edgeObjs[i],WO(this._preds[l],a),WO(this._sucs[a],l),delete this._in[l][i],delete this._out[a][i],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,s){if(!t)return;let i=Object.values(t);return s?i.filter(r=>r.v===n&&r.w===s||r.v===s&&r.w===n):i}};function YO(e,t){e[t]?e[t]++:e[t]=1}function WO(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function Wh(e,t,n,s){let i=""+t,r=""+n;if(!e&&i>r){let a=i;i=r,r=a}return i+""+r+""+(s===void 0?"\0":s)}function ele(e,t,n,s){let i=""+t,r=""+n;if(!e&&i>r){let l=i;i=r,r=l}let a={v:i,w:r};return s&&(a.name=s),a}function gv(e,t){return Wh(e,t.v,t.w,t.name)}var tle="4.0.1",h9={};f9(h9,{read:()=>rle,write:()=>nle});function nle(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:sle(e),edges:ile(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function sle(e){return e.nodes().map(t=>{let n=e.node(t),s=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),s!==void 0&&(i.parent=s),i})}function ile(e){return e.edges().map(t=>{let n=e.edge(t),s={v:t.v,w:t.w};return t.name!==void 0&&(s.name=t.name),n!==void 0&&(s.value=n),s})}function rle(e){let t=new ea(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 Lk={};f9(Lk,{CycleException:()=>jy,bellmanFord:()=>m9,components:()=>lle,dijkstra:()=>Oy,dijkstraAll:()=>dle,findCycles:()=>fle,floydWarshall:()=>mle,isAcyclic:()=>gle,postorder:()=>yle,preorder:()=>xle,prim:()=>Ele,shortestPaths:()=>vle,tarjan:()=>g9,topsort:()=>b9});var ale=()=>1;function m9(e,t,n,s){return ole(e,String(t),n||ale,s||function(i){return e.outEdges(i)})}function ole(e,t,n,s){let i={},r,a=0,l=e.nodes(),c=function(f){let h=n(f);i[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,s=String(e);if(!(s in n)){let i=this._arr,r=i.length;return n[s]=r,i.push({key:s,priority:t}),this._decrease(r),!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 s=this._arr[n].priority;if(t>s)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${s} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,s=n+1,i=e;n>1,!(t[s].priority1;function Oy(e,t,n,s){let i=function(r){return e.outEdges(r)};return ule(e,String(t),n||cle,s||i)}function ule(e,t,n,s){let i={},r=new p9,a,l,c=function(u){let d=u.v!==a?u.v:u.w,f=i[d],h=n(u),m=l.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);m0&&(a=r.removeMin(),l=i[a],l.distance!==Number.POSITIVE_INFINITY);)s(a).forEach(c);return i}function dle(e,t,n){return e.nodes().reduce(function(s,i){return s[i]=Oy(e,i,t,n),s},{})}function g9(e){let t=0,n=[],s={},i=[];function r(a){let l=s[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(c){c in s?s[c].onStack&&(l.lowlink=Math.min(l.lowlink,s[c].index)):(r(c),l.lowlink=Math.min(l.lowlink,s[c].lowlink))}),l.lowlink===l.index){let c=[],u;do u=n.pop(),s[u].onStack=!1,c.push(u);while(a!==u);i.push(c)}}return e.nodes().forEach(function(a){a in s||r(a)}),i}function fle(e){return g9(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var hle=()=>1;function mle(e,t,n){return ple(e,t||hle,n||function(s){return e.outEdges(s)})}function ple(e,t,n){let s={},i=e.nodes();return i.forEach(function(r){s[r]={},s[r][r]={distance:0,predecessor:""},i.forEach(function(a){r!==a&&(s[r][a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(r).forEach(function(a){let l=a.v===r?a.w:a.v,c=t(a);s[r][l]={distance:c,predecessor:r}})}),i.forEach(function(r){let a=s[r];i.forEach(function(l){let c=s[l];i.forEach(function(u){let d=c[r],f=a[u],h=c[u],m=d.distance+f.distance;m{var c;return(c=e.isDirected()?e.successors(l):e.neighbors(l))!=null?c:[]},a={};return t.forEach(function(l){if(!e.hasNode(l))throw new Error("Graph does not have node: "+l);i=y9(e,l,n==="post",a,r,s,i)}),i}function y9(e,t,n,s,i,r,a){return t in s||(s[t]=!0,n||(a=r(a,t)),i(t).forEach(function(l){a=y9(e,l,n,s,i,r,a)}),n&&(a=r(a,t))),a}function x9(e,t,n){return ble(e,t,n,function(s,i){return s.push(i),s},[])}function yle(e,t){return x9(e,t,"post")}function xle(e,t){return x9(e,t,"pre")}function Ele(e,t){let n=new ea,s={},i=new p9,r;function a(c){let u=c.v===r?c.w:c.v,d=i.priority(u);if(d!==void 0){let f=t(c);f0;){if(r=i.removeMin(),r in s)n.setEdge(r,s[r]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(r).forEach(a)}return n}function vle(e,t,n,s){return wle(e,t,n,s??(i=>{let r=e.outEdges(i);return r??[]}))}function wle(e,t,n,s){if(n===void 0)return Oy(e,t,n,s);let i=!1,r=e.nodes();for(let a=0;at.setNode(n,e.node(n))),e.edges().forEach(n=>{let s=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:s.weight+i.weight,minlen:Math.max(s.minlen,i.minlen)})}),t}function E9(e){let t=new ea({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 XO(e,t){let n=e.x,s=e.y,i=t.x-n,r=t.y-s,a=e.width/2,l=e.height/2;if(!i&&!r)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(r)*a>Math.abs(i)*l?(r<0&&(l=-l),c=l*i/r,u=l):(i<0&&(a=-a),c=a,u=a*r/i),{x:n+c,y:s+u}}function Jp(e){let t=gp(w9(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let s=e.node(n),i=s.rank;i!==void 0&&(t[i]||(t[i]=[]),t[i][s.order]=n)}),t}function _le(e){let t=e.nodes().map(s=>{let i=e.node(s).rank;return i===void 0?Number.MAX_VALUE:i}),n=Fa(Math.min,t);e.nodes().forEach(s=>{let i=e.node(s);Object.hasOwn(i,"rank")&&(i.rank-=n)})}function Tle(e){let t=e.nodes().map(a=>e.node(a).rank).filter(a=>a!==void 0),n=Fa(Math.min,t),s=[];e.nodes().forEach(a=>{let l=e.node(a).rank-n;s[l]||(s[l]=[]),s[l].push(a)});let i=0,r=e.graph().nodeRankFactor;Array.from(s).forEach((a,l)=>{a===void 0&&l%r!==0?--i:a!==void 0&&i&&a.forEach(c=>e.node(c).rank+=i)})}function QO(e,t,n,s){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=s),Pf(e,"border",i,t)}function Nle(e,t=v9){let n=[];for(let s=0;sv9){let n=Nle(t);return e(...n.map(s=>e(...s)))}else return e(...t)}function w9(e){let t=e.nodes().map(n=>{let s=e.node(n).rank;return s===void 0?Number.MIN_VALUE:s});return Fa(Math.max,t)}function kle(e,t){let n={lhs:[],rhs:[]};return e.forEach(s=>{t(s)?n.lhs.push(s):n.rhs.push(s)}),n}function S9(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function _9(e,t){return t()}var Ale=0;function Dk(e){let t=++Ale;return e+(""+t)}function gp(e,t,n=1){t==null&&(t=e,e=0);let s=r=>rts[t]:n=t,Object.entries(e).reduce((s,[i,r])=>(s[i]=n(r,i),s),{})}function Cle(e,t){return e.reduce((n,s,i)=>(n[s]=t[i],n),{})}var Z1="\0",Ile="3.0.0",Rle=class{constructor(){Zoe(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return ZO(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&ZO(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,Ole)),n=n._prev;return"["+e.join(", ")+"]"}};function ZO(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function Ole(e,t){if(e!=="_next"&&e!=="_prev")return t}var jle=Rle,Mle=()=>1;function Lle(e,t){if(e.nodeCount()<=1)return[];let n=Ple(e,t||Mle);return Dle(n.graph,n.buckets,n.zeroIdx).flatMap(s=>e.outEdges(s.v,s.w)||[])}function Dle(e,t,n){var s;let i=[],r=t[t.length-1],a=t[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)bv(e,t,n,l);for(;l=r.dequeue();)bv(e,t,n,l);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(l=(s=t[c])==null?void 0:s.dequeue(),l){i=i.concat(bv(e,t,n,l,!0)||[]);break}}}return i}function bv(e,t,n,s,i){let r=[],a=i?r:void 0;return(e.inEdges(s.v)||[]).forEach(l=>{let c=e.edge(l),u=e.node(l.v);i&&r.push({v:l.v,w:l.w}),u.out-=c,r_(t,n,u)}),(e.outEdges(s.v)||[]).forEach(l=>{let c=e.edge(l),u=l.w,d=e.node(u);d.in-=c,r_(t,n,d)}),e.removeNode(s.v),a}function Ple(e,t){let n=new ea,s=0,i=0;e.nodes().forEach(l=>{n.setNode(l,{v:l,in:0,out:0})}),e.edges().forEach(l=>{let c=n.edge(l.v,l.w)||0,u=t(l),d=c+u;n.setEdge(l.v,l.w,d);let f=n.node(l.v),h=n.node(l.w);i=Math.max(i,f.out+=u),s=Math.max(s,h.in+=u)});let r=Ble(i+s+3).map(()=>new jle),a=s+1;return n.nodes().forEach(l=>{r_(r,a,n.node(l))}),{graph:n,buckets:r,zeroIdx:a}}function r_(e,t,n){var s,i,r;n.out?n.in?(r=e[n.out-n.in+t])==null||r.enqueue(n):(i=e[e.length-1])==null||i.enqueue(n):(s=e[0])==null||s.enqueue(n)}function Ble(e){let t=[];for(let n=0;n{let s=e.edge(n);e.removeEdge(n),s.forwardName=n.name,s.reversed=!0,e.setEdge(n.w,n.v,s,Dk("rev"))});function t(n){return s=>n.edge(s).weight}}function Fle(e){let t=[],n={},s={};function i(r){Object.hasOwn(s,r)||(s[r]=!0,n[r]=!0,e.outEdges(r).forEach(a=>{Object.hasOwn(n,a.w)?t.push(a):i(a.w)}),delete n[r])}return e.nodes().forEach(i),t}function $le(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let s=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,s)}})}function Hle(e){e.graph().dummyChains=[],e.edges().forEach(t=>zle(e,t))}function zle(e,t){let n=t.v,s=e.node(n).rank,i=t.w,r=e.node(i).rank,a=t.name,l=e.edge(t),c=l.labelRank;if(r===s+1)return;e.removeEdge(t);let u,d,f;for(f=0,++s;s{let n=e.node(t),s=n.edgeLabel,i;for(e.setEdge(n.edgeObj,s);n.dummy;)i=e.successors(t)[0],e.removeNode(t),s.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(s.x=n.x,s.y=n.y,s.width=n.width,s.height=n.height),t=i,n=e.node(t)})}function Pk(e){let t={};function n(s){let i=e.node(s);if(Object.hasOwn(t,s))return i.rank;t[s]=!0;let r=e.outEdges(s),a=r?r.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],l=Fa(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(n)}function df(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var T9=Gle;function Gle(e){let t=new ea({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let s=n[0],i=e.nodeCount();t.setNode(s,{});let r,a;for(;Kle(t,e){let a=r.v,l=s===a?r.w:a;!e.hasNode(l)&&!df(t,r)&&(e.setNode(l,{}),e.setEdge(s,l,{}),n(l))})}return e.nodes().forEach(n),e.nodeCount()}function qle(e,t){return t.edges().reduce((n,s)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(s.v)!==e.hasNode(s.w)&&(i=df(t,s)),it.node(s).rank+=n)}var{preorder:Wle,postorder:Xle}=Lk,Qle=ou;ou.initLowLimValues=Uk;ou.initCutValues=Bk;ou.calcCutValue=N9;ou.leaveEdge=A9;ou.enterEdge=C9;ou.exchangeEdges=I9;function ou(e){e=Sle(e),Pk(e);let t=T9(e);Uk(t),Bk(t,e);let n,s;for(;n=A9(t);)s=C9(t,e,n),I9(t,e,n,s)}function Bk(e,t){let n=Xle(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(s=>Zle(e,t,s))}function Zle(e,t,n){let s=e.node(n).parent,i=e.edge(n,s);i.cutvalue=N9(e,t,n)}function N9(e,t,n){let s=e.node(n).parent,i=!0,r=t.edge(n,s),a=0;r||(i=!1,r=t.edge(s,n)),a=r.weight;let l=t.nodeEdges(n);return l&&l.forEach(c=>{let u=c.v===n,d=u?c.w:c.v;if(d!==s){let f=u===i,h=t.edge(c).weight;if(a+=f?h:-h,ece(e,n,d)){let m=e.edge(n,d).cutvalue;a+=f?-m:m}}}),a}function Uk(e,t){arguments.length<2&&(t=e.nodes()[0]),k9(e,{},1,t)}function k9(e,t,n,s,i){let r=n,a=e.node(s);t[s]=!0;let l=e.neighbors(s);return l&&l.forEach(c=>{Object.hasOwn(t,c)||(n=k9(e,t,n,c,s))}),a.low=r,a.lim=n++,i?a.parent=i:delete a.parent,n}function A9(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function C9(e,t,n){let s=n.v,i=n.w;t.hasEdge(s,i)||(s=n.w,i=n.v);let r=e.node(s),a=e.node(i),l=r,c=!1;return r.lim>a.lim&&(l=a,c=!0),t.edges().filter(u=>c===JO(e,e.node(u.v),l)&&c!==JO(e,e.node(u.w),l)).reduce((u,d)=>df(t,d)!e.node(i).parent);if(!n)return;let s=Wle(e,[n]);s=s.slice(1),s.forEach(i=>{let r=e.node(i).parent,a=t.edge(i,r),l=!1;a||(a=t.edge(r,i),l=!0),t.node(i).rank=t.node(r).rank+(l?a.minlen:-a.minlen)})}function ece(e,t,n){return e.hasEdge(t,n)}function JO(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var tce=nce;function nce(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":ej(e);break;case"tight-tree":ice(e);break;case"longest-path":sce(e);break;case"none":break;default:ej(e)}}var sce=Pk;function ice(e){Pk(e),T9(e)}function ej(e){Qle(e)}var rce=ace;function ace(e){let t=lce(e);e.graph().dummyChains.forEach(n=>{let s=e.node(n),i=s.edgeObj,r=oce(e,t,i.v,i.w),a=r.path,l=r.lca,c=0,u=a[c],d=!0;for(;n!==i.w;){if(s=e.node(n),d){for(;(u=a[c])!==l&&e.node(u).maxRanka||l>t[c].lim));let u=c,d=s;for(;(d=e.parent(d))!==u;)r.push(d);return{path:i.concat(r.reverse()),lca:u}}function lce(e){let t={},n=0;function s(i){let r=n;e.children(i).forEach(s),t[i]={low:r,lim:n++}}return e.children(Z1).forEach(s),t}function cce(e){let t=Pf(e,"root",{},"_root"),n=uce(e),s=Object.values(n),i=Fa(Math.max,s)-1,r=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(l=>e.edge(l).minlen*=r);let a=dce(e)+1;e.children(Z1).forEach(l=>R9(e,t,r,a,i,n,l)),e.graph().nodeRankFactor=r}function R9(e,t,n,s,i,r,a){var l;let c=e.children(a);if(!c.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}let u=QO(e,"_bt"),d=QO(e,"_bb"),f=e.node(a);e.setParent(u,a),f.borderTop=u,e.setParent(d,a),f.borderBottom=d,c.forEach(h=>{var m;R9(e,t,n,s,i,r,h);let p=e.node(h),g=p.borderTop?p.borderTop:h,v=p.borderBottom?p.borderBottom:h,y=p.borderTop?s:2*s,x=g!==v?1:i-((m=r[a])!=null?m:0)+1;e.setEdge(u,g,{weight:y,minlen:x,nestingEdge:!0}),e.setEdge(v,d,{weight:y,minlen:x,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,u,{weight:0,minlen:i+((l=r[a])!=null?l:0)})}function uce(e){let t={};function n(s,i){let r=e.children(s);r&&r.length&&r.forEach(a=>n(a,i+1)),t[s]=i}return e.children(Z1).forEach(s=>n(s,1)),t}function dce(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function fce(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var hce=mce;function mce(e){function t(n){let s=e.children(n),i=e.node(n);if(s.length&&s.forEach(t),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let r=i.minRank,a=i.maxRank+1;rnj(e.node(t))),e.edges().forEach(t=>nj(e.edge(t)))}function nj(e){let t=e.width;e.width=e.height,e.height=t}function bce(e){e.nodes().forEach(t=>yv(e.node(t))),e.edges().forEach(t=>{var n;let s=e.edge(t);(n=s.points)==null||n.forEach(yv),Object.hasOwn(s,"y")&&yv(s)})}function yv(e){e.y=-e.y}function yce(e){e.nodes().forEach(t=>xv(e.node(t))),e.edges().forEach(t=>{var n;let s=e.edge(t);(n=s.points)==null||n.forEach(xv),Object.hasOwn(s,"x")&&xv(s)})}function xv(e){let t=e.x;e.x=e.y,e.y=t}function xce(e){let t={},n=e.nodes().filter(l=>!e.children(l).length),s=n.map(l=>e.node(l).rank),i=Fa(Math.max,s),r=gp(i+1).map(()=>[]);function a(l){if(t[l])return;t[l]=!0;let c=e.node(l);r[c.rank].push(l);let u=e.successors(l);u&&u.forEach(a)}return n.sort((l,c)=>e.node(l).rank-e.node(c).rank).forEach(a),r}function Ece(e,t){let n=0;for(let s=1;sd)),i=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:s[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),r=1;for(;r{let d=u.pos+r;l[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=l[d+1]),d=d-1>>1,l[d]+=u.weight;c+=u.weight*f}),c}function wce(e,t=[]){return t.map(n=>{let s=e.inEdges(n);if(!s||!s.length)return{v:n};{let i=s.reduce((r,a)=>{let l=e.edge(a),c=e.node(a.v);return{sum:r.sum+l.weight*c.order,weight:r.weight+l.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function Sce(e,t){let n={};e.forEach((i,r)=>{let a={indegree:0,in:[],out:[],vs:[i.v],i:r};i.barycenter!==void 0&&(a.barycenter=i.barycenter,a.weight=i.weight),n[i.v]=a}),t.edges().forEach(i=>{let r=n[i.v],a=n[i.w];r!==void 0&&a!==void 0&&(a.indegree++,r.out.push(a))});let s=Object.values(n).filter(i=>!i.indegree);return _ce(s)}function _ce(e){let t=[];function n(i){return r=>{r.merged||(r.barycenter===void 0||i.barycenter===void 0||r.barycenter>=i.barycenter)&&Tce(i,r)}}function s(i){return r=>{r.in.push(i),--r.indegree===0&&e.push(r)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(n(i)),i.out.forEach(s(i))}return t.filter(i=>!i.merged).map(i=>My(i,["vs","i","barycenter","weight"]))}function Tce(e,t){let n=0,s=0;e.weight&&(n+=e.barycenter*e.weight,s+=e.weight),t.weight&&(n+=t.barycenter*t.weight,s+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/s,e.weight=s,e.i=Math.min(t.i,e.i),t.merged=!0}function Nce(e,t){let n=kle(e,d=>Object.hasOwn(d,"barycenter")),s=n.lhs,i=n.rhs.sort((d,f)=>f.i-d.i),r=[],a=0,l=0,c=0;s.sort(kce(!!t)),c=sj(r,i,c),s.forEach(d=>{c+=d.vs.length,r.push(d.vs),a+=d.barycenter*d.weight,l+=d.weight,c=sj(r,i,c)});let u={vs:r.flat(1)};return l&&(u.barycenter=a/l,u.weight=l),u}function sj(e,t,n){let s;for(;t.length&&(s=t[t.length-1]).i<=n;)t.pop(),e.push(s.vs),n++;return n}function kce(e){return(t,n)=>t.barycentern.barycenter?1:e?n.i-t.i:t.i-n.i}function j9(e,t,n,s){let i=e.children(t),r=e.node(t),a=r?r.borderLeft:void 0,l=r?r.borderRight:void 0,c={};a&&(i=i.filter(h=>h!==a&&h!==l));let u=wce(e,i);u.forEach(h=>{if(e.children(h.v).length){let m=j9(e,h.v,n,s);c[h.v]=m,Object.hasOwn(m,"barycenter")&&Cce(h,m)}});let d=Sce(u,n);Ace(d,c);let f=Nce(d,s);if(a&&l){f.vs=[a,f.vs,l].flat(1);let h=e.predecessors(a);if(h&&h.length){let m=e.node(h[0]),p=e.predecessors(l),g=e.node(p[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+m.order+g.order)/(f.weight+2),f.weight+=2}}return f}function Ace(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(s=>t[s]?t[s].vs:s)})}function Cce(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 Ice(e,t,n,s){s||(s=e.nodes());let i=Rce(e),r=new ea({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(a=>e.node(a));return s.forEach(a=>{let l=e.node(a),c=e.parent(a);if(l.rank===t||l.minRank<=t&&t<=l.maxRank){r.setNode(a),r.setParent(a,c||i);let u=e[n](a);u&&u.forEach(d=>{let f=d.v===a?d.w:d.v,h=r.edge(f,a),m=h!==void 0?h.weight:0;r.setEdge(f,a,{weight:e.edge(d).weight+m})}),Object.hasOwn(l,"minRank")&&r.setNode(a,{borderLeft:l.borderLeft[t],borderRight:l.borderRight[t]})}}),r}function Rce(e){let t;for(;e.hasNode(t=Dk("_root")););return t}function Oce(e,t,n){let s={},i;n.forEach(r=>{let a=e.parent(r),l,c;for(;a;){if(l=e.parent(a),l?(c=s[l],s[l]=a):(c=i,i=a),c&&c!==a){t.setEdge(c,a);return}a=l}})}function M9(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,M9);return}let n=w9(e),s=ij(e,gp(1,n+1),"inEdges"),i=ij(e,gp(n-1,-1,-1),"outEdges"),r=xce(e);if(rj(e,r),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,l,c=t.constraints||[];for(let u=0,d=0;d<4;++u,++d){jce(u%2?s:i,u%4>=2,c),r=Jp(e);let f=Ece(e,r);f{s.has(r)||s.set(r,[]),s.get(r).push(a)};for(let r of e.nodes()){let a=e.node(r);if(typeof a.rank=="number"&&i(a.rank,r),typeof a.minRank=="number"&&typeof a.maxRank=="number")for(let l=a.minRank;l<=a.maxRank;l++)l!==a.rank&&i(l,r)}return t.map(function(r){return Ice(e,r,n,s.get(r)||[])})}function jce(e,t,n){let s=new ea;e.forEach(function(i){n.forEach(l=>s.setEdge(l.left,l.right));let r=i.graph().root,a=j9(i,r,s,t);a.vs.forEach((l,c)=>i.node(l).order=c),Oce(i,s,a.vs)})}function rj(e,t){Object.values(t).forEach(n=>n.forEach((s,i)=>e.node(s).order=i))}function Mce(e,t){let n={};function s(i,r){let a=0,l=0,c=i.length,u=r[r.length-1];return r.forEach((d,f)=>{let h=Dce(e,d),m=h?e.node(h).order:c;(h||d===u)&&(r.slice(l,f+1).forEach(p=>{let g=e.predecessors(p);g&&g.forEach(v=>{let y=e.node(v),x=y.order;(x{let f=r[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(m=>{if(m===void 0)return;let p=e.node(m);p.dummy&&(p.orderu)&&L9(n,m,f)})}})}function i(r,a){let l=-1,c=-1,u=0;return a.forEach((d,f)=>{if(e.node(d).dummy==="border"){let h=e.predecessors(d);if(h&&h.length){let m=h[0];if(m===void 0)return;c=e.node(m).order,s(a,u,f,l,c),u=f,l=c}}s(a,u,a.length,c,r.length)}),a}return t.length&&t.reduce(i),n}function Dce(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(s=>e.node(s).dummy)}}function L9(e,t,n){if(t>n){let i=t;t=n,n=i}let s=e[t];s||(e[t]=s={}),s[n]=!0}function Pce(e,t,n){if(t>n){let i=t;t=n,n=i}let s=e[t];return s!==void 0&&Object.hasOwn(s,n)}function Bce(e,t,n,s){let i={},r={},a={};return t.forEach(l=>{l.forEach((c,u)=>{i[c]=c,r[c]=c,a[c]=u})}),t.forEach(l=>{let c=-1;l.forEach(u=>{let d=s(u);if(d&&d.length){let f=d.sort((m,p)=>{let g=a[m],v=a[p];return(g!==void 0?g:0)-(v!==void 0?v:0)}),h=(f.length-1)/2;for(let m=Math.floor(h),p=Math.ceil(h);m<=p;++m){let g=f[m];if(g===void 0)continue;let v=a[g];if(v!==void 0&&r[u]===u&&c{var y;let x=(y=r[v.v])!=null?y:0,E=a.edge(v);return Math.max(g,x+(E!==void 0?E:0))},0):r[m]=0}function d(m){let p=a.outEdges(m),g=Number.POSITIVE_INFINITY;p&&(g=p.reduce((y,x)=>{let E=r[x.w],w=a.edge(x);return Math.min(y,(E!==void 0?E:0)-(w!==void 0?w:0))},Number.POSITIVE_INFINITY));let v=e.node(m);g!==Number.POSITIVE_INFINITY&&v.borderType!==l&&(r[m]=Math.max(r[m]!==void 0?r[m]:0,g))}function f(m){return a.predecessors(m)||[]}function h(m){return a.successors(m)||[]}return c(u,f),c(d,h),Object.keys(s).forEach(m=>{var p;let g=n[m];g!==void 0&&(r[m]=(p=r[g])!=null?p:0)}),r}function Fce(e,t,n,s){let i=new ea,r=e.graph(),a=Gce(r.nodesep,r.edgesep,s);return t.forEach(l=>{let c;l.forEach(u=>{let d=n[u];if(d!==void 0){if(i.setNode(d),c!==void 0){let f=n[c];if(f!==void 0){let h=i.edge(f,d);i.setEdge(f,d,Math.max(a(e,u,c),h||0))}}c=u}})}),i}function $ce(e,t){return Object.values(t).reduce((n,s)=>{let i=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;Object.entries(s).forEach(([l,c])=>{let u=Kce(e,l)/2;i=Math.max(c+u,i),r=Math.min(c-u,r)});let a=i-r;return a{["l","r"].forEach(a=>{let l=r+a,c=e[l];if(!c||c===t)return;let u=Object.values(c),d=s-Fa(Math.min,u);a!=="l"&&(d=i-Fa(Math.max,u)),d&&(e[l]=Q1(c,f=>f+d))})})}function zce(e,t=void 0){let n=e.ul;return n?Q1(n,(s,i)=>{var r,a;if(t){let c=t.toLowerCase(),u=e[c];if(u&&u[i]!==void 0)return u[i]}let l=Object.values(e).map(c=>{let u=c[i];return u!==void 0?u:0}).sort((c,u)=>c-u);return(((r=l[1])!=null?r:0)+((a=l[2])!=null?a:0))/2}):{}}function Vce(e){let t=Jp(e),n=Object.assign(Mce(e,t),Lce(e,t)),s={},i;["u","d"].forEach(a=>{i=a==="u"?t:Object.values(t).reverse(),["l","r"].forEach(l=>{l==="r"&&(i=i.map(d=>Object.values(d).reverse()));let c=Bce(e,i,n,d=>(a==="u"?e.predecessors(d):e.successors(d))||[]),u=Uce(e,i,c.root,c.align,l==="r");l==="r"&&(u=Q1(u,d=>-d)),s[a+l]=u})});let r=$ce(e,s);return Hce(s,r),zce(s,e.graph().align)}function Gce(e,t,n){return(s,i,r)=>{let a=s.node(i),l=s.node(r),c=0,u;if(c+=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&&(c+=n?u:-u),u=void 0,c+=(a.dummy?t:e)/2,c+=(l.dummy?t:e)/2,c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":u=l.width/2;break;case"r":u=-l.width/2;break}return u&&(c+=n?u:-u),c}}function Kce(e,t){return e.node(t).width}function qce(e){e=E9(e),Yce(e),Object.entries(Vce(e)).forEach(([t,n])=>e.node(t).x=n)}function Yce(e){let t=Jp(e),n=e.graph(),s=n.ranksep,i=n.rankalign,r=0;t.forEach(a=>{let l=a.reduce((c,u)=>{var d;let f=(d=e.node(u).height)!=null?d:0;return c>f?c:f},0);a.forEach(c=>{let u=e.node(c);i==="top"?u.y=r+u.height/2:i==="bottom"?u.y=r+l-u.height/2:u.y=r+l/2}),r+=l+s})}function Wce(e,t={}){let n=t.debugTiming?S9:_9;return n("layout",()=>{let s=n(" buildLayoutGraph",()=>rue(e));return n(" runLayout",()=>Xce(s,n,t)),n(" updateInputGraph",()=>Qce(e,s)),s})}function Xce(e,t,n){t(" makeSpaceForEdgeLabels",()=>aue(e)),t(" removeSelfEdges",()=>pue(e)),t(" acyclic",()=>Ule(e)),t(" nestingGraph.run",()=>cce(e)),t(" rank",()=>tce(E9(e))),t(" injectEdgeLabelProxies",()=>oue(e)),t(" removeEmptyRanks",()=>Tle(e)),t(" nestingGraph.cleanup",()=>fce(e)),t(" normalizeRanks",()=>_le(e)),t(" assignRankMinMax",()=>lue(e)),t(" removeEdgeLabelProxies",()=>cue(e)),t(" normalize.run",()=>Hle(e)),t(" parentDummyChains",()=>rce(e)),t(" addBorderSegments",()=>hce(e)),t(" order",()=>M9(e,n)),t(" insertSelfEdges",()=>gue(e)),t(" adjustCoordinateSystem",()=>pce(e)),t(" position",()=>qce(e)),t(" positionSelfEdges",()=>bue(e)),t(" removeBorderNodes",()=>mue(e)),t(" normalize.undo",()=>Vle(e)),t(" fixupEdgeLabelCoords",()=>fue(e)),t(" undoCoordinateSystem",()=>gce(e)),t(" translateGraph",()=>uue(e)),t(" assignNodeIntersects",()=>due(e)),t(" reversePoints",()=>hue(e)),t(" acyclic.undo",()=>$le(e))}function Qce(e,t){e.nodes().forEach(n=>{let s=e.node(n),i=t.node(n);s&&(s.x=i.x,s.y=i.y,s.order=i.order,s.rank=i.rank,t.children(n).length&&(s.width=i.width,s.height=i.height))}),e.edges().forEach(n=>{let s=e.edge(n),i=t.edge(n);s.points=i.points,Object.hasOwn(i,"x")&&(s.x=i.x,s.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var Zce=["nodesep","edgesep","ranksep","marginx","marginy"],Jce={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},eue=["acyclicer","ranker","rankdir","align","rankalign"],tue=["width","height","rank"],aj={width:0,height:0},nue=["minlen","weight","width","height","labeloffset"],sue={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},iue=["labelpos"];function rue(e){let t=new ea({multigraph:!0,compound:!0}),n=vv(e.graph());return t.setGraph(Object.assign({},Jce,Ev(n,Zce),My(n,eue))),e.nodes().forEach(s=>{let i=vv(e.node(s)),r=Ev(i,tue);Object.keys(aj).forEach(l=>{r[l]===void 0&&(r[l]=aj[l])}),t.setNode(s,r);let a=e.parent(s);a!==void 0&&t.setParent(s,a)}),e.edges().forEach(s=>{let i=vv(e.edge(s));t.setEdge(s,Object.assign({},sue,Ev(i,nue),My(i,iue)))}),t}function aue(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let s=e.edge(n);s.minlen*=2,s.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?s.width+=s.labeloffset:s.height+=s.labeloffset)})}function oue(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let s=e.node(t.v),i={rank:(e.node(t.w).rank-s.rank)/2+s.rank,e:t};Pf(e,"edge-proxy",i,"_ep")}})}function lue(e){let t=0;e.nodes().forEach(n=>{let s=e.node(n);s.borderTop&&(s.minRank=e.node(s.borderTop).rank,s.maxRank=e.node(s.borderBottom).rank,t=Math.max(t,s.maxRank))}),e.graph().maxRank=t}function cue(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let s=n;e.edge(s.e).labelRank=n.rank,e.removeNode(t)}})}function uue(e){let t=Number.POSITIVE_INFINITY,n=0,s=Number.POSITIVE_INFINITY,i=0,r=e.graph(),a=r.marginx||0,l=r.marginy||0;function c(u){let d=u.x,f=u.y,h=u.width,m=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),s=Math.min(s,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&c(d)}),t-=a,s-=l,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=s}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=s}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=s)}),r.width=n-t+a,r.height=i-s+l}function due(e){e.edges().forEach(t=>{let n=e.edge(t),s=e.node(t.v),i=e.node(t.w),r,a;n.points?(r=n.points[0],a=n.points[n.points.length-1]):(n.points=[],r=i,a=s),n.points.unshift(XO(s,r)),n.points.push(XO(i,a))})}function fue(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 hue(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function mue(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),s=e.node(n.borderTop),i=e.node(n.borderBottom),r=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-r.x),n.height=Math.abs(i.y-s.y),n.x=r.x+n.width/2,n.y=s.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function pue(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 gue(e){Jp(e).forEach(t=>{let n=0;t.forEach((s,i)=>{let r=e.node(s);r.order=i+n,(r.selfEdges||[]).forEach(a=>{Pf(e,"selfedge",{width:a.label.width,height:a.label.height,rank:r.rank,order:i+ ++n,e:a.e,label:a.label},"_se")}),delete r.selfEdges})})}function bue(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let s=n,i=e.node(s.e.v),r=i.x+i.width/2,a=i.y,l=n.x-r,c=i.height/2;e.setEdge(s.e,s.label),e.removeNode(t),s.label.points=[{x:r+2*l/3,y:a-c},{x:r+5*l/6,y:a-c},{x:r+l,y:a},{x:r+5*l/6,y:a+c},{x:r+2*l/3,y:a+c}],s.label.x=n.x,s.label.y=n.y}})}function Ev(e,t){return Q1(My(e,t),Number)}function vv(e){let t={};return e&&Object.entries(e).forEach(([n,s])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=s}),t}function yue(e){let t=Jp(e),n=new ea({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(s=>{n.setNode(s,{label:s}),n.setParent(s,"layer"+e.node(s).rank)}),e.edges().forEach(s=>n.setEdge(s.v,s.w,{},s.name)),t.forEach((s,i)=>{let r="layer"+i;n.setNode(r,{rank:"same"}),s.reduce((a,l)=>(n.setEdge(a,l,{style:"invis"}),l))}),n}var xue={graphlib:d9,version:Ile,layout:Wce,debug:yue,util:{time:S9,notime:_9}},oj=xue;/*! For license information please see dagre.esm.js.LEGAL.txt */const Xh={llm:{label:"智能体",description:"理解任务并直接完成一个具体工作",icon:Hc},sequential:{label:"分步协作",description:"内部步骤按照顺序依次执行",icon:bP},parallel:{label:"同时处理",description:"内部步骤同时工作,完成后统一汇总",icon:uP},loop:{label:"循环执行",description:"重复执行内部步骤,直到满足停止条件",icon:JN},a2a:{label:"远程智能体",description:"调用已经存在的远程 Agent",icon:C1}},a_=220,o_=88,lj=96,cj=34,Nm=64,wv=310,pd=24,D9=56,l_=40,uj=40,Eue=18,vue=58,wue=!1,Sue=e=>e==="sequential"||e==="parallel"||e==="loop";function c_(e,t){const n=e.agentType??"llm";return Sue(n)||n==="llm"&&(t.length===0||e.subAgents.length>0)}function u_(e,t=[],n="horizontal",s=!1){const i=e.agentType??"llm";if(!c_(e,t))return{width:a_,height:o_};if(s&&e.subAgents.length===0)return{width:wv,height:Nm};const r=e.subAgents.map((f,h)=>u_(f,[...t,h],n,s)),a=r.length?Math.max(...r.map(f=>f.width)):0,l=r.length?Math.max(...r.map(f=>f.height)):0,c=r.length&&i!=="parallel"?D9:pd,u=n==="horizontal"?i!=="parallel":i==="parallel",d=r.length?i==="parallel"?Eue+uj:i==="loop"?vue:0:uj;return u?{width:Math.max(wv,r.reduce((f,h)=>f+h.width,0)+l_*Math.max(0,r.length-1)+c*2),height:Nm+pd+l+d+pd}:{width:Math.max(wv,a+pd*2),height:Nm+c+r.reduce((f,h)=>f+h.height,0)+l_*Math.max(0,r.length-1)+d+c}}function Th(e){return e.length===0?"agent-root":`agent-${e.join("-")}`}function _ue(e,t){return e.length===t.length&&e.every((n,s)=>n===t[s])}function dj(e){const t=n=>[n.agentType??"llm",n.subAgents.map(t)];return JSON.stringify(t(e))}function Nh(e,t,n,s){const i=(s==null?void 0:s.tone)==="sequential"?"hsl(213 40% 40%)":(s==null?void 0:s.tone)==="loop"?"hsl(151 34% 34%)":"hsl(220 9% 38%)";return{id:`${e}-${t}${s!=null&&s.loop?"-loop":""}`,source:e,target:t,sourceHandle:s!=null&&s.loop?"loop-source":void 0,targetHandle:s!=null&&s.loop?"loop-target":void 0,label:n,type:"insertStep",data:s?{insert:s.insert,loop:s.loop,tone:s.tone}:void 0,animated:s==null?void 0:s.loop,markerEnd:{type:rf.ArrowClosed,width:16,height:16,color:i},style:{stroke:i,strokeWidth:1.5},labelStyle:{fill:"hsl(215 14% 42%)",fontSize:10,fontWeight:600},labelBgStyle:{fill:"hsl(var(--background))",fillOpacity:.92}}}function fj(e,t,n=!1){const s=[{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}],i=[];function r(d,f,h,m,p){const g=d.agentType??"llm",v=Th(f);return c_(d,f)?(a(d,f,h,m,p),v):(s.push({id:v,type:"agent",parentId:h,extent:"parent",position:m,data:{kind:"agent",path:f,agent:d,title:g==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:g,description:d.description.trim()||Xh[g].description,childCount:d.subAgents.length,containedIn:p}}),v)}function a(d,f,h,m={x:0,y:0},p){const g=d.agentType??"sequential",v=Th(f),y=u_(d,f,t,n);s.push({id:v,type:"group",parentId:h,extent:h?"parent":void 0,position:m,style:{width:y.width,height:y.height},data:{kind:"agent",path:f,agent:d,title:d.name.trim()||(f.length===0?"主 Agent":Xh[g].label),pattern:g,description:d.description.trim()||Xh[g].description,childCount:d.subAgents.length,containedIn:p,layoutWidth:y.width,layoutHeight:y.height,compactEmptyGroup:n&&d.subAgents.length===0}});const x=d.subAgents.map((k,A)=>u_(k,[...f,A],t,n)),E=x.length&&g!=="parallel"?D9:pd,w=t==="horizontal"?g!=="parallel":g==="parallel";let T=E;const S=d.subAgents.map((k,A)=>{const C=x[A],R=w?{x:T,y:Nm+pd}:{x:(y.width-C.width)/2,y:Nm+T};return T+=(w?C.width:C.height)+l_,r(k,[...f,A],v,R,g)});if(g==="sequential"||g==="loop"){for(let k=0;k1&&i.push(Nh(S[S.length-1],S[0],"继续循环",{loop:!0,tone:"loop"}))}return v}const l=(d,f)=>{const h=d.agentType??"llm",m=Th(f);if(c_(d,f))return a(d,f),[m];if(s.push({id:m,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()||Xh[h].description,childCount:d.subAgents.length}}),d.subAgents.length===0)return[m];const p=[];return d.subAgents.forEach((g,v)=>{const y=[...f,v],x=Th(y);i.push(Nh(m,x,"调用",{insert:{parentPath:f,index:v}})),p.push(...l(g,y))}),p},c=Th([]),u=l(e,[]);return i.push(Nh("terminal-input",c)),u.forEach(d=>i.push(Nh(d,"terminal-output"))),Tue(s,i,t)}function Tue(e,t,n){const s=new oj.graphlib.Graph().setDefaultEdgeLabel(()=>({}));s.setGraph({rankdir:n==="vertical"?"TB":"LR",ranksep:50,nodesep:34,edgesep:14,marginx:24,marginy:24});const i=new Set(e.filter(r=>!r.parentId).map(r=>r.id));return e.filter(r=>!r.parentId).forEach(r=>{const a=r.data.kind==="terminal";s.setNode(r.id,{width:a?lj:r.data.layoutWidth??a_,height:a?cj:r.data.layoutHeight??o_})}),t.filter(r=>i.has(r.source)&&i.has(r.target)).forEach(r=>s.setEdge(r.source,r.target)),oj.layout(s),{nodes:e.map(r=>{if(r.parentId)return r;const a=s.node(r.id),l=r.data.kind==="terminal",c=l?lj:r.data.layoutWidth??a_,u=l?cj:r.data.layoutHeight??o_;return{...r,position:{x:a.x-c/2,y:a.y-u/2}}}),edges:t}}const J1=b.createContext(null),ex=b.createContext("horizontal");function Nue({id:e,sourceX:t,sourceY:n,targetX:s,targetY:i,sourcePosition:r,targetPosition:a,markerEnd:l,style:c,label:u,data:d}){const f=b.useContext(J1),[h,m]=b.useState(!1),[p,g,v]=Iy({sourceX:t,sourceY:n,targetX:s,targetY:i,sourcePosition:r,targetPosition:a,offset:d!=null&&d.loop?28:20});return o.jsxs(o.Fragment,{children:[o.jsx(Zp,{id:e,path:p,markerEnd:l,style:c}),f&&(d==null?void 0:d.insert)&&o.jsx("path",{d:p,className:"abc-edge-hover-path",onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1)}),(u||f&&(d==null?void 0:d.insert))&&o.jsx(voe,{children:o.jsxs("div",{className:`abc-edge-tools${f&&(d!=null&&d.insert)?" can-insert":""}${h?" is-visible":""}`,style:{transform:`translate(-50%, -50%) translate(${g}px, ${v}px)`},onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1),children:[u&&o.jsx("span",{className:"abc-edge-label",children:u}),f&&(d==null?void 0:d.insert)&&o.jsx("button",{type:"button",className:"abc-edge-add nodrag nopan","aria-label":"在这里插入步骤",title:"在这里插入步骤",onClick:y=>{y.stopPropagation(),f==null||f.onInsert(d.insert.parentPath,d.insert.index)},children:o.jsx(bi,{})})]})})]})}function kue({data:e,selected:t}){const n=b.useContext(J1),s=b.useContext(ex),i=s==="vertical"?We.Top:We.Left,r=s==="vertical"?We.Bottom:We.Right,a=s==="vertical"?We.Right:We.Bottom,l=e.pattern??"llm",c=Xh[l],u=c.icon;return o.jsxs("div",{className:`abc-node is-${l}${e.containedIn?` is-contained-in-${e.containedIn}`:""}${t?" is-selected":""}`,children:[o.jsx(Ai,{type:"target",position:i,className:"abc-handle"}),l!=="llm"&&o.jsx("span",{className:"abc-node-icon",children:o.jsx(u,{})}),o.jsxs("span",{className:"abc-node-copy",children:[o.jsx("span",{className:"abc-node-meta",children:o.jsx("span",{children:c.label})}),o.jsx("strong",{children:e.title}),o.jsx("small",{children:e.description})]}),n&&e.path!==void 0&&e.path.length>0&&o.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:o.jsx(Po,{})}),o.jsx(Ai,{type:"source",position:r,className:"abc-handle"}),e.containedIn==="loop"&&o.jsxs(o.Fragment,{children:[o.jsx(Ai,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),o.jsx(Ai,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function Aue({data:e,selected:t}){const n=b.useContext(J1),s=b.useContext(ex),i=s==="vertical"?We.Top:We.Left,r=s==="vertical"?We.Bottom:We.Right,a=s==="vertical"?We.Right:We.Bottom,l=e.pattern??"sequential",c=e.childCount??0,u=l==="llm"?"添加子 Agent":l==="parallel"?"添加一个同时处理的步骤":l==="loop"?"添加循环步骤":"添加下一个步骤";return o.jsxs("div",{className:`abc-group is-${l}${e.compactEmptyGroup?" is-compact-empty":""}${t?" is-selected":""}`,children:[o.jsx(Ai,{type:"target",position:i,className:"abc-handle"}),o.jsx("header",{className:"abc-group-head",children:o.jsxs("span",{children:[o.jsx("strong",{title:e.title,children:e.title}),o.jsx("small",{children:e.description})]})}),n&&e.path!==void 0&&c>0&&l!=="parallel"&&o.jsxs("div",{className:"abc-group-boundary-actions",children:[o.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:o.jsx(bi,{})}),o.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:o.jsx(bi,{})})]}),n&&e.path!==void 0&&c>0&&l==="parallel"&&o.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-bottom nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[o.jsx(bi,{}),o.jsx("span",{children:u})]}),n&&e.path!==void 0&&c===0&&o.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-empty nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[o.jsx(bi,{}),o.jsx("span",{children:u})]}),n&&e.path!==void 0&&e.path.length>0&&o.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:o.jsx(Po,{})}),o.jsx(Ai,{type:"source",position:r,className:"abc-handle"}),e.containedIn==="loop"&&o.jsxs(o.Fragment,{children:[o.jsx(Ai,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),o.jsx(Ai,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function Cue({data:e}){const t=b.useContext(ex);return o.jsxs("div",{className:"abc-terminal",children:[o.jsx(Ai,{type:"target",position:t==="vertical"?We.Top:We.Left,className:"abc-handle"}),o.jsx("span",{children:e.title}),o.jsx(Ai,{type:"source",position:t==="vertical"?We.Bottom:We.Right,className:"abc-handle"})]})}const Iue={agent:kue,group:Aue,terminal:Cue},Rue={insertStep:Nue};function Oue({draft:e,selectedPath:t,onSelect:n,onAdd:s,onInsert:i,onDelete:r,readOnly:a=!1,interactivePreview:l=!1,direction:c="horizontal"}){const u=b.useMemo(()=>fj(e,c,a),[]),[d,f,h]=s9(u.nodes),[m,p,g]=i9(u.edges),v=Soe(),y=b.useRef(`${c}:${a?"readonly":"editable"}:${dj(e)}`),x=b.useRef(null),{fitView:E}=W1(),w=b.useMemo(()=>fj(e,c,a),[c,e,a]),[T,S]=b.useState(()=>window.matchMedia("(max-width: 860px)").matches),k=b.useMemo(()=>a?{padding:.16,minZoom:.05,maxZoom:.9}:T?{padding:.08,minZoom:.35,maxZoom:.9}:{padding:.14,minZoom:.42,maxZoom:1.1},[T,a]),A=b.useCallback((R=0)=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{const M=x.current;if(M&&(M.clientWidth===0||M.clientHeight===0)&&R<8){A(R+1);return}E(k)})})},[k,E]);b.useEffect(()=>{const R=window.matchMedia("(max-width: 860px)"),M=L=>S(L.matches);return R.addEventListener("change",M),()=>R.removeEventListener("change",M)},[]),b.useEffect(()=>{const R=`${c}:${a?"readonly":"editable"}:${dj(e)}`,M=R!==y.current;y.current=R,p(w.edges),f(L=>{const G=new Map(L.map(D=>[D.id,D]));return w.nodes.map(D=>{const F=G.get(D.id);return{...D,measured:!M&&F&&F.type===D.type?F.measured:void 0,position:!M&&F?F.position:D.position,selected:D.data.kind==="agent"&&!!D.data.path&&_ue(D.data.path,t)}})}),M&&A()},[w,e,A,t,p,f]),b.useEffect(()=>{A()},[T,A]),b.useEffect(()=>{v&&A()},[w,A,v]),b.useEffect(()=>{if(!a||!x.current)return;const R=new ResizeObserver(()=>A());return R.observe(x.current),A(),()=>R.disconnect()},[A,a]);const C=b.useMemo(()=>a?null:{onAdd:s,onInsert:i,onDelete:r},[s,r,i,a]);return o.jsx(ex.Provider,{value:c,children:o.jsx(J1.Provider,{value:C,children:o.jsx("section",{className:`abc-root is-${c}${a?" is-readonly":""}`,"aria-label":a?"只读 Agent 执行画布":"Agent 执行画布",children:o.jsx("div",{ref:x,className:"abc-canvas",children:o.jsxs(n9,{nodes:d,edges:m,nodeTypes:Iue,edgeTypes:Rue,onNodesChange:h,onEdgesChange:g,onNodeClick:(R,M)=>{!a&&M.data.kind==="agent"&&M.data.path&&n(M.data.path)},nodesDraggable:!a,nodesConnectable:!1,nodesFocusable:!a,elementsSelectable:!a,edgesFocusable:!1,edgesReconnectable:!1,panOnDrag:!a||l,zoomOnDoubleClick:l,zoomOnPinch:!a||l,zoomOnScroll:!a||l,fitView:!0,fitViewOptions:k,onInit:()=>A(),minZoom:a?.05:.35,maxZoom:1.6,proOptions:{hideAttribution:!0},children:[o.jsx(a9,{gap:20,size:1.2,color:"hsl(34 20% 82%)"}),(!a||l)&&o.jsx(l9,{showInteractive:!1}),wue]})})})})})}function bp(e){return o.jsx(Mk,{children:o.jsx(Oue,{...e})})}const jue="https://ark.cn-beijing.volces.com/api/v3/",bb=[{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:jue}],ff=[],kh=[{key:"FEISHU_APP_ID",required:!0,placeholder:"cli_xxx",comment:"飞书应用 App ID"},{key:"FEISHU_APP_SECRET",required:!0,placeholder:"输入 App Secret",comment:"飞书应用 App Secret"}],ba={topK:"3",region:"cn-beijing",endpoint:"https://open.volcengineapi.com/"},P9=[{key:"REGISTRY_SPACE_ID",required:!0,placeholder:"请选择智能体中心",comment:"AgentKit 智能体中心"},{key:"REGISTRY_TOP_K",required:!1,placeholder:ba.topK,comment:"召回 Agent 数量"},{key:"REGISTRY_REGION",required:!1,placeholder:ba.region,comment:"AgentKit 智能体中心地域"},{key:"REGISTRY_ENDPOINT",required:!1,placeholder:ba.endpoint,comment:"AgentKit 智能体中心 OpenAPI 地址"}],lu=[{id:"web_search",label:"联网搜索",desc:"火山引擎 Web Search,获取实时信息。",importLine:"from veadk.tools.builtin_tools.web_search import web_search",toolNames:["web_search"],env:ff},{id:"parallel_web_search",label:"并行联网搜索",desc:"并行发起多条搜索查询,更快汇总。",importLine:"from veadk.tools.builtin_tools.parallel_web_search import parallel_web_search",toolNames:["parallel_web_search"],env:ff},{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"}]}],Mue=new Set(["web_scraper","text_to_speech","vesearch"]),B9=lu.filter(e=>!Mue.has(e.id)),d_=[{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}]}],f_=[{id:"local",label:"本地向量库",desc:"进程内 llama-index 向量库。",env:bb,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},...bb],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},...bb],pipExtra:"extensions",needsEmbedding:!0},{id:"viking",label:"VikingDB Memory",desc:"火山 VikingDB 记忆库(支持用户画像)。",env:ff},{id:"mem0",label:"Mem0",desc:"Mem0 托管记忆服务。",env:[{key:"DATABASE_MEM0_API_KEY",required:!0},{key:"DATABASE_MEM0_BASE_URL",required:!1}],pipExtra:"database"}],Wc="viking",h_=[{id:"viking",label:"VikingDB Knowledge",desc:"火山 VikingDB 知识库。",env:ff},{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},...bb],pipExtra:"extensions",needsEmbedding:!0},{id:"context_search",label:"Context Search",desc:"火山 Context Search 引擎(无需向量化)。",env:[...ff,{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ID",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ENDPOINT",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_APIKEY",required:!0}]}],Lue=[{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:[...ff,{key:"OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME",required:!1,comment:"TLS topic_id,留空自动创建"}]}],Due="doubao-seed-2-1-pro-260628",Pue="一个基于 VeADK 构建的智能助手,理解用户意图并调用合适的工具完成任务。",Bue=`你是一个专业、可靠的智能助手。 +`)),d=u.reduce((f,h)=>f.concat(...h),[]);return[u,d]}return[[],[]]},[e]);return b.useEffect(()=>{const c=(t==null?void 0:t.target)??Oj,u=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const d=m=>{var v,y;if(i.current=m.ctrlKey||m.metaKey||m.shiftKey||m.altKey,(!i.current||i.current&&!u)&&u8(m))return!1;const g=Lj(m.code,l);if(r.current.add(m[g]),Mj(a,r.current,!1)){const x=((y=(v=m.composedPath)==null?void 0:v.call(m))==null?void 0:y[0])||m.target,E=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";t.preventDefault!==!1&&(i.current||!E)&&m.preventDefault(),s(!0)}},f=m=>{const p=Lj(m.code,l);Mj(a,r.current,!0)?(s(!1),r.current.clear()):r.current.delete(m[p]),m.key==="Meta"&&r.current.clear(),i.current=!1},h=()=>{r.current.clear(),s(!1)};return c==null||c.addEventListener("keydown",d),c==null||c.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{c==null||c.removeEventListener("keydown",d),c==null||c.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,s]),n}function Mj(e,t,n){return e.filter(s=>n||s.length===t.size).some(s=>s.every(i=>t.has(i)))}function Lj(e,t){return t.includes(e)?"code":"key"}const aae=()=>{const e=hs();return b.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:s}=e.getState();return s?s.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[s,i,r],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??s,y:t.y??i,zoom:t.zoom??r},n),!0):!1},getViewport:()=>{const[t,n,s]=e.getState().transform;return{x:t,y:n,zoom:s}},setCenter:async(t,n,s)=>e.getState().setCenter(t,n,s),fitBounds:async(t,n)=>{const{width:s,height:i,minZoom:r,maxZoom:a,panZoom:l}=e.getState(),c=Ak(t,s,i,r,a,(n==null?void 0:n.padding)??.1);return l?(await l.setViewport(c,{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:s,snapGrid:i,snapToGrid:r,domNode:a}=e.getState();if(!a)return t;const{x:l,y:c}=a.getBoundingClientRect(),u={x:t.x-l,y:t.y-c},d=n.snapGrid??i,f=n.snapToGrid??r;return Df(u,s,f,d)},flowToScreenPosition:t=>{const{transform:n,domNode:s}=e.getState();if(!s)return t;const{x:i,y:r}=s.getBoundingClientRect(),a=lf(t,n);return{x:a.x+i,y:a.y+r}}}),[])};function D8(e,t){const n=[],s=new Map,i=[];for(const r of e)if(r.type==="add"){i.push(r);continue}else if(r.type==="remove"||r.type==="replace")s.set(r.id,[r]);else{const a=s.get(r.id);a?a.push(r):s.set(r.id,[r])}for(const r of t){const a=s.get(r.id);if(!a){n.push(r);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const l={...r};for(const c of a)oae(c,l);n.push(l)}return i.length&&i.forEach(r=>{r.index!==void 0?n.splice(r.index,0,{...r.item}):n.push({...r.item})}),n}function oae(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 P8(e,t){return D8(e,t)}function B8(e,t){return D8(e,t)}function pc(e,t){return{id:e,type:"select",selected:t}}function md(e,t=new Set,n=!1){const s=[];for(const[i,r]of e){const a=t.has(i);!(r.selected===void 0&&!a)&&r.selected!==a&&(n&&(r.selected=a),s.push(pc(r.id,a)))}return s}function Dj({items:e=[],lookup:t}){var i;const n=[],s=new Map(e.map(r=>[r.id,r]));for(const[r,a]of e.entries()){const l=t.get(a.id),c=((i=l==null?void 0:l.internals)==null?void 0:i.userNode)??l;c!==void 0&&c!==a&&n.push({id:a.id,item:a,type:"replace"}),c===void 0&&n.push({item:a,type:"add",index:r})}for(const[r]of t)s.get(r)===void 0&&n.push({id:r,type:"remove"});return n}function Pj(e){return{id:e.id,type:"remove"}}const lae=o8();function U8(e,t,n={}){return Mie(e,t,{...n,onError:n.onError??lae})}const Bj=e=>xie(e),cae=e=>s8(e);function F8(e){return b.forwardRef(e)}const uae=typeof window<"u"?b.useLayoutEffect:b.useEffect;function Uj(e){const[t,n]=b.useState(BigInt(0)),[s]=b.useState(()=>dae(()=>n(i=>i+BigInt(1))));return uae(()=>{const i=s.get();i.length&&(e(i),s.reset())},[t]),s}function dae(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const $8=b.createContext(null);function fae({children:e}){const t=hs(),n=b.useCallback(l=>{const{nodes:c=[],setNodes:u,hasDefaultNodes:d,onNodesChange:f,nodeLookup:h,fitViewQueued:m,onNodesChangeMiddlewareMap:p}=t.getState();let g=c;for(const y of l)g=typeof y=="function"?y(g):y;let v=Dj({items:g,lookup:h});for(const y of p.values())v=y(v);d&&u(g),v.length>0?f==null||f(v):m&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:x,setNodes:E}=t.getState();y&&E(x)})},[]),s=Uj(n),i=b.useCallback(l=>{const{edges:c=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:f,edgeLookup:h}=t.getState();let m=c;for(const p of l)m=typeof p=="function"?p(m):p;d?u(m):f&&f(Dj({items:m,lookup:h}))},[]),r=Uj(i),a=b.useMemo(()=>({nodeQueue:s,edgeQueue:r}),[]);return o.jsx($8.Provider,{value:a,children:e})}function hae(){const e=b.useContext($8);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const mae=e=>!!e.panZoom;function Z1(){const e=aae(),t=hs(),n=hae(),s=Xt(mae),i=b.useMemo(()=>{const r=f=>t.getState().nodeLookup.get(f),a=f=>{n.nodeQueue.push(f)},l=f=>{n.edgeQueue.push(f)},c=f=>{var y,x;const{nodeLookup:h,nodeOrigin:m}=t.getState(),p=Bj(f)?f:h.get(f.id),g=p.parentId?l8(p.position,p.measured,p.parentId,h,m):p.position,v={...p,position:g,width:((y=p.measured)==null?void 0:y.width)??p.width,height:((x=p.measured)==null?void 0:x.height)??p.height};return of(v)},u=(f,h,m={replace:!1})=>{a(p=>p.map(g=>{if(g.id===f){const v=typeof h=="function"?h(g):h;return m.replace&&Bj(v)?v:{...g,...v}}return g}))},d=(f,h,m={replace:!1})=>{l(p=>p.map(g=>{if(g.id===f){const v=typeof h=="function"?h(g):h;return m.replace&&cae(v)?v:{...g,...v}}return g}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>{var h;return(h=r(f))==null?void 0:h.internals.userNode},getInternalNode:r,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:a,setEdges:l,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(m=>[...m,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(m=>[...m,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:m}=t.getState(),[p,g,v]=m;return{nodes:f.map(y=>({...y})),edges:h.map(y=>({...y})),viewport:{x:p,y:g,zoom:v}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:m,edges:p,onNodesDelete:g,onEdgesDelete:v,triggerNodeChanges:y,triggerEdgeChanges:x,onDelete:E,onBeforeDelete:w}=t.getState(),{nodes:T,edges:S}=await _ie({nodesToRemove:f,edgesToRemove:h,nodes:m,edges:p,onBeforeDelete:w}),N=S.length>0,A=T.length>0;if(N){const C=S.map(Pj);v==null||v(S),x(C)}if(A){const C=T.map(Pj);g==null||g(T),y(C)}return(A||N)&&(E==null||E({nodes:T,edges:S})),{deletedNodes:T,deletedEdges:S}},getIntersectingNodes:(f,h=!0,m)=>{const p=mj(f),g=p?f:c(f),v=m!==void 0;return g?(m||t.getState().nodes).filter(y=>{const x=t.getState().nodeLookup.get(y.id);if(x&&!p&&(y.id===f.id||!x.internals.positionAbsolute))return!1;const E=of(v?y:x),w=mp(E,g);return h&&w>0||w>=E.width*E.height||w>=g.width*g.height}):[]},isNodeIntersecting:(f,h,m=!0)=>{const g=mj(f)?f:c(f);if(!g)return!1;const v=mp(g,h);return m&&v>0||v>=h.width*h.height||v>=g.width*g.height},updateNode:u,updateNodeData:(f,h,m={replace:!1})=>{u(f,p=>{const g=typeof h=="function"?h(p):h;return m.replace?{...p,data:g}:{...p,data:{...p.data,...g}}},m)},updateEdge:d,updateEdgeData:(f,h,m={replace:!1})=>{d(f,p=>{const g=typeof h=="function"?h(p):h;return m.replace?{...p,data:g}:{...p,data:{...p.data,...g}}},m)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:m}=t.getState();return Eie(f,{nodeLookup:h,nodeOrigin:m})},getHandleConnections:({type:f,id:h,nodeId:m})=>{var p;return Array.from(((p=t.getState().connectionLookup.get(`${m}-${f}${h?`-${h}`:""}`))==null?void 0:p.values())??[])},getNodeConnections:({type:f,handleId:h,nodeId:m})=>{var p;return Array.from(((p=t.getState().connectionLookup.get(`${m}${f?h?`-${f}-${h}`:`-${f}`:""}`))==null?void 0:p.values())??[])},fitView:async f=>{const h=t.getState().fitViewResolver??kie();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(m=>[...m]),h.promise}}},[]);return b.useMemo(()=>({...i,...e,viewportInitialized:s}),[s])}const Fj=e=>e.selected,pae=typeof window<"u"?window:void 0;function gae({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=hs(),{deleteElements:s}=Z1(),i=gp(e,{actInsideInputWithModifier:!1}),r=gp(t,{target:pae});b.useEffect(()=>{if(i){const{edges:a,nodes:l}=n.getState();s({nodes:l.filter(Fj),edges:a.filter(Fj)}),n.setState({nodesSelectionActive:!1})}},[i]),b.useEffect(()=>{n.setState({multiSelectionActive:r})},[r])}function bae(e){const t=hs();b.useEffect(()=>{const n=()=>{var i,r,a,l;if(!e.current||!(((r=(i=e.current).checkVisibility)==null?void 0:r.call(i))??!0))return!1;const s=Ik(e.current);(s.height===0||s.width===0)&&((l=(a=t.getState()).onError)==null||l.call(a,"004",Ea.error004())),t.setState({width:s.width||500,height:s.height||500})};if(e.current){n(),window.addEventListener("resize",n);const s=new ResizeObserver(()=>n());return s.observe(e.current),()=>{window.removeEventListener("resize",n),s&&e.current&&s.unobserve(e.current)}}},[])}const J1={position:"absolute",width:"100%",height:"100%",top:0,left:0},yae=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function xae({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:s=!1,panOnScrollSpeed:i=.5,panOnScrollMode:r=Mc.Free,zoomOnDoubleClick:a=!0,panOnDrag:l=!0,defaultViewport:c,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:m=!0,children:p,noWheelClassName:g,noPanClassName:v,onViewportChange:y,isControlledViewport:x,paneClickDistance:E,selectionOnDrag:w}){const T=hs(),S=b.useRef(null),{userSelectionActive:N,lib:A,connectionInProgress:C}=Xt(yae,fs),I=gp(h),O=b.useRef();bae(S);const L=b.useCallback(G=>{y==null||y({x:G[0],y:G[1],zoom:G[2]}),x||T.setState({transform:G})},[y,x]);return b.useEffect(()=>{if(S.current){O.current=ure({domNode:S.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:c,onDraggingChange:k=>T.setState(j=>j.paneDragging===k?j:{paneDragging:k}),onPanZoomStart:(k,j)=>{const{onViewportChangeStart:P,onMoveStart:$}=T.getState();$==null||$(k,j),P==null||P(j)},onPanZoom:(k,j)=>{const{onViewportChange:P,onMove:$}=T.getState();$==null||$(k,j),P==null||P(j)},onPanZoomEnd:(k,j)=>{const{onViewportChangeEnd:P,onMoveEnd:$}=T.getState();$==null||$(k,j),P==null||P(j)}});const{x:G,y:D,zoom:F}=O.current.getViewport();return T.setState({panZoom:O.current,transform:[G,D,F],domNode:S.current.closest(".react-flow")}),()=>{var k;(k=O.current)==null||k.destroy()}}},[]),b.useEffect(()=>{var G;(G=O.current)==null||G.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:s,panOnScrollSpeed:i,panOnScrollMode:r,zoomOnDoubleClick:a,panOnDrag:l,zoomActivationKeyPressed:I,preventScrolling:m,noPanClassName:v,userSelectionActive:N,noWheelClassName:g,lib:A,onTransformChange:L,connectionInProgress:C,selectionOnDrag:w,paneClickDistance:E})},[e,t,n,s,i,r,a,l,I,m,v,N,g,A,L,C,w,E]),o.jsx("div",{className:"react-flow__renderer",ref:S,style:J1,children:p})}const Eae=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function vae(){const{userSelectionActive:e,userSelectionRect:t}=Xt(Eae,fs);return e&&t?o.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 bv=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},wae=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Sae({isSelecting:e,selectionKeyPressed:t,selectionMode:n=hp.Full,panOnDrag:s,autoPanOnSelection:i,paneClickDistance:r,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:c,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:f,onPaneMouseEnter:h,onPaneMouseMove:m,onPaneMouseLeave:p,children:g}){const v=b.useRef(0),y=hs(),{userSelectionActive:x,elementsSelectable:E,dragging:w,connectionInProgress:T,panBy:S,autoPanSpeed:N}=Xt(wae,fs),A=E&&(e||x),C=b.useRef(null),I=b.useRef(),O=b.useRef(new Set),L=b.useRef(new Set),G=b.useRef(!1),D=b.useRef({x:0,y:0}),F=b.useRef(!1),k=W=>{if(G.current||T){G.current=!1;return}u==null||u(W),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},j=W=>{if(Array.isArray(s)&&(s!=null&&s.includes(2))){W.preventDefault();return}d==null||d(W)},P=f?W=>f(W):void 0,$=W=>{G.current&&(W.stopPropagation(),G.current=!1)},R=W=>{var ve,xe;const{domNode:de,transform:ye}=y.getState();if(I.current=de==null?void 0:de.getBoundingClientRect(),!I.current)return;const _e=W.target===C.current;if(!_e&&!!W.target.closest(".nokey")||!e||!(a&&_e||t)||W.button!==0||!W.isPrimary)return;(xe=(ve=W.target)==null?void 0:ve.setPointerCapture)==null||xe.call(ve,W.pointerId),G.current=!1;const{x:Ce,y:pe}=ga(W.nativeEvent,I.current),oe=Df({x:Ce,y:pe},ye);y.setState({userSelectionRect:{width:0,height:0,startX:oe.x,startY:oe.y,x:Ce,y:pe}}),_e||(W.stopPropagation(),W.preventDefault())};function q(W,de){const{userSelectionRect:ye}=y.getState();if(!ye)return;const{transform:_e,nodeLookup:ue,edgeLookup:me,connectionLookup:Ce,triggerNodeChanges:pe,triggerEdgeChanges:oe,defaultEdgeOptions:ve}=y.getState(),xe={x:ye.startX,y:ye.startY},{x:Ze,y:De}=lf(xe,_e),Ve={startX:xe.x,startY:xe.y,x:WGe.id)),L.current=new Set;const He=(ve==null?void 0:ve.selectable)??!0;for(const Ge of O.current){const X=Ce.get(Ge);if(X)for(const{edgeId:ie}of X.values()){const se=me.get(ie);se&&(se.selectable??He)&&L.current.add(ie)}}if(!pj(Se,O.current)){const Ge=md(ue,O.current,!0);pe(Ge)}if(!pj(Fe,L.current)){const Ge=md(me,L.current);oe(Ge)}y.setState({userSelectionRect:Ve,userSelectionActive:!0,nodesSelectionActive:!1})}function Q(){if(!i||!I.current)return;const[W,de]=kk(D.current,I.current,N);S({x:W,y:de}).then(ye=>{if(!G.current||!ye){v.current=requestAnimationFrame(Q);return}const{x:_e,y:ue}=D.current;q(_e,ue),v.current=requestAnimationFrame(Q)})}const B=()=>{cancelAnimationFrame(v.current),v.current=0,F.current=!1};b.useEffect(()=>()=>B(),[]);const ee=W=>{const{userSelectionRect:de,transform:ye,resetSelectedElements:_e}=y.getState();if(!I.current||!de)return;const{x:ue,y:me}=ga(W.nativeEvent,I.current);D.current={x:ue,y:me};const Ce=lf({x:de.startX,y:de.startY},ye);if(!G.current){const pe=t?0:r;if(Math.hypot(ue-Ce.x,me-Ce.y)<=pe)return;_e(),l==null||l(W)}G.current=!0,F.current||(Q(),F.current=!0),q(ue,me)},z=W=>{var de,ye;W.button===0&&((ye=(de=W.target)==null?void 0:de.releasePointerCapture)==null||ye.call(de,W.pointerId),!x&&W.target===C.current&&y.getState().userSelectionRect&&(k==null||k(W)),y.setState({userSelectionActive:!1,userSelectionRect:null}),G.current&&(c==null||c(W),y.setState({nodesSelectionActive:O.current.size>0})),B())},K=W=>{var de,ye;(ye=(de=W.target)==null?void 0:de.releasePointerCapture)==null||ye.call(de,W.pointerId),B()},ne=s===!0||Array.isArray(s)&&s.includes(0);return o.jsxs("div",{className:Xs(["react-flow__pane",{draggable:ne,dragging:w,selection:e}]),onClick:A?void 0:bv(k,C),onContextMenu:bv(j,C),onWheel:bv(P,C),onPointerEnter:A?void 0:h,onPointerMove:A?ee:m,onPointerUp:A?z:void 0,onPointerCancel:A?K:void 0,onPointerDownCapture:A?R:void 0,onClickCapture:A?$:void 0,onPointerLeave:p,ref:C,style:J1,children:[g,o.jsx(vae,{})]})}function o_({id:e,store:t,unselect:n=!1,nodeRef:s}){const{addSelectedNodes:i,unselectNodesAndEdges:r,multiSelectionActive:a,nodeLookup:l,onError:c}=t.getState(),u=l.get(e);if(!u){c==null||c("012",Ea.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(r({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=s==null?void 0:s.current)==null?void 0:d.blur()})):i([e])}function H8({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:s,nodeId:i,isSelectable:r,nodeClickDistance:a}){const l=hs(),[c,u]=b.useState(!1),d=b.useRef();return b.useEffect(()=>{d.current=Xie({getStoreItems:()=>l.getState(),onNodeMouseDown:f=>{o_({id:f,store:l,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),b.useEffect(()=>{if(!(t||!e.current||!d.current))return d.current.update({noDragClassName:n,handleSelector:s,domNode:e.current,isSelectable:r,nodeId:i,nodeClickDistance:a}),()=>{var f;(f=d.current)==null||f.destroy()}},[n,s,t,r,e,i,a]),c}const _ae=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function z8(){const e=hs();return b.useCallback(n=>{const{nodeExtent:s,snapToGrid:i,snapGrid:r,nodesDraggable:a,onError:l,updateNodePositions:c,nodeLookup:u,nodeOrigin:d}=e.getState(),f=new Map,h=_ae(a),m=i?r[0]:5,p=i?r[1]:5,g=n.direction.x*m*n.factor,v=n.direction.y*p*n.factor;for(const[,y]of u){if(!h(y))continue;let x={x:y.internals.positionAbsolute.x+g,y:y.internals.positionAbsolute.y+v};i&&(x=Zp(x,r));const{position:E,positionAbsolute:w}=i8({nodeId:y.id,nextPosition:x,nodeLookup:u,nodeExtent:s,nodeOrigin:d,onError:l});y.position=E,y.internals.positionAbsolute=w,f.set(y.id,y)}c(f)},[])}const Dk=b.createContext(null),Tae=Dk.Provider;Dk.Consumer;const V8=()=>b.useContext(Dk),Nae=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),kae=(e,t,n)=>s=>{const{connectionClickStartHandle:i,connectionMode:r,connection:a}=s,{fromHandle:l,toHandle:c,isValid:u}=a,d=(c==null?void 0:c.nodeId)===e&&(c==null?void 0:c.id)===t&&(c==null?void 0:c.type)===n;return{connectingFrom:(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===t&&(l==null?void 0:l.type)===n,connectingTo:d,clickConnecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.id)===t&&(i==null?void 0:i.type)===n,isPossibleEndHandle:r===sf.Strict?(l==null?void 0:l.type)!==n:e!==(l==null?void 0:l.nodeId)||t!==(l==null?void 0:l.id),connectionInProcess:!!l,clickConnectionInProcess:!!i,valid:d&&u}};function Aae({type:e="source",position:t=We.Top,isValidConnection:n,isConnectable:s=!0,isConnectableStart:i=!0,isConnectableEnd:r=!0,id:a,onConnect:l,children:c,className:u,onMouseDown:d,onTouchStart:f,...h},m){var F,k;const p=a||null,g=e==="target",v=hs(),y=V8(),{connectOnClick:x,noPanClassName:E,rfId:w}=Xt(Nae,fs),{connectingFrom:T,connectingTo:S,clickConnecting:N,isPossibleEndHandle:A,connectionInProcess:C,clickConnectionInProcess:I,valid:O}=Xt(kae(y,p,e),fs);y||(k=(F=v.getState()).onError)==null||k.call(F,"010",Ea.error010());const L=j=>{const{defaultEdgeOptions:P,onConnect:$,hasDefaultEdges:R}=v.getState(),q={...P,...j};if(R){const{edges:Q,setEdges:B,onError:ee}=v.getState();B(U8(q,Q,{onError:ee}))}$==null||$(q),l==null||l(q)},G=j=>{if(!y)return;const P=d8(j.nativeEvent);if(i&&(P&&j.button===0||!P)){const $=v.getState();a_.onPointerDown(j.nativeEvent,{handleDomNode:j.currentTarget,autoPanOnConnect:$.autoPanOnConnect,connectionMode:$.connectionMode,connectionRadius:$.connectionRadius,domNode:$.domNode,nodeLookup:$.nodeLookup,lib:$.lib,isTarget:g,handleId:p,nodeId:y,flowId:$.rfId,panBy:$.panBy,cancelConnection:$.cancelConnection,onConnectStart:$.onConnectStart,onConnectEnd:(...R)=>{var q,Q;return(Q=(q=v.getState()).onConnectEnd)==null?void 0:Q.call(q,...R)},updateConnection:$.updateConnection,onConnect:L,isValidConnection:n||((...R)=>{var q,Q;return((Q=(q=v.getState()).isValidConnection)==null?void 0:Q.call(q,...R))??!0}),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:$.autoPanSpeed,dragThreshold:$.connectionDragThreshold})}P?d==null||d(j):f==null||f(j)},D=j=>{const{onClickConnectStart:P,onClickConnectEnd:$,connectionClickStartHandle:R,connectionMode:q,isValidConnection:Q,lib:B,rfId:ee,nodeLookup:z,connection:K}=v.getState();if(!y||!R&&!i)return;if(!R){P==null||P(j.nativeEvent,{nodeId:y,handleId:p,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:y,type:e,id:p}});return}const ne=c8(j.target),W=n||Q,{connection:de,isValid:ye}=a_.isValid(j.nativeEvent,{handle:{nodeId:y,id:p,type:e},connectionMode:q,fromNodeId:R.nodeId,fromHandleId:R.id||null,fromType:R.type,isValidConnection:W,flowId:ee,doc:ne,lib:B,nodeLookup:z});ye&&de&&L(de);const _e=structuredClone(K);delete _e.inProgress,_e.toPosition=_e.toHandle?_e.toHandle.position:null,$==null||$(j,_e),v.setState({connectionClickStartHandle:null})};return o.jsx("div",{"data-handleid":p,"data-nodeid":y,"data-handlepos":t,"data-id":`${w}-${y}-${p}-${e}`,className:Xs(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",E,u,{source:!g,target:g,connectable:s,connectablestart:i,connectableend:r,clickconnecting:N,connectingfrom:T,connectingto:S,valid:O,connectionindicator:s&&(!C||A)&&(C||I?r:i)}]),onMouseDown:G,onTouchStart:G,onClick:x?D:void 0,ref:m,...h,children:c})}const Ri=b.memo(F8(Aae));function Cae({data:e,isConnectable:t,sourcePosition:n=We.Bottom}){return o.jsxs(o.Fragment,{children:[e==null?void 0:e.label,o.jsx(Ri,{type:"source",position:n,isConnectable:t})]})}function Iae({data:e,isConnectable:t,targetPosition:n=We.Top,sourcePosition:s=We.Bottom}){return o.jsxs(o.Fragment,{children:[o.jsx(Ri,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,o.jsx(Ri,{type:"source",position:s,isConnectable:t})]})}function Rae(){return null}function jae({data:e,isConnectable:t,targetPosition:n=We.Top}){return o.jsxs(o.Fragment,{children:[o.jsx(Ri,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]})}const jy={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},$j={input:Cae,default:Iae,output:jae,group:Rae};function Oae(e){var t,n,s,i;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??((s=e.style)==null?void 0:s.width),height:e.height??((i=e.style)==null?void 0:i.height)}}const Mae=e=>{const{width:t,height:n,x:s,y:i}=Qp(e.nodeLookup,{filter:r=>!!r.selected});return{width:pa(t)?t:null,height:pa(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${s}px,${i}px)`}};function Lae({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const s=hs(),{width:i,height:r,transformString:a,userSelectionActive:l}=Xt(Mae,fs),c=z8(),u=b.useRef(null);b.useEffect(()=>{var m;n||(m=u.current)==null||m.focus({preventScroll:!0})},[n]);const d=!l&&i!==null&&r!==null;if(H8({nodeRef:u,disabled:!d}),!d)return null;const f=e?m=>{const p=s.getState().nodes.filter(g=>g.selected);e(m,p)}:void 0,h=m=>{Object.prototype.hasOwnProperty.call(jy,m.key)&&(m.preventDefault(),c({direction:jy[m.key],factor:m.shiftKey?4:1}))};return o.jsx("div",{className:Xs(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:o.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:i,height:r}})})}const Hj=typeof window<"u"?window:void 0,Dae=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function G8({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:s,onPaneMouseLeave:i,onPaneContextMenu:r,onPaneScroll:a,paneClickDistance:l,deleteKeyCode:c,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:p,panActivationKeyCode:g,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:x,zoomOnPinch:E,panOnScroll:w,panOnScrollSpeed:T,panOnScrollMode:S,zoomOnDoubleClick:N,panOnDrag:A,autoPanOnSelection:C,defaultViewport:I,translateExtent:O,minZoom:L,maxZoom:G,preventScrolling:D,onSelectionContextMenu:F,noWheelClassName:k,noPanClassName:j,disableKeyboardA11y:P,onViewportChange:$,isControlledViewport:R}){const{nodesSelectionActive:q,userSelectionActive:Q}=Xt(Dae,fs),B=gp(u,{target:Hj}),ee=gp(g,{target:Hj}),z=ee||A,K=ee||w,ne=d&&z!==!0,W=B||Q||ne;return gae({deleteKeyCode:c,multiSelectionKeyCode:p}),o.jsx(xae,{onPaneContextMenu:r,elementsSelectable:y,zoomOnScroll:x,zoomOnPinch:E,panOnScroll:K,panOnScrollSpeed:T,panOnScrollMode:S,zoomOnDoubleClick:N,panOnDrag:!B&&z,defaultViewport:I,translateExtent:O,minZoom:L,maxZoom:G,zoomActivationKeyCode:v,preventScrolling:D,noWheelClassName:k,noPanClassName:j,onViewportChange:$,isControlledViewport:R,paneClickDistance:l,selectionOnDrag:ne,children:o.jsxs(Sae,{onSelectionStart:h,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:s,onPaneMouseLeave:i,onPaneContextMenu:r,onPaneScroll:a,panOnDrag:z,autoPanOnSelection:C,isSelecting:!!W,selectionMode:f,selectionKeyPressed:B,paneClickDistance:l,selectionOnDrag:ne,children:[e,q&&o.jsx(Lae,{onSelectionContextMenu:F,noPanClassName:j,disableKeyboardA11y:P})]})})}G8.displayName="FlowRenderer";const Pae=b.memo(G8),Bae=e=>t=>e?Nk(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 Xt(b.useCallback(Bae(e),[e]),fs)}const Fae=e=>e.updateNodeInternals;function $ae(){const e=Xt(Fae),[t]=b.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const s=new Map;n.forEach(i=>{const r=i.target.getAttribute("data-id");s.set(r,{id:r,nodeElement:i.target,force:!0})}),e(s)}));return b.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function Hae({node:e,nodeType:t,hasDimensions:n,resizeObserver:s}){const i=hs(),r=b.useRef(null),a=b.useRef(null),l=b.useRef(e.sourcePosition),c=b.useRef(e.targetPosition),u=b.useRef(t),d=n&&!!e.internals.handleBounds;return b.useEffect(()=>{r.current&&!e.hidden&&(!d||a.current!==r.current)&&(a.current&&(s==null||s.unobserve(a.current)),s==null||s.observe(r.current),a.current=r.current)},[d,e.hidden]),b.useEffect(()=>()=>{a.current&&(s==null||s.unobserve(a.current),a.current=null)},[]),b.useEffect(()=>{if(r.current){const f=u.current!==t,h=l.current!==e.sourcePosition,m=c.current!==e.targetPosition;(f||h||m)&&(u.current=t,l.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:r.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),r}function zae({id:e,onClick:t,onMouseEnter:n,onMouseMove:s,onMouseLeave:i,onContextMenu:r,onDoubleClick:a,nodesDraggable:l,elementsSelectable:c,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:h,noPanClassName:m,disableKeyboardA11y:p,rfId:g,nodeTypes:v,nodeClickDistance:y,onError:x}){const{node:E,internals:w,isParent:T}=Xt(W=>{const de=W.nodeLookup.get(e),ye=W.parentLookup.has(e);return{node:de,internals:de.internals,isParent:ye}},fs);let S=E.type||"default",N=(v==null?void 0:v[S])||$j[S];N===void 0&&(x==null||x("003",Ea.error003(S)),S="default",N=(v==null?void 0:v.default)||$j.default);const A=!!(E.draggable||l&&typeof E.draggable>"u"),C=!!(E.selectable||c&&typeof E.selectable>"u"),I=!!(E.connectable||u&&typeof E.connectable>"u"),O=!!(E.focusable||d&&typeof E.focusable>"u"),L=hs(),G=Ck(E),D=Hae({node:E,nodeType:S,hasDimensions:G,resizeObserver:f}),F=H8({nodeRef:D,disabled:E.hidden||!A,noDragClassName:h,handleSelector:E.dragHandle,nodeId:e,isSelectable:C,nodeClickDistance:y}),k=z8();if(E.hidden)return null;const j=zo(E),P=Oae(E),$=C||A||t||n||s||i,R=n?W=>n(W,{...w.userNode}):void 0,q=s?W=>s(W,{...w.userNode}):void 0,Q=i?W=>i(W,{...w.userNode}):void 0,B=r?W=>r(W,{...w.userNode}):void 0,ee=a?W=>a(W,{...w.userNode}):void 0,z=W=>{const{selectNodesOnDrag:de,nodeDragThreshold:ye}=L.getState();C&&(!de||!A||ye>0)&&o_({id:e,store:L,nodeRef:D}),t&&t(W,{...w.userNode})},K=W=>{if(!(u8(W.nativeEvent)||p)){if(JB.includes(W.key)&&C){const de=W.key==="Escape";o_({id:e,store:L,unselect:de,nodeRef:D})}else if(A&&E.selected&&Object.prototype.hasOwnProperty.call(jy,W.key)){W.preventDefault();const{ariaLabelConfig:de}=L.getState();L.setState({ariaLiveMessage:de["node.a11yDescription.ariaLiveMessage"]({direction:W.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),k({direction:jy[W.key],factor:W.shiftKey?4:1})}}},ne=()=>{var Ce;if(p||!((Ce=D.current)!=null&&Ce.matches(":focus-visible")))return;const{transform:W,width:de,height:ye,autoPanOnNodeFocus:_e,setCenter:ue}=L.getState();if(!_e)return;Nk(new Map([[e,E]]),{x:0,y:0,width:de,height:ye},W,!0).length>0||ue(E.position.x+j.width/2,E.position.y+j.height/2,{zoom:W[2]})};return o.jsx("div",{className:Xs(["react-flow__node",`react-flow__node-${S}`,{[m]:A},E.className,{selected:E.selected,selectable:C,parent:T,draggable:A,dragging:F}]),ref:D,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:$?"all":"none",visibility:G?"visible":"hidden",...E.style,...P},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:R,onMouseMove:q,onMouseLeave:Q,onContextMenu:B,onClick:z,onDoubleClick:ee,onKeyDown:O?K:void 0,tabIndex:O?0:void 0,onFocus:O?ne:void 0,role:E.ariaRole??(O?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${O8}-${g}`,"aria-label":E.ariaLabel,...E.domAttributes,children:o.jsx(Tae,{value:e,children:o.jsx(N,{id:e,data:E.data,type:S,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:E.selected??!1,selectable:C,draggable:A,deletable:E.deletable??!0,isConnectable:I,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:F,dragHandle:E.dragHandle,zIndex:w.z,parentId:E.parentId,...j})})})}var Vae=b.memo(zae);const Gae=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function K8(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:s,elementsSelectable:i,onError:r}=Xt(Gae,fs),a=Uae(e.onlyRenderVisibleElements),l=$ae();return o.jsx("div",{className:"react-flow__nodes",style:J1,children:a.map(c=>o.jsx(Vae,{id:c,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:l,nodesDraggable:t,nodesConnectable:n,nodesFocusable:s,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:r},c))})}K8.displayName="NodeRenderer";const Kae=b.memo(K8);function qae(e){return Xt(b.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const s=[];if(n.width&&n.height)for(const i of n.edges){const r=n.nodeLookup.get(i.source),a=n.nodeLookup.get(i.target);r&&a&&Rie({sourceNode:r,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&s.push(i.id)}return s},[e]),fs)}const Yae=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return o.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Wae=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return o.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},zj={[rf.Arrow]:Yae,[rf.ArrowClosed]:Wae};function Xae(e){const t=hs();return b.useMemo(()=>{var i,r;return Object.prototype.hasOwnProperty.call(zj,e)?zj[e]:((r=(i=t.getState()).onError)==null||r.call(i,"009",Ea.error009(e)),null)},[e])}const Qae=({id:e,type:t,color:n,width:s=12.5,height:i=12.5,markerUnits:r="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{const c=Xae(t);return c?o.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${s}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:r,orient:l,refX:"0",refY:"0",children:o.jsx(c,{color:n,strokeWidth:a})}):null},q8=({defaultColor:e,rfId:t})=>{const n=Xt(r=>r.edges),s=Xt(r=>r.defaultEdgeOptions),i=b.useMemo(()=>Uie(n,{id:t,defaultColor:e,defaultMarkerStart:s==null?void 0:s.markerStart,defaultMarkerEnd:s==null?void 0:s.markerEnd}),[n,s,t,e]);return i.length?o.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:o.jsx("defs",{children:i.map(r=>o.jsx(Qae,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})}):null};q8.displayName="MarkerDefinitions";var Zae=b.memo(q8);function Y8({x:e,y:t,label:n,labelStyle:s,labelShowBg:i=!0,labelBgStyle:r,labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:c,className:u,...d}){const[f,h]=b.useState({x:1,y:0,width:0,height:0}),m=Xs(["react-flow__edge-textwrapper",u]),p=b.useRef(null);return b.useEffect(()=>{if(p.current){const g=p.current.getBBox();h({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),n?o.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:m,visibility:f.width?"visible":"hidden",...d,children:[i&&o.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:r,rx:l,ry:l}),o.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:s,children:n}),c]}):null}Y8.displayName="EdgeText";const Jae=b.memo(Y8);function Jp({path:e,labelX:t,labelY:n,label:s,labelStyle:i,labelShowBg:r,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c,interactionWidth:u=20,...d}){return o.jsxs(o.Fragment,{children:[o.jsx("path",{...d,d:e,fill:"none",className:Xs(["react-flow__edge-path",d.className])}),u?o.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,s&&pa(t)&&pa(n)?o.jsx(Jae,{x:t,y:n,label:s,labelStyle:i,labelShowBg:r,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:c}):null]})}function Vj({pos:e,x1:t,y1:n,x2:s,y2:i}){return e===We.Left||e===We.Right?[.5*(t+s),n]:[t,.5*(n+i)]}function W8({sourceX:e,sourceY:t,sourcePosition:n=We.Bottom,targetX:s,targetY:i,targetPosition:r=We.Top}){const[a,l]=Vj({pos:n,x1:e,y1:t,x2:s,y2:i}),[c,u]=Vj({pos:r,x1:s,y1:i,x2:e,y2:t}),[d,f,h,m]=f8({sourceX:e,sourceY:t,targetX:s,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${a},${l} ${c},${u} ${s},${i}`,d,f,h,m]}function X8(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,sourcePosition:a,targetPosition:l,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,interactionWidth:y})=>{const[x,E,w]=W8({sourceX:n,sourceY:s,sourcePosition:a,targetX:i,targetY:r,targetPosition:l}),T=e.isInternal?void 0:t;return o.jsx(Jp,{id:T,path:x,labelX:E,labelY:w,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,interactionWidth:y})})}const eoe=X8({isInternal:!1}),Q8=X8({isInternal:!0});eoe.displayName="SimpleBezierEdge";Q8.displayName="SimpleBezierEdgeInternal";function Z8(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,sourcePosition:m=We.Bottom,targetPosition:p=We.Top,markerEnd:g,markerStart:v,pathOptions:y,interactionWidth:x})=>{const[E,w,T]=Ry({sourceX:n,sourceY:s,sourcePosition:m,targetX:i,targetY:r,targetPosition:p,borderRadius:y==null?void 0:y.borderRadius,offset:y==null?void 0:y.offset,stepPosition:y==null?void 0:y.stepPosition}),S=e.isInternal?void 0:t;return o.jsx(Jp,{id:S,path:E,labelX:w,labelY:T,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:x})})}const J8=Z8({isInternal:!1}),e9=Z8({isInternal:!0});J8.displayName="SmoothStepEdge";e9.displayName="SmoothStepEdgeInternal";function t9(e){return b.memo(({id:t,...n})=>{var i;const s=e.isInternal?void 0:t;return o.jsx(J8,{...n,id:s,pathOptions:b.useMemo(()=>{var r;return{borderRadius:0,offset:(r=n.pathOptions)==null?void 0:r.offset}},[(i=n.pathOptions)==null?void 0:i.offset])})})}const toe=t9({isInternal:!1}),n9=t9({isInternal:!0});toe.displayName="StepEdge";n9.displayName="StepEdgeInternal";function s9(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:p,interactionWidth:g})=>{const[v,y,x]=p8({sourceX:n,sourceY:s,targetX:i,targetY:r}),E=e.isInternal?void 0:t;return o.jsx(Jp,{id:E,path:v,labelX:y,labelY:x,label:a,labelStyle:l,labelShowBg:c,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:h,markerEnd:m,markerStart:p,interactionWidth:g})})}const noe=s9({isInternal:!1}),i9=s9({isInternal:!0});noe.displayName="StraightEdge";i9.displayName="StraightEdgeInternal";function r9(e){return b.memo(({id:t,sourceX:n,sourceY:s,targetX:i,targetY:r,sourcePosition:a=We.Bottom,targetPosition:l=We.Top,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,pathOptions:y,interactionWidth:x})=>{const[E,w,T]=h8({sourceX:n,sourceY:s,sourcePosition:a,targetX:i,targetY:r,targetPosition:l,curvature:y==null?void 0:y.curvature}),S=e.isInternal?void 0:t;return o.jsx(Jp,{id:S,path:E,labelX:w,labelY:T,label:c,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:m,style:p,markerEnd:g,markerStart:v,interactionWidth:x})})}const soe=r9({isInternal:!1}),a9=r9({isInternal:!0});soe.displayName="BezierEdge";a9.displayName="BezierEdgeInternal";const Gj={default:a9,straight:i9,step:n9,smoothstep:e9,simplebezier:Q8},Kj={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},ioe=(e,t,n)=>n===We.Left?e-t:n===We.Right?e+t:e,roe=(e,t,n)=>n===We.Top?e-t:n===We.Bottom?e+t:e,qj="react-flow__edgeupdater";function Yj({position:e,centerX:t,centerY:n,radius:s=10,onMouseDown:i,onMouseEnter:r,onMouseOut:a,type:l}){return o.jsx("circle",{onMouseDown:i,onMouseEnter:r,onMouseOut:a,className:Xs([qj,`${qj}-${l}`]),cx:ioe(t,s,e),cy:roe(n,s,e),r:s,stroke:"transparent",fill:"transparent"})}function aoe({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:s,sourceY:i,targetX:r,targetY:a,sourcePosition:l,targetPosition:c,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:h,setUpdateHover:m}){const p=hs(),g=(w,T)=>{if(w.button!==0)return;const{autoPanOnConnect:S,domNode:N,connectionMode:A,connectionRadius:C,lib:I,onConnectStart:O,cancelConnection:L,nodeLookup:G,rfId:D,panBy:F,updateConnection:k}=p.getState(),j=T.type==="target",P=(q,Q)=>{h(!1),f==null||f(q,n,T.type,Q)},$=q=>u==null?void 0:u(n,q),R=(q,Q)=>{h(!0),d==null||d(w,n,T.type),O==null||O(q,Q)};a_.onPointerDown(w.nativeEvent,{autoPanOnConnect:S,connectionMode:A,connectionRadius:C,domNode:N,handleId:T.id,nodeId:T.nodeId,nodeLookup:G,isTarget:j,edgeUpdaterType:T.type,lib:I,flowId:D,cancelConnection:L,panBy:F,isValidConnection:(...q)=>{var Q,B;return((B=(Q=p.getState()).isValidConnection)==null?void 0:B.call(Q,...q))??!0},onConnect:$,onConnectStart:R,onConnectEnd:(...q)=>{var Q,B;return(B=(Q=p.getState()).onConnectEnd)==null?void 0:B.call(Q,...q)},onReconnectEnd:P,updateConnection:k,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},v=w=>g(w,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),y=w=>g(w,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),x=()=>m(!0),E=()=>m(!1);return o.jsxs(o.Fragment,{children:[(e===!0||e==="source")&&o.jsx(Yj,{position:l,centerX:s,centerY:i,radius:t,onMouseDown:v,onMouseEnter:x,onMouseOut:E,type:"source"}),(e===!0||e==="target")&&o.jsx(Yj,{position:c,centerX:r,centerY:a,radius:t,onMouseDown:y,onMouseEnter:x,onMouseOut:E,type:"target"})]})}function ooe({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:s,onClick:i,onDoubleClick:r,onContextMenu:a,onMouseEnter:l,onMouseMove:c,onMouseLeave:u,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:m,rfId:p,edgeTypes:g,noPanClassName:v,onError:y,disableKeyboardA11y:x}){let E=Xt(ue=>ue.edgeLookup.get(e));const w=Xt(ue=>ue.defaultEdgeOptions);E=w?{...w,...E}:E;let T=E.type||"default",S=(g==null?void 0:g[T])||Gj[T];S===void 0&&(y==null||y("011",Ea.error011(T)),T="default",S=(g==null?void 0:g.default)||Gj.default);const N=!!(E.focusable||t&&typeof E.focusable>"u"),A=typeof f<"u"&&(E.reconnectable||n&&typeof E.reconnectable>"u"),C=!!(E.selectable||s&&typeof E.selectable>"u"),I=b.useRef(null),[O,L]=b.useState(!1),[G,D]=b.useState(!1),F=hs(),{zIndex:k,sourceX:j,sourceY:P,targetX:$,targetY:R,sourcePosition:q,targetPosition:Q}=Xt(b.useCallback(ue=>{const me=ue.nodeLookup.get(E.source),Ce=ue.nodeLookup.get(E.target);if(!me||!Ce)return{zIndex:E.zIndex,...Kj};const pe=Bie({id:e,sourceNode:me,targetNode:Ce,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:ue.connectionMode,onError:y});return{zIndex:Iie({selected:E.selected,zIndex:E.zIndex,sourceNode:me,targetNode:Ce,elevateOnSelect:ue.elevateEdgesOnSelect,zIndexMode:ue.zIndexMode}),...pe||Kj}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),fs),B=b.useMemo(()=>E.markerStart?`url('#${i_(E.markerStart,p)}')`:void 0,[E.markerStart,p]),ee=b.useMemo(()=>E.markerEnd?`url('#${i_(E.markerEnd,p)}')`:void 0,[E.markerEnd,p]);if(E.hidden||j===null||P===null||$===null||R===null)return null;const z=ue=>{var oe;const{addSelectedEdges:me,unselectNodesAndEdges:Ce,multiSelectionActive:pe}=F.getState();C&&(F.setState({nodesSelectionActive:!1}),E.selected&&pe?(Ce({nodes:[],edges:[E]}),(oe=I.current)==null||oe.blur()):me([e])),i&&i(ue,E)},K=r?ue=>{r(ue,{...E})}:void 0,ne=a?ue=>{a(ue,{...E})}:void 0,W=l?ue=>{l(ue,{...E})}:void 0,de=c?ue=>{c(ue,{...E})}:void 0,ye=u?ue=>{u(ue,{...E})}:void 0,_e=ue=>{var me;if(!x&&JB.includes(ue.key)&&C){const{unselectNodesAndEdges:Ce,addSelectedEdges:pe}=F.getState();ue.key==="Escape"?((me=I.current)==null||me.blur(),Ce({edges:[E]})):pe([e])}};return o.jsx("svg",{style:{zIndex:k},children:o.jsxs("g",{className:Xs(["react-flow__edge",`react-flow__edge-${T}`,E.className,v,{selected:E.selected,animated:E.animated,inactive:!C&&!i,updating:O,selectable:C}]),onClick:z,onDoubleClick:K,onContextMenu:ne,onMouseEnter:W,onMouseMove:de,onMouseLeave:ye,onKeyDown:N?_e:void 0,tabIndex:N?0:void 0,role:E.ariaRole??(N?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":N?`${M8}-${p}`:void 0,ref:I,...E.domAttributes,children:[!G&&o.jsx(S,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:C,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:j,sourceY:P,targetX:$,targetY:R,sourcePosition:q,targetPosition:Q,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:B,markerEnd:ee,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),A&&o.jsx(aoe,{edge:E,isReconnectable:A,reconnectRadius:d,onReconnect:f,onReconnectStart:h,onReconnectEnd:m,sourceX:j,sourceY:P,targetX:$,targetY:R,sourcePosition:q,targetPosition:Q,setUpdateHover:L,setReconnecting:D})]})})}var loe=b.memo(ooe);const coe=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function o9({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:s,noPanClassName:i,onReconnect:r,onEdgeContextMenu:a,onEdgeMouseEnter:l,onEdgeMouseMove:c,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:m,onReconnectEnd:p,disableKeyboardA11y:g}){const{edgesFocusable:v,edgesReconnectable:y,elementsSelectable:x,onError:E}=Xt(coe,fs),w=qae(t);return o.jsxs("div",{className:"react-flow__edges",children:[o.jsx(Zae,{defaultColor:e,rfId:n}),w.map(T=>o.jsx(loe,{id:T,edgesFocusable:v,edgesReconnectable:y,elementsSelectable:x,noPanClassName:i,onReconnect:r,onContextMenu:a,onMouseEnter:l,onMouseMove:c,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:h,onReconnectStart:m,onReconnectEnd:p,rfId:n,onError:E,edgeTypes:s,disableKeyboardA11y:g},T))]})}o9.displayName="EdgeRenderer";const uoe=b.memo(o9),doe=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function foe({children:e}){const t=Xt(doe);return o.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function hoe(e){const t=Z1(),n=b.useRef(!1);b.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const moe=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function poe(e){const t=Xt(moe),n=hs();return b.useEffect(()=>{e&&(t==null||t(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function goe(e){return e.connection.inProgress?{...e.connection,to:Df(e.connection.to,e.transform)}:{...e.connection}}function boe(e){return goe}function yoe(e){const t=boe();return Xt(t,fs)}const xoe=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Eoe({containerStyle:e,style:t,type:n,component:s}){const{nodesConnectable:i,width:r,height:a,isValid:l,inProgress:c}=Xt(xoe,fs);return!(r&&i&&c)?null:o.jsx("svg",{style:e,width:r,height:a,className:"react-flow__connectionline react-flow__container",children:o.jsx("g",{className:Xs(["react-flow__connection",n8(l)]),children:o.jsx(l9,{style:t,type:n,CustomComponent:s,isValid:l})})})}const l9=({style:e,type:t=bl.Bezier,CustomComponent:n,isValid:s})=>{const{inProgress:i,from:r,fromNode:a,fromHandle:l,fromPosition:c,to:u,toNode:d,toHandle:f,toPosition:h,pointer:m}=yoe();if(!i)return;if(n)return o.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:l,fromX:r.x,fromY:r.y,toX:u.x,toY:u.y,fromPosition:c,toPosition:h,connectionStatus:n8(s),toNode:d,toHandle:f,pointer:m});let p="";const g={sourceX:r.x,sourceY:r.y,sourcePosition:c,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case bl.Bezier:[p]=h8(g);break;case bl.SimpleBezier:[p]=W8(g);break;case bl.Step:[p]=Ry({...g,borderRadius:0});break;case bl.SmoothStep:[p]=Ry(g);break;default:[p]=p8(g)}return o.jsx("path",{d:p,fill:"none",className:"react-flow__connection-path",style:e})};l9.displayName="ConnectionLine";const voe={};function Wj(e=voe){b.useRef(e),hs(),b.useEffect(()=>{},[e])}function woe(){hs(),b.useRef(!1),b.useEffect(()=>{},[])}function c9({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:s,onEdgeClick:i,onNodeDoubleClick:r,onEdgeDoubleClick:a,onNodeMouseEnter:l,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:m,connectionLineType:p,connectionLineStyle:g,connectionLineComponent:v,connectionLineContainerStyle:y,selectionKeyCode:x,selectionOnDrag:E,selectionMode:w,multiSelectionKeyCode:T,panActivationKeyCode:S,zoomActivationKeyCode:N,deleteKeyCode:A,onlyRenderVisibleElements:C,elementsSelectable:I,defaultViewport:O,translateExtent:L,minZoom:G,maxZoom:D,preventScrolling:F,defaultMarkerColor:k,zoomOnScroll:j,zoomOnPinch:P,panOnScroll:$,panOnScrollSpeed:R,panOnScrollMode:q,zoomOnDoubleClick:Q,panOnDrag:B,autoPanOnSelection:ee,onPaneClick:z,onPaneMouseEnter:K,onPaneMouseMove:ne,onPaneMouseLeave:W,onPaneScroll:de,onPaneContextMenu:ye,paneClickDistance:_e,nodeClickDistance:ue,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:pe,onEdgeMouseLeave:oe,reconnectRadius:ve,onReconnect:xe,onReconnectStart:Ze,onReconnectEnd:De,noDragClassName:Ve,noWheelClassName:Se,noPanClassName:Fe,disableKeyboardA11y:He,nodeExtent:Ge,rfId:X,viewport:ie,onViewportChange:se}){return Wj(e),Wj(t),woe(),hoe(n),poe(ie),o.jsx(Pae,{onPaneClick:z,onPaneMouseEnter:K,onPaneMouseMove:ne,onPaneMouseLeave:W,onPaneContextMenu:ye,onPaneScroll:de,paneClickDistance:_e,deleteKeyCode:A,selectionKeyCode:x,selectionOnDrag:E,selectionMode:w,onSelectionStart:h,onSelectionEnd:m,multiSelectionKeyCode:T,panActivationKeyCode:S,zoomActivationKeyCode:N,elementsSelectable:I,zoomOnScroll:j,zoomOnPinch:P,zoomOnDoubleClick:Q,panOnScroll:$,panOnScrollSpeed:R,panOnScrollMode:q,panOnDrag:B,autoPanOnSelection:ee,defaultViewport:O,translateExtent:L,minZoom:G,maxZoom:D,onSelectionContextMenu:f,preventScrolling:F,noDragClassName:Ve,noWheelClassName:Se,noPanClassName:Fe,disableKeyboardA11y:He,onViewportChange:se,isControlledViewport:!!ie,children:o.jsxs(foe,{children:[o.jsx(uoe,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:a,onReconnect:xe,onReconnectStart:Ze,onReconnectEnd:De,onlyRenderVisibleElements:C,onEdgeContextMenu:me,onEdgeMouseEnter:Ce,onEdgeMouseMove:pe,onEdgeMouseLeave:oe,reconnectRadius:ve,defaultMarkerColor:k,noPanClassName:Fe,disableKeyboardA11y:He,rfId:X}),o.jsx(Eoe,{style:g,type:p,component:v,containerStyle:y}),o.jsx("div",{className:"react-flow__edgelabel-renderer"}),o.jsx(Kae,{nodeTypes:e,onNodeClick:s,onNodeDoubleClick:r,onNodeMouseEnter:l,onNodeMouseMove:c,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:ue,onlyRenderVisibleElements:C,noPanClassName:Fe,noDragClassName:Ve,disableKeyboardA11y:He,nodeExtent:Ge,rfId:X}),o.jsx("div",{className:"react-flow__viewport-portal"})]})})}c9.displayName="GraphView";const Soe=b.memo(c9),_oe=o8(),Xj=({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,width:i,height:r,fitView:a,fitViewOptions:l,minZoom:c=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:h="basic"}={})=>{const m=new Map,p=new Map,g=new Map,v=new Map,y=s??t??[],x=n??e??[],E=d??[0,0],w=f??fp;y8(g,v,y);const{nodesInitialized:T}=r_(x,m,p,{nodeOrigin:E,nodeExtent:w,zIndexMode:h});let S=[0,0,1];if(a&&i&&r){const N=Qp(m,{filter:O=>!!((O.width||O.initialWidth)&&(O.height||O.initialHeight))}),{x:A,y:C,zoom:I}=Ak(N,i,r,c,u,(l==null?void 0:l.padding)??.1);S=[A,C,I]}return{rfId:"1",width:i??0,height:r??0,transform:S,nodes:x,nodesInitialized:T,nodeLookup:m,parentLookup:p,edges:y,edgeLookup:v,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:s!==void 0,panZoom:null,minZoom:c,maxZoom:u,translateExtent:fp,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:sf.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,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:l,fitViewResolver:null,connection:{...t8},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:_oe,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:e8,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Toe=({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,width:i,height:r,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h})=>$re((m,p)=>{async function g(){const{nodeLookup:v,panZoom:y,fitViewOptions:x,fitViewResolver:E,width:w,height:T,minZoom:S,maxZoom:N}=p();y&&(await Sie({nodes:v,width:w,height:T,panZoom:y,minZoom:S,maxZoom:N},x),E==null||E.resolve(!0),m({fitViewResolver:null}))}return{...Xj({nodes:e,edges:t,width:i,height:r,fitView:a,fitViewOptions:l,minZoom:c,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:s,zIndexMode:h}),setNodes:v=>{const{nodeLookup:y,parentLookup:x,nodeOrigin:E,elevateNodesOnSelect:w,fitViewQueued:T,zIndexMode:S,nodesSelectionActive:N}=p(),{nodesInitialized:A,hasSelectedNodes:C}=r_(v,y,x,{nodeOrigin:E,nodeExtent:f,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:S}),I=N&&C;T&&A?(g(),m({nodes:v,nodesInitialized:A,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:I})):m({nodes:v,nodesInitialized:A,nodesSelectionActive:I})},setEdges:v=>{const{connectionLookup:y,edgeLookup:x}=p();y8(y,x,v),m({edges:v})},setDefaultNodesAndEdges:(v,y)=>{if(v){const{setNodes:x}=p();x(v),m({hasDefaultNodes:!0})}if(y){const{setEdges:x}=p();x(y),m({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const{triggerNodeChanges:y,nodeLookup:x,parentLookup:E,domNode:w,nodeOrigin:T,nodeExtent:S,debug:N,fitViewQueued:A,zIndexMode:C}=p(),{changes:I,updatedInternals:O}=Kie(v,x,E,w,T,S,C);O&&(Hie(x,E,{nodeOrigin:T,nodeExtent:S,zIndexMode:C}),A?(g(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),(I==null?void 0:I.length)>0&&(N&&console.log("React Flow: trigger node changes",I),y==null||y(I)))},updateNodePositions:(v,y=!1)=>{const x=[];let E=[];const{nodeLookup:w,triggerNodeChanges:T,connection:S,updateConnection:N,onNodesChangeMiddlewareMap:A}=p();for(const[C,I]of v){const O=w.get(C),L=!!(O!=null&&O.expandParent&&(O!=null&&O.parentId)&&(I!=null&&I.position)),G={id:C,type:"position",position:L?{x:Math.max(0,I.position.x),y:Math.max(0,I.position.y)}:I.position,dragging:y};if(O&&S.inProgress&&S.fromNode.id===O.id){const D=Yc(O,S.fromHandle,We.Left,!0);N({...S,from:D})}L&&O.parentId&&x.push({id:C,parentId:O.parentId,rect:{...I.internals.positionAbsolute,width:I.measured.width??0,height:I.measured.height??0}}),E.push(G)}if(x.length>0){const{parentLookup:C,nodeOrigin:I}=p(),O=Lk(x,w,C,I);E.push(...O)}for(const C of A.values())E=C(E);T(E)},triggerNodeChanges:v=>{const{onNodesChange:y,setNodes:x,nodes:E,hasDefaultNodes:w,debug:T}=p();if(v!=null&&v.length){if(w){const S=P8(v,E);x(S)}T&&console.log("React Flow: trigger node changes",v),y==null||y(v)}},triggerEdgeChanges:v=>{const{onEdgesChange:y,setEdges:x,edges:E,hasDefaultEdges:w,debug:T}=p();if(v!=null&&v.length){if(w){const S=B8(v,E);x(S)}T&&console.log("React Flow: trigger edge changes",v),y==null||y(v)}},addSelectedNodes:v=>{const{multiSelectionActive:y,edgeLookup:x,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:T}=p();if(y){const S=v.map(N=>pc(N,!0));w(S);return}w(md(E,new Set([...v]),!0)),T(md(x))},addSelectedEdges:v=>{const{multiSelectionActive:y,edgeLookup:x,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:T}=p();if(y){const S=v.map(N=>pc(N,!0));T(S);return}T(md(x,new Set([...v]))),w(md(E,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:y}={})=>{const{edges:x,nodes:E,nodeLookup:w,triggerNodeChanges:T,triggerEdgeChanges:S}=p(),N=v||E,A=y||x,C=[];for(const O of N){if(!O.selected)continue;const L=w.get(O.id);L&&(L.selected=!1),C.push(pc(O.id,!1))}const I=[];for(const O of A)O.selected&&I.push(pc(O.id,!1));T(C),S(I)},setMinZoom:v=>{const{panZoom:y,maxZoom:x}=p();y==null||y.setScaleExtent([v,x]),m({minZoom:v})},setMaxZoom:v=>{const{panZoom:y,minZoom:x}=p();y==null||y.setScaleExtent([x,v]),m({maxZoom:v})},setTranslateExtent:v=>{var y;(y=p().panZoom)==null||y.setTranslateExtent(v),m({translateExtent:v})},resetSelectedElements:()=>{const{edges:v,nodes:y,triggerNodeChanges:x,triggerEdgeChanges:E,elementsSelectable:w}=p();if(!w)return;const T=y.reduce((N,A)=>A.selected?[...N,pc(A.id,!1)]:N,[]),S=v.reduce((N,A)=>A.selected?[...N,pc(A.id,!1)]:N,[]);x(T),E(S)},setNodeExtent:v=>{const{nodes:y,nodeLookup:x,parentLookup:E,nodeOrigin:w,elevateNodesOnSelect:T,nodeExtent:S,zIndexMode:N}=p();v[0][0]===S[0][0]&&v[0][1]===S[0][1]&&v[1][0]===S[1][0]&&v[1][1]===S[1][1]||(r_(y,x,E,{nodeOrigin:w,nodeExtent:v,elevateNodesOnSelect:T,checkEquality:!1,zIndexMode:N}),m({nodeExtent:v}))},panBy:v=>{const{transform:y,width:x,height:E,panZoom:w,translateExtent:T}=p();return qie({delta:v,panZoom:w,transform:y,translateExtent:T,width:x,height:E})},setCenter:async(v,y,x)=>{const{width:E,height:w,maxZoom:T,panZoom:S}=p();if(!S)return!1;const N=typeof(x==null?void 0:x.zoom)<"u"?x.zoom:T;return await S.setViewport({x:E/2-v*N,y:w/2-y*N,zoom:N},{duration:x==null?void 0:x.duration,ease:x==null?void 0:x.ease,interpolate:x==null?void 0:x.interpolate}),!0},cancelConnection:()=>{m({connection:{...t8}})},updateConnection:v=>{m({connection:v})},reset:()=>m({...Xj()})}},Object.is);function Pk({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:s,initialWidth:i,initialHeight:r,initialMinZoom:a,initialMaxZoom:l,initialFitViewOptions:c,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:h,children:m}){const[p]=b.useState(()=>Toe({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,width:i,height:r,fitView:u,minZoom:a,maxZoom:l,fitViewOptions:c,nodeOrigin:d,nodeExtent:f,zIndexMode:h}));return o.jsx(Hre,{value:p,children:o.jsx(fae,{children:m})})}function Noe({children:e,nodes:t,edges:n,defaultNodes:s,defaultEdges:i,width:r,height:a,fitView:l,fitViewOptions:c,minZoom:u,maxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:m}){return b.useContext(X1)?o.jsx(o.Fragment,{children:e}):o.jsx(Pk,{initialNodes:t,initialEdges:n,defaultNodes:s,defaultEdges:i,initialWidth:r,initialHeight:a,fitView:l,initialFitViewOptions:c,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:f,nodeExtent:h,zIndexMode:m,children:e})}const koe={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Aoe({nodes:e,edges:t,defaultNodes:n,defaultEdges:s,className:i,nodeTypes:r,edgeTypes:a,onNodeClick:l,onEdgeClick:c,onInit:u,onMove:d,onMoveStart:f,onMoveEnd:h,onConnect:m,onConnectStart:p,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:y,onNodeMouseEnter:x,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:T,onNodeDoubleClick:S,onNodeDragStart:N,onNodeDrag:A,onNodeDragStop:C,onNodesDelete:I,onEdgesDelete:O,onDelete:L,onSelectionChange:G,onSelectionDragStart:D,onSelectionDrag:F,onSelectionDragStop:k,onSelectionContextMenu:j,onSelectionStart:P,onSelectionEnd:$,onBeforeDelete:R,connectionMode:q,connectionLineType:Q=bl.Bezier,connectionLineStyle:B,connectionLineComponent:ee,connectionLineContainerStyle:z,deleteKeyCode:K="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:W=!1,selectionMode:de=hp.Full,panActivationKeyCode:ye="Space",multiSelectionKeyCode:_e=pp()?"Meta":"Control",zoomActivationKeyCode:ue=pp()?"Meta":"Control",snapToGrid:me,snapGrid:Ce,onlyRenderVisibleElements:pe=!1,selectNodesOnDrag:oe,nodesDraggable:ve,autoPanOnNodeFocus:xe,nodesConnectable:Ze,nodesFocusable:De,nodeOrigin:Ve=L8,edgesFocusable:Se,edgesReconnectable:Fe,elementsSelectable:He=!0,defaultViewport:Ge=tae,minZoom:X=.5,maxZoom:ie=2,translateExtent:se=fp,preventScrolling:ge=!0,nodeExtent:Pe,defaultMarkerColor:Ye="#b1b1b7",zoomOnScroll:bt=!0,zoomOnPinch:ot=!0,panOnScroll:fn=!1,panOnScrollSpeed:It=.5,panOnScrollMode:Et=Mc.Free,zoomOnDoubleClick:yt=!0,panOnDrag:$e=!0,onPaneClick:qt,onPaneMouseEnter:it,onPaneMouseMove:vt,onPaneMouseLeave:Xe,onPaneScroll:Tt,onPaneContextMenu:we,paneClickDistance:Ue=1,nodeClickDistance:St=0,children:Qt,onReconnect:zt,onReconnectStart:Zt,onReconnectEnd:Rt,onEdgeContextMenu:Yt,onEdgeDoubleClick:jt,onEdgeMouseEnter:Bt,onEdgeMouseMove:Gn,onEdgeMouseLeave:Ds,reconnectRadius:mi=10,onNodesChange:Bn,onEdgesChange:Kn,noDragClassName:cn="nodrag",noWheelClassName:Sn="nowheel",noPanClassName:rs="nopan",fitView:Ps,fitViewOptions:Qs,connectOnClick:ms,attributionPosition:vs,proOptions:Un,defaultEdgeOptions:qn,elevateNodesOnSelect:un=!0,elevateEdgesOnSelect:ps=!1,disableKeyboardA11y:ks=!1,autoPanOnConnect:yn,autoPanOnNodeDrag:Jt,autoPanOnSelection:fe=!0,autoPanSpeed:Me,connectionRadius:je,isValidConnection:tt,onError:et,style:ht,id:Ae,nodeDragThreshold:Ot,connectionDragThreshold:en,viewport:In,onViewportChange:Rn,width:Nt,height:rt,colorMode:ws="light",debug:Yn,onScroll:Wn,ariaLabelConfig:Bs,zIndexMode:Go="basic",...Di},re){const Ut=Ae||"1",_n=rae(ws),jn=b.useCallback(Ft=>{Ft.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Wn==null||Wn(Ft)},[Wn]);return o.jsx("div",{"data-testid":"rf__wrapper",...Di,onScroll:jn,style:{...ht,...koe},ref:re,className:Xs(["react-flow",i,_n]),id:Ae,role:"application",children:o.jsxs(Noe,{nodes:e,edges:t,width:Nt,height:rt,fitView:Ps,fitViewOptions:Qs,minZoom:X,maxZoom:ie,nodeOrigin:Ve,nodeExtent:Pe,zIndexMode:Go,children:[o.jsx(iae,{nodes:e,edges:t,defaultNodes:n,defaultEdges:s,onConnect:m,onConnectStart:p,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:y,nodesDraggable:ve,autoPanOnNodeFocus:xe,nodesConnectable:Ze,nodesFocusable:De,edgesFocusable:Se,edgesReconnectable:Fe,elementsSelectable:He,elevateNodesOnSelect:un,elevateEdgesOnSelect:ps,minZoom:X,maxZoom:ie,nodeExtent:Pe,onNodesChange:Bn,onEdgesChange:Kn,snapToGrid:me,snapGrid:Ce,connectionMode:q,translateExtent:se,connectOnClick:ms,defaultEdgeOptions:qn,fitView:Ps,fitViewOptions:Qs,onNodesDelete:I,onEdgesDelete:O,onDelete:L,onNodeDragStart:N,onNodeDrag:A,onNodeDragStop:C,onSelectionDrag:F,onSelectionDragStart:D,onSelectionDragStop:k,onMove:d,onMoveStart:f,onMoveEnd:h,noPanClassName:rs,nodeOrigin:Ve,rfId:Ut,autoPanOnConnect:yn,autoPanOnNodeDrag:Jt,autoPanSpeed:Me,onError:et,connectionRadius:je,isValidConnection:tt,selectNodesOnDrag:oe,nodeDragThreshold:Ot,connectionDragThreshold:en,onBeforeDelete:R,debug:Yn,ariaLabelConfig:Bs,zIndexMode:Go}),o.jsx(Soe,{onInit:u,onNodeClick:l,onEdgeClick:c,onNodeMouseEnter:x,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:T,onNodeDoubleClick:S,nodeTypes:r,edgeTypes:a,connectionLineType:Q,connectionLineStyle:B,connectionLineComponent:ee,connectionLineContainerStyle:z,selectionKeyCode:ne,selectionOnDrag:W,selectionMode:de,deleteKeyCode:K,multiSelectionKeyCode:_e,panActivationKeyCode:ye,zoomActivationKeyCode:ue,onlyRenderVisibleElements:pe,defaultViewport:Ge,translateExtent:se,minZoom:X,maxZoom:ie,preventScrolling:ge,zoomOnScroll:bt,zoomOnPinch:ot,zoomOnDoubleClick:yt,panOnScroll:fn,panOnScrollSpeed:It,panOnScrollMode:Et,panOnDrag:$e,autoPanOnSelection:fe,onPaneClick:qt,onPaneMouseEnter:it,onPaneMouseMove:vt,onPaneMouseLeave:Xe,onPaneScroll:Tt,onPaneContextMenu:we,paneClickDistance:Ue,nodeClickDistance:St,onSelectionContextMenu:j,onSelectionStart:P,onSelectionEnd:$,onReconnect:zt,onReconnectStart:Zt,onReconnectEnd:Rt,onEdgeContextMenu:Yt,onEdgeDoubleClick:jt,onEdgeMouseEnter:Bt,onEdgeMouseMove:Gn,onEdgeMouseLeave:Ds,reconnectRadius:mi,defaultMarkerColor:Ye,noDragClassName:cn,noWheelClassName:Sn,noPanClassName:rs,rfId:Ut,disableKeyboardA11y:ks,nodeExtent:Pe,viewport:In,onViewportChange:Rn}),o.jsx(eae,{onSelectionChange:G}),Qt,o.jsx(Wre,{proOptions:Un,position:vs}),o.jsx(Yre,{rfId:Ut,disableKeyboardA11y:ks})]})})}var u9=F8(Aoe);const Coe=e=>{var t;return(t=e.domNode)==null?void 0:t.querySelector(".react-flow__edgelabel-renderer")};function Ioe({children:e}){const t=Xt(Coe);return t?Si.createPortal(e,t):null}function d9(e){const[t,n]=b.useState(e),s=b.useCallback(i=>n(r=>P8(i,r)),[]);return[t,n,s]}function f9(e){const[t,n]=b.useState(e),s=b.useCallback(i=>n(r=>B8(i,r)),[]);return[t,n,s]}const Roe=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||!Ck(n.userNode))return!1;return!0};function joe(e={includeHiddenNodes:!1}){return Xt(Roe(e))}function Ooe({dimensions:e,lineWidth:t,variant:n,className:s}){return o.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Xs(["react-flow__background-pattern",n,s])})}function Moe({radius:e,className:t}){return o.jsx("circle",{cx:e,cy:e,r:e,className:Xs(["react-flow__background-pattern","dots",t])})}var Ll;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Ll||(Ll={}));const Loe={[Ll.Dots]:1,[Ll.Lines]:1,[Ll.Cross]:6},Doe=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function h9({id:e,variant:t=Ll.Dots,gap:n=20,size:s,lineWidth:i=1,offset:r=0,color:a,bgColor:l,style:c,className:u,patternClassName:d}){const f=b.useRef(null),{transform:h,patternId:m}=Xt(Doe,fs),p=s||Loe[t],g=t===Ll.Dots,v=t===Ll.Cross,y=Array.isArray(n)?n:[n,n],x=[y[0]*h[2]||1,y[1]*h[2]||1],E=p*h[2],w=Array.isArray(r)?r:[r,r],T=v?[E,E]:x,S=[w[0]*h[2]||1+T[0]/2,w[1]*h[2]||1+T[1]/2],N=`${m}${e||""}`;return o.jsxs("svg",{className:Xs(["react-flow__background",u]),style:{...c,...J1,"--xy-background-color-props":l,"--xy-background-pattern-color-props":a},ref:f,"data-testid":"rf__background",children:[o.jsx("pattern",{id:N,x:h[0]%x[0],y:h[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`,children:g?o.jsx(Moe,{radius:E/2,className:d}):o.jsx(Ooe,{dimensions:T,lineWidth:i,variant:t,className:d})}),o.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}h9.displayName="Background";const m9=b.memo(h9);function Poe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:o.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Boe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:o.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Uoe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:o.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 Foe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:o.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 $oe(){return o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:o.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 y0({children:e,className:t,...n}){return o.jsx("button",{type:"button",className:Xs(["react-flow__controls-button",t]),...n,children:e})}const Hoe=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function p9({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:s=!0,fitViewOptions:i,onZoomIn:r,onZoomOut:a,onFitView:l,onInteractiveChange:c,className:u,children:d,position:f="bottom-left",orientation:h="vertical","aria-label":m}){const p=hs(),{isInteractive:g,minZoomReached:v,maxZoomReached:y,ariaLabelConfig:x}=Xt(Hoe,fs),{zoomIn:E,zoomOut:w,fitView:T}=Z1(),S=()=>{E(),r==null||r()},N=()=>{w(),a==null||a()},A=()=>{T(i),l==null||l()},C=()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),c==null||c(!g)},I=h==="horizontal"?"horizontal":"vertical";return o.jsxs(Q1,{className:Xs(["react-flow__controls",I,u]),position:f,style:e,"data-testid":"rf__controls","aria-label":m??x["controls.ariaLabel"],children:[t&&o.jsxs(o.Fragment,{children:[o.jsx(y0,{onClick:S,className:"react-flow__controls-zoomin",title:x["controls.zoomIn.ariaLabel"],"aria-label":x["controls.zoomIn.ariaLabel"],disabled:y,children:o.jsx(Poe,{})}),o.jsx(y0,{onClick:N,className:"react-flow__controls-zoomout",title:x["controls.zoomOut.ariaLabel"],"aria-label":x["controls.zoomOut.ariaLabel"],disabled:v,children:o.jsx(Boe,{})})]}),n&&o.jsx(y0,{className:"react-flow__controls-fitview",onClick:A,title:x["controls.fitView.ariaLabel"],"aria-label":x["controls.fitView.ariaLabel"],children:o.jsx(Uoe,{})}),s&&o.jsx(y0,{className:"react-flow__controls-interactive",onClick:C,title:x["controls.interactive.ariaLabel"],"aria-label":x["controls.interactive.ariaLabel"],children:g?o.jsx($oe,{}):o.jsx(Foe,{})}),d]})}p9.displayName="Controls";const g9=b.memo(p9);function zoe({id:e,x:t,y:n,width:s,height:i,style:r,color:a,strokeColor:l,strokeWidth:c,className:u,borderRadius:d,shapeRendering:f,selected:h,onClick:m}){const{background:p,backgroundColor:g}=r||{},v=a||p||g;return o.jsx("rect",{className:Xs(["react-flow__minimap-node",{selected:h},u]),x:t,y:n,rx:d,ry:d,width:s,height:i,style:{fill:v,stroke:l,strokeWidth:c},shapeRendering:f,onClick:m?y=>m(y,e):void 0})}const Voe=b.memo(zoe),Goe=e=>e.nodes.map(t=>t.id),yv=e=>e instanceof Function?e:()=>e;function Koe({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:s=5,nodeStrokeWidth:i,nodeComponent:r=Voe,onClick:a}){const l=Xt(Goe,fs),c=yv(t),u=yv(e),d=yv(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return o.jsx(o.Fragment,{children:l.map(h=>o.jsx(Yoe,{id:h,nodeColorFunc:c,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:s,nodeStrokeWidth:i,NodeComponent:r,onClick:a,shapeRendering:f},h))})}function qoe({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:s,nodeBorderRadius:i,nodeStrokeWidth:r,shapeRendering:a,NodeComponent:l,onClick:c}){const{node:u,x:d,y:f,width:h,height:m}=Xt(p=>{const g=p.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const v=g.internals.userNode,{x:y,y:x}=g.internals.positionAbsolute,{width:E,height:w}=zo(v);return{node:v,x:y,y:x,width:E,height:w}},fs);return!u||u.hidden||!Ck(u)?null:o.jsx(l,{x:d,y:f,width:h,height:m,style:u.style,selected:!!u.selected,className:s(u),color:t(u),borderRadius:i,strokeColor:n(u),strokeWidth:r,shapeRendering:a,onClick:c,id:u.id})}const Yoe=b.memo(qoe);var Woe=b.memo(Koe);const Xoe=200,Qoe=150,Zoe=e=>!e.hidden,Joe=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?a8(Qp(e.nodeLookup,{filter:Zoe}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},ele="react-flow__minimap-desc";function b9({style:e,className:t,nodeStrokeColor:n,nodeColor:s,nodeClassName:i="",nodeBorderRadius:r=5,nodeStrokeWidth:a,nodeComponent:l,bgColor:c,maskColor:u,maskStrokeColor:d,maskStrokeWidth:f,position:h="bottom-right",onClick:m,onNodeClick:p,pannable:g=!1,zoomable:v=!1,ariaLabel:y,inversePan:x,zoomStep:E=1,offsetScale:w=5}){const T=hs(),S=b.useRef(null),{boundingRect:N,viewBB:A,rfId:C,panZoom:I,translateExtent:O,flowWidth:L,flowHeight:G,ariaLabelConfig:D}=Xt(Joe,fs),F=(e==null?void 0:e.width)??Xoe,k=(e==null?void 0:e.height)??Qoe,j=N.width/F,P=N.height/k,$=Math.max(j,P),R=$*F,q=$*k,Q=w*$,B=N.x-(R-N.width)/2-Q,ee=N.y-(q-N.height)/2-Q,z=R+Q*2,K=q+Q*2,ne=`${ele}-${C}`,W=b.useRef(0),de=b.useRef();W.current=$,b.useEffect(()=>{if(S.current&&I)return de.current=nre({domNode:S.current,panZoom:I,getTransform:()=>T.getState().transform,getViewScale:()=>W.current}),()=>{var me;(me=de.current)==null||me.destroy()}},[I]),b.useEffect(()=>{var me;(me=de.current)==null||me.update({translateExtent:O,width:L,height:G,inversePan:x,pannable:g,zoomStep:E,zoomable:v})},[g,v,x,E,O,L,G]);const ye=m?me=>{var oe;const[Ce,pe]=((oe=de.current)==null?void 0:oe.pointer(me))||[0,0];m(me,{x:Ce,y:pe})}:void 0,_e=p?b.useCallback((me,Ce)=>{const pe=T.getState().nodeLookup.get(Ce).internals.userNode;p(me,pe)},[]):void 0,ue=y??D["minimap.ariaLabel"];return o.jsx(Q1,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof c=="string"?c: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 s=="string"?s: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:Xs(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:o.jsxs("svg",{width:F,height:k,viewBox:`${B} ${ee} ${z} ${K}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:S,onClick:ye,children:[ue&&o.jsx("title",{id:ne,children:ue}),o.jsx(Woe,{onClick:_e,nodeColor:s,nodeStrokeColor:n,nodeBorderRadius:r,nodeClassName:i,nodeStrokeWidth:a,nodeComponent:l}),o.jsx("path",{className:"react-flow__minimap-mask",d:`M${B-Q},${ee-Q}h${z+Q*2}v${K+Q*2}h${-z-Q*2}z + M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}b9.displayName="MiniMap";const tle=b.memo(b9),nle=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,sle={[cf.Line]:"right",[cf.Handle]:"bottom-right"};function ile({nodeId:e,position:t,variant:n=cf.Handle,className:s,style:i=void 0,children:r,color:a,minWidth:l=10,minHeight:c=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:m=!0,shouldResize:p,onResizeStart:g,onResize:v,onResizeEnd:y}){const x=V8(),E=typeof e=="string"?e:x,w=hs(),T=b.useRef(null),S=n===cf.Handle,N=Xt(b.useCallback(nle(S&&m),[S,m]),fs),A=b.useRef(null),C=t??sle[n];b.useEffect(()=>{if(!(!T.current||!E))return A.current||(A.current=pre({domNode:T.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:O,transform:L,snapGrid:G,snapToGrid:D,nodeOrigin:F,domNode:k}=w.getState();return{nodeLookup:O,transform:L,snapGrid:G,snapToGrid:D,nodeOrigin:F,paneDomNode:k}},onChange:(O,L)=>{const{triggerNodeChanges:G,nodeLookup:D,parentLookup:F,nodeOrigin:k}=w.getState(),j=[],P={x:O.x,y:O.y},$=D.get(E);if($&&$.expandParent&&$.parentId){const R=$.origin??k,q=O.width??$.measured.width??0,Q=O.height??$.measured.height??0,B={id:$.id,parentId:$.parentId,rect:{width:q,height:Q,...l8({x:O.x??$.position.x,y:O.y??$.position.y},{width:q,height:Q},$.parentId,D,R)}},ee=Lk([B],D,F,k);j.push(...ee),P.x=O.x?Math.max(R[0]*q,O.x):void 0,P.y=O.y?Math.max(R[1]*Q,O.y):void 0}if(P.x!==void 0&&P.y!==void 0){const R={id:E,type:"position",position:{...P}};j.push(R)}if(O.width!==void 0&&O.height!==void 0){const q={id:E,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:O.width,height:O.height}};j.push(q)}for(const R of L){const q={...R,type:"position"};j.push(q)}G(j)},onEnd:({width:O,height:L})=>{const G={id:E,type:"dimensions",resizing:!1,dimensions:{width:O,height:L}};w.getState().triggerNodeChanges([G])}})),A.current.update({controlPosition:C,boundaries:{minWidth:l,minHeight:c,maxWidth:u,maxHeight:d},keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:v,onResizeEnd:y,shouldResize:p}),()=>{var O;(O=A.current)==null||O.destroy()}},[C,l,c,u,d,f,g,v,y,p]);const I=C.split("-");return o.jsx("div",{className:Xs(["react-flow__resize-control","nodrag",...I,n,s]),ref:T,style:{...i,scale:N,...a&&{[S?"backgroundColor":"borderColor"]:a}},children:r})}b.memo(ile);var y9=Object.defineProperty,rle=(e,t,n)=>t in e?y9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ale=(e,t)=>{for(var n in t)y9(e,n,{get:t[n],enumerable:!0})},ole=(e,t,n)=>rle(e,t+"",n),x9={};ale(x9,{Graph:()=>ea,alg:()=>Bk,json:()=>v9,version:()=>ule});var lle=Object.defineProperty,E9=(e,t)=>{for(var n in t)lle(e,n,{get:t[n],enumerable:!0})},ea=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(s=>{n!==void 0?this.setNode(s,n):this.setNode(s)}),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=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(s=>{this.setParent(s)}),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 s=n;s!==void 0;s=this.parent(s))if(s===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 s=new Set(n);for(let i of this.successors(t))s.add(i);return Array.from(s.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(([r,a])=>{t(r)&&n.setNode(r,a)}),Object.values(this._edgeObjs).forEach(r=>{n.hasNode(r.v)&&n.hasNode(r.w)&&n.setEdge(r,this.edge(r))});let s={},i=r=>{let a=this.parent(r);return!a||n.hasNode(a)?(s[r]=a??void 0,a??void 0):a in s?s[a]:i(a)};return this._isCompound&&n.nodes().forEach(r=>n.setParent(r,i(r))),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((s,i)=>(n!==void 0?this.setEdge(s,i,n):this.setEdge(s,i),i)),this}setEdge(t,n,s,i){let r,a,l,c,u=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,a=t.w,l=t.name,arguments.length===2&&(c=n,u=!0)):(r=t,a=n,l=i,arguments.length>2&&(c=s,u=!0)),r=""+r,a=""+a,l!==void 0&&(l=""+l);let d=Wh(this._isDirected,r,a,l);if(d in this._edgeLabels)return u&&(this._edgeLabels[d]=c),this;if(l!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(a),this._edgeLabels[d]=u?c:this._defaultEdgeLabelFn(r,a,l);let f=cle(this._isDirected,r,a,l);return r=f.v,a=f.w,Object.freeze(f),this._edgeObjs[d]=f,Qj(this._preds[a],r),Qj(this._sucs[r],a),this._in[a][d]=f,this._out[r][d]=f,this._edgeCount++,this}edge(t,n,s){let i=arguments.length===1?xv(this._isDirected,t):Wh(this._isDirected,t,n,s);return this._edgeLabels[i]}edgeAsObj(t,n,s){let i=arguments.length===1?this.edge(t):this.edge(t,n,s);return typeof i!="object"?{label:i}:i}hasEdge(t,n,s){return(arguments.length===1?xv(this._isDirected,t):Wh(this._isDirected,t,n,s))in this._edgeLabels}removeEdge(t,n,s){let i=arguments.length===1?xv(this._isDirected,t):Wh(this._isDirected,t,n,s),r=this._edgeObjs[i];if(r){let a=r.v,l=r.w;delete this._edgeLabels[i],delete this._edgeObjs[i],Zj(this._preds[l],a),Zj(this._sucs[a],l),delete this._in[l][i],delete this._out[a][i],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,s){if(!t)return;let i=Object.values(t);return s?i.filter(r=>r.v===n&&r.w===s||r.v===s&&r.w===n):i}};function Qj(e,t){e[t]?e[t]++:e[t]=1}function Zj(e,t){e[t]!==void 0&&!--e[t]&&delete e[t]}function Wh(e,t,n,s){let i=""+t,r=""+n;if(!e&&i>r){let a=i;i=r,r=a}return i+""+r+""+(s===void 0?"\0":s)}function cle(e,t,n,s){let i=""+t,r=""+n;if(!e&&i>r){let l=i;i=r,r=l}let a={v:i,w:r};return s&&(a.name=s),a}function xv(e,t){return Wh(e,t.v,t.w,t.name)}var ule="4.0.1",v9={};E9(v9,{read:()=>mle,write:()=>dle});function dle(e){let t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:fle(e),edges:hle(e)},n=e.graph();return n!==void 0&&(t.value=structuredClone(n)),t}function fle(e){return e.nodes().map(t=>{let n=e.node(t),s=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),s!==void 0&&(i.parent=s),i})}function hle(e){return e.edges().map(t=>{let n=e.edge(t),s={v:t.v,w:t.w};return t.name!==void 0&&(s.name=t.name),n!==void 0&&(s.value=n),s})}function mle(e){let t=new ea(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 Bk={};E9(Bk,{CycleException:()=>My,bellmanFord:()=>w9,components:()=>ble,dijkstra:()=>Oy,dijkstraAll:()=>Ele,findCycles:()=>vle,floydWarshall:()=>Sle,isAcyclic:()=>Tle,postorder:()=>kle,preorder:()=>Ale,prim:()=>Cle,shortestPaths:()=>Ile,tarjan:()=>_9,topsort:()=>T9});var ple=()=>1;function w9(e,t,n,s){return gle(e,String(t),n||ple,s||function(i){return e.outEdges(i)})}function gle(e,t,n,s){let i={},r,a=0,l=e.nodes(),c=function(f){let h=n(f);i[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,s=String(e);if(!(s in n)){let i=this._arr,r=i.length;return n[s]=r,i.push({key:s,priority:t}),this._decrease(r),!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 s=this._arr[n].priority;if(t>s)throw new Error(`New priority is greater than current priority. Key: ${e} Old: ${s} New: ${t}`);this._arr[n].priority=t,this._decrease(n)}_heapify(e){let t=this._arr,n=2*e,s=n+1,i=e;n>1,!(t[s].priority1;function Oy(e,t,n,s){let i=function(r){return e.outEdges(r)};return xle(e,String(t),n||yle,s||i)}function xle(e,t,n,s){let i={},r=new S9,a,l,c=function(u){let d=u.v!==a?u.v:u.w,f=i[d],h=n(u),m=l.distance+h;if(h<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+h);m0&&(a=r.removeMin(),l=i[a],l.distance!==Number.POSITIVE_INFINITY);)s(a).forEach(c);return i}function Ele(e,t,n){return e.nodes().reduce(function(s,i){return s[i]=Oy(e,i,t,n),s},{})}function _9(e){let t=0,n=[],s={},i=[];function r(a){let l=s[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(c){c in s?s[c].onStack&&(l.lowlink=Math.min(l.lowlink,s[c].index)):(r(c),l.lowlink=Math.min(l.lowlink,s[c].lowlink))}),l.lowlink===l.index){let c=[],u;do u=n.pop(),s[u].onStack=!1,c.push(u);while(a!==u);i.push(c)}}return e.nodes().forEach(function(a){a in s||r(a)}),i}function vle(e){return _9(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}var wle=()=>1;function Sle(e,t,n){return _le(e,t||wle,n||function(s){return e.outEdges(s)})}function _le(e,t,n){let s={},i=e.nodes();return i.forEach(function(r){s[r]={},s[r][r]={distance:0,predecessor:""},i.forEach(function(a){r!==a&&(s[r][a]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),n(r).forEach(function(a){let l=a.v===r?a.w:a.v,c=t(a);s[r][l]={distance:c,predecessor:r}})}),i.forEach(function(r){let a=s[r];i.forEach(function(l){let c=s[l];i.forEach(function(u){let d=c[r],f=a[u],h=c[u],m=d.distance+f.distance;m{var c;return(c=e.isDirected()?e.successors(l):e.neighbors(l))!=null?c:[]},a={};return t.forEach(function(l){if(!e.hasNode(l))throw new Error("Graph does not have node: "+l);i=N9(e,l,n==="post",a,r,s,i)}),i}function N9(e,t,n,s,i,r,a){return t in s||(s[t]=!0,n||(a=r(a,t)),i(t).forEach(function(l){a=N9(e,l,n,s,i,r,a)}),n&&(a=r(a,t))),a}function k9(e,t,n){return Nle(e,t,n,function(s,i){return s.push(i),s},[])}function kle(e,t){return k9(e,t,"post")}function Ale(e,t){return k9(e,t,"pre")}function Cle(e,t){let n=new ea,s={},i=new S9,r;function a(c){let u=c.v===r?c.w:c.v,d=i.priority(u);if(d!==void 0){let f=t(c);f0;){if(r=i.removeMin(),r in s)n.setEdge(r,s[r]);else{if(l)throw new Error("Input graph is not connected: "+e);l=!0}e.nodeEdges(r).forEach(a)}return n}function Ile(e,t,n,s){return Rle(e,t,n,s??(i=>{let r=e.outEdges(i);return r??[]}))}function Rle(e,t,n,s){if(n===void 0)return Oy(e,t,n,s);let i=!1,r=e.nodes();for(let a=0;at.setNode(n,e.node(n))),e.edges().forEach(n=>{let s=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:s.weight+i.weight,minlen:Math.max(s.minlen,i.minlen)})}),t}function A9(e){let t=new ea({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 Jj(e,t){let n=e.x,s=e.y,i=t.x-n,r=t.y-s,a=e.width/2,l=e.height/2;if(!i&&!r)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(r)*a>Math.abs(i)*l?(r<0&&(l=-l),c=l*i/r,u=l):(i<0&&(a=-a),c=a,u=a*r/i),{x:n+c,y:s+u}}function eg(e){let t=bp(I9(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let s=e.node(n),i=s.rank;i!==void 0&&(t[i]||(t[i]=[]),t[i][s.order]=n)}),t}function Ole(e){let t=e.nodes().map(s=>{let i=e.node(s).rank;return i===void 0?Number.MAX_VALUE:i}),n=Fa(Math.min,t);e.nodes().forEach(s=>{let i=e.node(s);Object.hasOwn(i,"rank")&&(i.rank-=n)})}function Mle(e){let t=e.nodes().map(a=>e.node(a).rank).filter(a=>a!==void 0),n=Fa(Math.min,t),s=[];e.nodes().forEach(a=>{let l=e.node(a).rank-n;s[l]||(s[l]=[]),s[l].push(a)});let i=0,r=e.graph().nodeRankFactor;Array.from(s).forEach((a,l)=>{a===void 0&&l%r!==0?--i:a!==void 0&&i&&a.forEach(c=>e.node(c).rank+=i)})}function eO(e,t,n,s){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=s),Pf(e,"border",i,t)}function Lle(e,t=C9){let n=[];for(let s=0;sC9){let n=Lle(t);return e(...n.map(s=>e(...s)))}else return e(...t)}function I9(e){let t=e.nodes().map(n=>{let s=e.node(n).rank;return s===void 0?Number.MIN_VALUE:s});return Fa(Math.max,t)}function Dle(e,t){let n={lhs:[],rhs:[]};return e.forEach(s=>{t(s)?n.lhs.push(s):n.rhs.push(s)}),n}function R9(e,t){let n=Date.now();try{return t()}finally{console.log(e+" time: "+(Date.now()-n)+"ms")}}function j9(e,t){return t()}var Ple=0;function Uk(e){let t=++Ple;return e+(""+t)}function bp(e,t,n=1){t==null&&(t=e,e=0);let s=r=>rts[t]:n=t,Object.entries(e).reduce((s,[i,r])=>(s[i]=n(r,i),s),{})}function Ble(e,t){return e.reduce((n,s,i)=>(n[s]=t[i],n),{})}var tx="\0",Ule="3.0.0",Fle=class{constructor(){ole(this,"_sentinel");let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return tO(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&tO(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,$le)),n=n._prev;return"["+e.join(", ")+"]"}};function tO(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function $le(e,t){if(e!=="_next"&&e!=="_prev")return t}var Hle=Fle,zle=()=>1;function Vle(e,t){if(e.nodeCount()<=1)return[];let n=Kle(e,t||zle);return Gle(n.graph,n.buckets,n.zeroIdx).flatMap(s=>e.outEdges(s.v,s.w)||[])}function Gle(e,t,n){var s;let i=[],r=t[t.length-1],a=t[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)Ev(e,t,n,l);for(;l=r.dequeue();)Ev(e,t,n,l);if(e.nodeCount()){for(let c=t.length-2;c>0;--c)if(l=(s=t[c])==null?void 0:s.dequeue(),l){i=i.concat(Ev(e,t,n,l,!0)||[]);break}}}return i}function Ev(e,t,n,s,i){let r=[],a=i?r:void 0;return(e.inEdges(s.v)||[]).forEach(l=>{let c=e.edge(l),u=e.node(l.v);i&&r.push({v:l.v,w:l.w}),u.out-=c,l_(t,n,u)}),(e.outEdges(s.v)||[]).forEach(l=>{let c=e.edge(l),u=l.w,d=e.node(u);d.in-=c,l_(t,n,d)}),e.removeNode(s.v),a}function Kle(e,t){let n=new ea,s=0,i=0;e.nodes().forEach(l=>{n.setNode(l,{v:l,in:0,out:0})}),e.edges().forEach(l=>{let c=n.edge(l.v,l.w)||0,u=t(l),d=c+u;n.setEdge(l.v,l.w,d);let f=n.node(l.v),h=n.node(l.w);i=Math.max(i,f.out+=u),s=Math.max(s,h.in+=u)});let r=qle(i+s+3).map(()=>new Hle),a=s+1;return n.nodes().forEach(l=>{l_(r,a,n.node(l))}),{graph:n,buckets:r,zeroIdx:a}}function l_(e,t,n){var s,i,r;n.out?n.in?(r=e[n.out-n.in+t])==null||r.enqueue(n):(i=e[e.length-1])==null||i.enqueue(n):(s=e[0])==null||s.enqueue(n)}function qle(e){let t=[];for(let n=0;n{let s=e.edge(n);e.removeEdge(n),s.forwardName=n.name,s.reversed=!0,e.setEdge(n.w,n.v,s,Uk("rev"))});function t(n){return s=>n.edge(s).weight}}function Wle(e){let t=[],n={},s={};function i(r){Object.hasOwn(s,r)||(s[r]=!0,n[r]=!0,e.outEdges(r).forEach(a=>{Object.hasOwn(n,a.w)?t.push(a):i(a.w)}),delete n[r])}return e.nodes().forEach(i),t}function Xle(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let s=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,s)}})}function Qle(e){e.graph().dummyChains=[],e.edges().forEach(t=>Zle(e,t))}function Zle(e,t){let n=t.v,s=e.node(n).rank,i=t.w,r=e.node(i).rank,a=t.name,l=e.edge(t),c=l.labelRank;if(r===s+1)return;e.removeEdge(t);let u,d,f;for(f=0,++s;s{let n=e.node(t),s=n.edgeLabel,i;for(e.setEdge(n.edgeObj,s);n.dummy;)i=e.successors(t)[0],e.removeNode(t),s.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(s.x=n.x,s.y=n.y,s.width=n.width,s.height=n.height),t=i,n=e.node(t)})}function Fk(e){let t={};function n(s){let i=e.node(s);if(Object.hasOwn(t,s))return i.rank;t[s]=!0;let r=e.outEdges(s),a=r?r.map(c=>c==null?Number.POSITIVE_INFINITY:n(c.w)-e.edge(c).minlen):[],l=Fa(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(n)}function df(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var O9=ece;function ece(e){let t=new ea({directed:!1}),n=e.nodes();if(n.length===0)throw new Error("Graph must have at least one node");let s=n[0],i=e.nodeCount();t.setNode(s,{});let r,a;for(;tce(t,e){let a=r.v,l=s===a?r.w:a;!e.hasNode(l)&&!df(t,r)&&(e.setNode(l,{}),e.setEdge(s,l,{}),n(l))})}return e.nodes().forEach(n),e.nodeCount()}function nce(e,t){return t.edges().reduce((n,s)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(s.v)!==e.hasNode(s.w)&&(i=df(t,s)),it.node(s).rank+=n)}var{preorder:ice,postorder:rce}=Bk,ace=ou;ou.initLowLimValues=Hk;ou.initCutValues=$k;ou.calcCutValue=M9;ou.leaveEdge=D9;ou.enterEdge=P9;ou.exchangeEdges=B9;function ou(e){e=jle(e),Fk(e);let t=O9(e);Hk(t),$k(t,e);let n,s;for(;n=D9(t);)s=P9(t,e,n),B9(t,e,n,s)}function $k(e,t){let n=rce(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(s=>oce(e,t,s))}function oce(e,t,n){let s=e.node(n).parent,i=e.edge(n,s);i.cutvalue=M9(e,t,n)}function M9(e,t,n){let s=e.node(n).parent,i=!0,r=t.edge(n,s),a=0;r||(i=!1,r=t.edge(s,n)),a=r.weight;let l=t.nodeEdges(n);return l&&l.forEach(c=>{let u=c.v===n,d=u?c.w:c.v;if(d!==s){let f=u===i,h=t.edge(c).weight;if(a+=f?h:-h,cce(e,n,d)){let m=e.edge(n,d).cutvalue;a+=f?-m:m}}}),a}function Hk(e,t){arguments.length<2&&(t=e.nodes()[0]),L9(e,{},1,t)}function L9(e,t,n,s,i){let r=n,a=e.node(s);t[s]=!0;let l=e.neighbors(s);return l&&l.forEach(c=>{Object.hasOwn(t,c)||(n=L9(e,t,n,c,s))}),a.low=r,a.lim=n++,i?a.parent=i:delete a.parent,n}function D9(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function P9(e,t,n){let s=n.v,i=n.w;t.hasEdge(s,i)||(s=n.w,i=n.v);let r=e.node(s),a=e.node(i),l=r,c=!1;return r.lim>a.lim&&(l=a,c=!0),t.edges().filter(u=>c===nO(e,e.node(u.v),l)&&c!==nO(e,e.node(u.w),l)).reduce((u,d)=>df(t,d)!e.node(i).parent);if(!n)return;let s=ice(e,[n]);s=s.slice(1),s.forEach(i=>{let r=e.node(i).parent,a=t.edge(i,r),l=!1;a||(a=t.edge(r,i),l=!0),t.node(i).rank=t.node(r).rank+(l?a.minlen:-a.minlen)})}function cce(e,t,n){return e.hasEdge(t,n)}function nO(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var uce=dce;function dce(e){let t=e.graph().ranker;if(typeof t=="function")return t(e);switch(t){case"network-simplex":sO(e);break;case"tight-tree":hce(e);break;case"longest-path":fce(e);break;case"none":break;default:sO(e)}}var fce=Fk;function hce(e){Fk(e),O9(e)}function sO(e){ace(e)}var mce=pce;function pce(e){let t=bce(e);e.graph().dummyChains.forEach(n=>{let s=e.node(n),i=s.edgeObj,r=gce(e,t,i.v,i.w),a=r.path,l=r.lca,c=0,u=a[c],d=!0;for(;n!==i.w;){if(s=e.node(n),d){for(;(u=a[c])!==l&&e.node(u).maxRanka||l>t[c].lim));let u=c,d=s;for(;(d=e.parent(d))!==u;)r.push(d);return{path:i.concat(r.reverse()),lca:u}}function bce(e){let t={},n=0;function s(i){let r=n;e.children(i).forEach(s),t[i]={low:r,lim:n++}}return e.children(tx).forEach(s),t}function yce(e){let t=Pf(e,"root",{},"_root"),n=xce(e),s=Object.values(n),i=Fa(Math.max,s)-1,r=2*i+1;e.graph().nestingRoot=t,e.edges().forEach(l=>e.edge(l).minlen*=r);let a=Ece(e)+1;e.children(tx).forEach(l=>U9(e,t,r,a,i,n,l)),e.graph().nodeRankFactor=r}function U9(e,t,n,s,i,r,a){var l;let c=e.children(a);if(!c.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}let u=eO(e,"_bt"),d=eO(e,"_bb"),f=e.node(a);e.setParent(u,a),f.borderTop=u,e.setParent(d,a),f.borderBottom=d,c.forEach(h=>{var m;U9(e,t,n,s,i,r,h);let p=e.node(h),g=p.borderTop?p.borderTop:h,v=p.borderBottom?p.borderBottom:h,y=p.borderTop?s:2*s,x=g!==v?1:i-((m=r[a])!=null?m:0)+1;e.setEdge(u,g,{weight:y,minlen:x,nestingEdge:!0}),e.setEdge(v,d,{weight:y,minlen:x,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,u,{weight:0,minlen:i+((l=r[a])!=null?l:0)})}function xce(e){let t={};function n(s,i){let r=e.children(s);r&&r.length&&r.forEach(a=>n(a,i+1)),t[s]=i}return e.children(tx).forEach(s=>n(s,1)),t}function Ece(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function vce(e){let t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(n=>{e.edge(n).nestingEdge&&e.removeEdge(n)})}var wce=Sce;function Sce(e){function t(n){let s=e.children(n),i=e.node(n);if(s.length&&s.forEach(t),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let r=i.minRank,a=i.maxRank+1;rrO(e.node(t))),e.edges().forEach(t=>rO(e.edge(t)))}function rO(e){let t=e.width;e.width=e.height,e.height=t}function Nce(e){e.nodes().forEach(t=>vv(e.node(t))),e.edges().forEach(t=>{var n;let s=e.edge(t);(n=s.points)==null||n.forEach(vv),Object.hasOwn(s,"y")&&vv(s)})}function vv(e){e.y=-e.y}function kce(e){e.nodes().forEach(t=>wv(e.node(t))),e.edges().forEach(t=>{var n;let s=e.edge(t);(n=s.points)==null||n.forEach(wv),Object.hasOwn(s,"x")&&wv(s)})}function wv(e){let t=e.x;e.x=e.y,e.y=t}function Ace(e){let t={},n=e.nodes().filter(l=>!e.children(l).length),s=n.map(l=>e.node(l).rank),i=Fa(Math.max,s),r=bp(i+1).map(()=>[]);function a(l){if(t[l])return;t[l]=!0;let c=e.node(l);r[c.rank].push(l);let u=e.successors(l);u&&u.forEach(a)}return n.sort((l,c)=>e.node(l).rank-e.node(c).rank).forEach(a),r}function Cce(e,t){let n=0;for(let s=1;sd)),i=t.flatMap(u=>{let d=e.outEdges(u);return d?d.map(f=>({pos:s[f.w],weight:e.edge(f).weight})).sort((f,h)=>f.pos-h.pos):[]}),r=1;for(;r{let d=u.pos+r;l[d]+=u.weight;let f=0;for(;d>0;)d%2&&(f+=l[d+1]),d=d-1>>1,l[d]+=u.weight;c+=u.weight*f}),c}function Rce(e,t=[]){return t.map(n=>{let s=e.inEdges(n);if(!s||!s.length)return{v:n};{let i=s.reduce((r,a)=>{let l=e.edge(a),c=e.node(a.v);return{sum:r.sum+l.weight*c.order,weight:r.weight+l.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function jce(e,t){let n={};e.forEach((i,r)=>{let a={indegree:0,in:[],out:[],vs:[i.v],i:r};i.barycenter!==void 0&&(a.barycenter=i.barycenter,a.weight=i.weight),n[i.v]=a}),t.edges().forEach(i=>{let r=n[i.v],a=n[i.w];r!==void 0&&a!==void 0&&(a.indegree++,r.out.push(a))});let s=Object.values(n).filter(i=>!i.indegree);return Oce(s)}function Oce(e){let t=[];function n(i){return r=>{r.merged||(r.barycenter===void 0||i.barycenter===void 0||r.barycenter>=i.barycenter)&&Mce(i,r)}}function s(i){return r=>{r.in.push(i),--r.indegree===0&&e.push(r)}}for(;e.length;){let i=e.pop();t.push(i),i.in.reverse().forEach(n(i)),i.out.forEach(s(i))}return t.filter(i=>!i.merged).map(i=>Ly(i,["vs","i","barycenter","weight"]))}function Mce(e,t){let n=0,s=0;e.weight&&(n+=e.barycenter*e.weight,s+=e.weight),t.weight&&(n+=t.barycenter*t.weight,s+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/s,e.weight=s,e.i=Math.min(t.i,e.i),t.merged=!0}function Lce(e,t){let n=Dle(e,d=>Object.hasOwn(d,"barycenter")),s=n.lhs,i=n.rhs.sort((d,f)=>f.i-d.i),r=[],a=0,l=0,c=0;s.sort(Dce(!!t)),c=aO(r,i,c),s.forEach(d=>{c+=d.vs.length,r.push(d.vs),a+=d.barycenter*d.weight,l+=d.weight,c=aO(r,i,c)});let u={vs:r.flat(1)};return l&&(u.barycenter=a/l,u.weight=l),u}function aO(e,t,n){let s;for(;t.length&&(s=t[t.length-1]).i<=n;)t.pop(),e.push(s.vs),n++;return n}function Dce(e){return(t,n)=>t.barycentern.barycenter?1:e?n.i-t.i:t.i-n.i}function $9(e,t,n,s){let i=e.children(t),r=e.node(t),a=r?r.borderLeft:void 0,l=r?r.borderRight:void 0,c={};a&&(i=i.filter(h=>h!==a&&h!==l));let u=Rce(e,i);u.forEach(h=>{if(e.children(h.v).length){let m=$9(e,h.v,n,s);c[h.v]=m,Object.hasOwn(m,"barycenter")&&Bce(h,m)}});let d=jce(u,n);Pce(d,c);let f=Lce(d,s);if(a&&l){f.vs=[a,f.vs,l].flat(1);let h=e.predecessors(a);if(h&&h.length){let m=e.node(h[0]),p=e.predecessors(l),g=e.node(p[0]);Object.hasOwn(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+m.order+g.order)/(f.weight+2),f.weight+=2}}return f}function Pce(e,t){e.forEach(n=>{n.vs=n.vs.flatMap(s=>t[s]?t[s].vs:s)})}function Bce(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 Uce(e,t,n,s){s||(s=e.nodes());let i=Fce(e),r=new ea({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(a=>e.node(a));return s.forEach(a=>{let l=e.node(a),c=e.parent(a);if(l.rank===t||l.minRank<=t&&t<=l.maxRank){r.setNode(a),r.setParent(a,c||i);let u=e[n](a);u&&u.forEach(d=>{let f=d.v===a?d.w:d.v,h=r.edge(f,a),m=h!==void 0?h.weight:0;r.setEdge(f,a,{weight:e.edge(d).weight+m})}),Object.hasOwn(l,"minRank")&&r.setNode(a,{borderLeft:l.borderLeft[t],borderRight:l.borderRight[t]})}}),r}function Fce(e){let t;for(;e.hasNode(t=Uk("_root")););return t}function $ce(e,t,n){let s={},i;n.forEach(r=>{let a=e.parent(r),l,c;for(;a;){if(l=e.parent(a),l?(c=s[l],s[l]=a):(c=i,i=a),c&&c!==a){t.setEdge(c,a);return}a=l}})}function H9(e,t={}){if(typeof t.customOrder=="function"){t.customOrder(e,H9);return}let n=I9(e),s=oO(e,bp(1,n+1),"inEdges"),i=oO(e,bp(n-1,-1,-1),"outEdges"),r=Ace(e);if(lO(e,r),t.disableOptimalOrderHeuristic)return;let a=Number.POSITIVE_INFINITY,l,c=t.constraints||[];for(let u=0,d=0;d<4;++u,++d){Hce(u%2?s:i,u%4>=2,c),r=eg(e);let f=Cce(e,r);f{s.has(r)||s.set(r,[]),s.get(r).push(a)};for(let r of e.nodes()){let a=e.node(r);if(typeof a.rank=="number"&&i(a.rank,r),typeof a.minRank=="number"&&typeof a.maxRank=="number")for(let l=a.minRank;l<=a.maxRank;l++)l!==a.rank&&i(l,r)}return t.map(function(r){return Uce(e,r,n,s.get(r)||[])})}function Hce(e,t,n){let s=new ea;e.forEach(function(i){n.forEach(l=>s.setEdge(l.left,l.right));let r=i.graph().root,a=$9(i,r,s,t);a.vs.forEach((l,c)=>i.node(l).order=c),$ce(i,s,a.vs)})}function lO(e,t){Object.values(t).forEach(n=>n.forEach((s,i)=>e.node(s).order=i))}function zce(e,t){let n={};function s(i,r){let a=0,l=0,c=i.length,u=r[r.length-1];return r.forEach((d,f)=>{let h=Gce(e,d),m=h?e.node(h).order:c;(h||d===u)&&(r.slice(l,f+1).forEach(p=>{let g=e.predecessors(p);g&&g.forEach(v=>{let y=e.node(v),x=y.order;(x{let f=r[d];if(f!==void 0&&e.node(f).dummy){let h=e.predecessors(f);h&&h.forEach(m=>{if(m===void 0)return;let p=e.node(m);p.dummy&&(p.orderu)&&z9(n,m,f)})}})}function i(r,a){let l=-1,c=-1,u=0;return a.forEach((d,f)=>{if(e.node(d).dummy==="border"){let h=e.predecessors(d);if(h&&h.length){let m=h[0];if(m===void 0)return;c=e.node(m).order,s(a,u,f,l,c),u=f,l=c}}s(a,u,a.length,c,r.length)}),a}return t.length&&t.reduce(i),n}function Gce(e,t){if(e.node(t).dummy){let n=e.predecessors(t);if(n)return n.find(s=>e.node(s).dummy)}}function z9(e,t,n){if(t>n){let i=t;t=n,n=i}let s=e[t];s||(e[t]=s={}),s[n]=!0}function Kce(e,t,n){if(t>n){let i=t;t=n,n=i}let s=e[t];return s!==void 0&&Object.hasOwn(s,n)}function qce(e,t,n,s){let i={},r={},a={};return t.forEach(l=>{l.forEach((c,u)=>{i[c]=c,r[c]=c,a[c]=u})}),t.forEach(l=>{let c=-1;l.forEach(u=>{let d=s(u);if(d&&d.length){let f=d.sort((m,p)=>{let g=a[m],v=a[p];return(g!==void 0?g:0)-(v!==void 0?v:0)}),h=(f.length-1)/2;for(let m=Math.floor(h),p=Math.ceil(h);m<=p;++m){let g=f[m];if(g===void 0)continue;let v=a[g];if(v!==void 0&&r[u]===u&&c{var y;let x=(y=r[v.v])!=null?y:0,E=a.edge(v);return Math.max(g,x+(E!==void 0?E:0))},0):r[m]=0}function d(m){let p=a.outEdges(m),g=Number.POSITIVE_INFINITY;p&&(g=p.reduce((y,x)=>{let E=r[x.w],w=a.edge(x);return Math.min(y,(E!==void 0?E:0)-(w!==void 0?w:0))},Number.POSITIVE_INFINITY));let v=e.node(m);g!==Number.POSITIVE_INFINITY&&v.borderType!==l&&(r[m]=Math.max(r[m]!==void 0?r[m]:0,g))}function f(m){return a.predecessors(m)||[]}function h(m){return a.successors(m)||[]}return c(u,f),c(d,h),Object.keys(s).forEach(m=>{var p;let g=n[m];g!==void 0&&(r[m]=(p=r[g])!=null?p:0)}),r}function Wce(e,t,n,s){let i=new ea,r=e.graph(),a=eue(r.nodesep,r.edgesep,s);return t.forEach(l=>{let c;l.forEach(u=>{let d=n[u];if(d!==void 0){if(i.setNode(d),c!==void 0){let f=n[c];if(f!==void 0){let h=i.edge(f,d);i.setEdge(f,d,Math.max(a(e,u,c),h||0))}}c=u}})}),i}function Xce(e,t){return Object.values(t).reduce((n,s)=>{let i=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY;Object.entries(s).forEach(([l,c])=>{let u=tue(e,l)/2;i=Math.max(c+u,i),r=Math.min(c-u,r)});let a=i-r;return a{["l","r"].forEach(a=>{let l=r+a,c=e[l];if(!c||c===t)return;let u=Object.values(c),d=s-Fa(Math.min,u);a!=="l"&&(d=i-Fa(Math.max,u)),d&&(e[l]=ex(c,f=>f+d))})})}function Zce(e,t=void 0){let n=e.ul;return n?ex(n,(s,i)=>{var r,a;if(t){let c=t.toLowerCase(),u=e[c];if(u&&u[i]!==void 0)return u[i]}let l=Object.values(e).map(c=>{let u=c[i];return u!==void 0?u:0}).sort((c,u)=>c-u);return(((r=l[1])!=null?r:0)+((a=l[2])!=null?a:0))/2}):{}}function Jce(e){let t=eg(e),n=Object.assign(zce(e,t),Vce(e,t)),s={},i;["u","d"].forEach(a=>{i=a==="u"?t:Object.values(t).reverse(),["l","r"].forEach(l=>{l==="r"&&(i=i.map(d=>Object.values(d).reverse()));let c=qce(e,i,n,d=>(a==="u"?e.predecessors(d):e.successors(d))||[]),u=Yce(e,i,c.root,c.align,l==="r");l==="r"&&(u=ex(u,d=>-d)),s[a+l]=u})});let r=Xce(e,s);return Qce(s,r),Zce(s,e.graph().align)}function eue(e,t,n){return(s,i,r)=>{let a=s.node(i),l=s.node(r),c=0,u;if(c+=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&&(c+=n?u:-u),u=void 0,c+=(a.dummy?t:e)/2,c+=(l.dummy?t:e)/2,c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":u=l.width/2;break;case"r":u=-l.width/2;break}return u&&(c+=n?u:-u),c}}function tue(e,t){return e.node(t).width}function nue(e){e=A9(e),sue(e),Object.entries(Jce(e)).forEach(([t,n])=>e.node(t).x=n)}function sue(e){let t=eg(e),n=e.graph(),s=n.ranksep,i=n.rankalign,r=0;t.forEach(a=>{let l=a.reduce((c,u)=>{var d;let f=(d=e.node(u).height)!=null?d:0;return c>f?c:f},0);a.forEach(c=>{let u=e.node(c);i==="top"?u.y=r+u.height/2:i==="bottom"?u.y=r+l-u.height/2:u.y=r+l/2}),r+=l+s})}function iue(e,t={}){let n=t.debugTiming?R9:j9;return n("layout",()=>{let s=n(" buildLayoutGraph",()=>mue(e));return n(" runLayout",()=>rue(s,n,t)),n(" updateInputGraph",()=>aue(e,s)),s})}function rue(e,t,n){t(" makeSpaceForEdgeLabels",()=>pue(e)),t(" removeSelfEdges",()=>_ue(e)),t(" acyclic",()=>Yle(e)),t(" nestingGraph.run",()=>yce(e)),t(" rank",()=>uce(A9(e))),t(" injectEdgeLabelProxies",()=>gue(e)),t(" removeEmptyRanks",()=>Mle(e)),t(" nestingGraph.cleanup",()=>vce(e)),t(" normalizeRanks",()=>Ole(e)),t(" assignRankMinMax",()=>bue(e)),t(" removeEdgeLabelProxies",()=>yue(e)),t(" normalize.run",()=>Qle(e)),t(" parentDummyChains",()=>mce(e)),t(" addBorderSegments",()=>wce(e)),t(" order",()=>H9(e,n)),t(" insertSelfEdges",()=>Tue(e)),t(" adjustCoordinateSystem",()=>_ce(e)),t(" position",()=>nue(e)),t(" positionSelfEdges",()=>Nue(e)),t(" removeBorderNodes",()=>Sue(e)),t(" normalize.undo",()=>Jle(e)),t(" fixupEdgeLabelCoords",()=>vue(e)),t(" undoCoordinateSystem",()=>Tce(e)),t(" translateGraph",()=>xue(e)),t(" assignNodeIntersects",()=>Eue(e)),t(" reversePoints",()=>wue(e)),t(" acyclic.undo",()=>Xle(e))}function aue(e,t){e.nodes().forEach(n=>{let s=e.node(n),i=t.node(n);s&&(s.x=i.x,s.y=i.y,s.order=i.order,s.rank=i.rank,t.children(n).length&&(s.width=i.width,s.height=i.height))}),e.edges().forEach(n=>{let s=e.edge(n),i=t.edge(n);s.points=i.points,Object.hasOwn(i,"x")&&(s.x=i.x,s.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var oue=["nodesep","edgesep","ranksep","marginx","marginy"],lue={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},cue=["acyclicer","ranker","rankdir","align","rankalign"],uue=["width","height","rank"],cO={width:0,height:0},due=["minlen","weight","width","height","labeloffset"],fue={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},hue=["labelpos"];function mue(e){let t=new ea({multigraph:!0,compound:!0}),n=_v(e.graph());return t.setGraph(Object.assign({},lue,Sv(n,oue),Ly(n,cue))),e.nodes().forEach(s=>{let i=_v(e.node(s)),r=Sv(i,uue);Object.keys(cO).forEach(l=>{r[l]===void 0&&(r[l]=cO[l])}),t.setNode(s,r);let a=e.parent(s);a!==void 0&&t.setParent(s,a)}),e.edges().forEach(s=>{let i=_v(e.edge(s));t.setEdge(s,Object.assign({},fue,Sv(i,due),Ly(i,hue)))}),t}function pue(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let s=e.edge(n);s.minlen*=2,s.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?s.width+=s.labeloffset:s.height+=s.labeloffset)})}function gue(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let s=e.node(t.v),i={rank:(e.node(t.w).rank-s.rank)/2+s.rank,e:t};Pf(e,"edge-proxy",i,"_ep")}})}function bue(e){let t=0;e.nodes().forEach(n=>{let s=e.node(n);s.borderTop&&(s.minRank=e.node(s.borderTop).rank,s.maxRank=e.node(s.borderBottom).rank,t=Math.max(t,s.maxRank))}),e.graph().maxRank=t}function yue(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="edge-proxy"){let s=n;e.edge(s.e).labelRank=n.rank,e.removeNode(t)}})}function xue(e){let t=Number.POSITIVE_INFINITY,n=0,s=Number.POSITIVE_INFINITY,i=0,r=e.graph(),a=r.marginx||0,l=r.marginy||0;function c(u){let d=u.x,f=u.y,h=u.width,m=u.height;t=Math.min(t,d-h/2),n=Math.max(n,d+h/2),s=Math.min(s,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let d=e.edge(u);Object.hasOwn(d,"x")&&c(d)}),t-=a,s-=l,e.nodes().forEach(u=>{let d=e.node(u);d.x-=t,d.y-=s}),e.edges().forEach(u=>{let d=e.edge(u);d.points.forEach(f=>{f.x-=t,f.y-=s}),Object.hasOwn(d,"x")&&(d.x-=t),Object.hasOwn(d,"y")&&(d.y-=s)}),r.width=n-t+a,r.height=i-s+l}function Eue(e){e.edges().forEach(t=>{let n=e.edge(t),s=e.node(t.v),i=e.node(t.w),r,a;n.points?(r=n.points[0],a=n.points[n.points.length-1]):(n.points=[],r=i,a=s),n.points.unshift(Jj(s,r)),n.points.push(Jj(i,a))})}function vue(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 wue(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function Sue(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),s=e.node(n.borderTop),i=e.node(n.borderBottom),r=e.node(n.borderLeft[n.borderLeft.length-1]),a=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(a.x-r.x),n.height=Math.abs(i.y-s.y),n.x=r.x+n.width/2,n.y=s.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy==="border"&&e.removeNode(t)})}function _ue(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 Tue(e){eg(e).forEach(t=>{let n=0;t.forEach((s,i)=>{let r=e.node(s);r.order=i+n,(r.selfEdges||[]).forEach(a=>{Pf(e,"selfedge",{width:a.label.width,height:a.label.height,rank:r.rank,order:i+ ++n,e:a.e,label:a.label},"_se")}),delete r.selfEdges})})}function Nue(e){e.nodes().forEach(t=>{let n=e.node(t);if(n.dummy==="selfedge"){let s=n,i=e.node(s.e.v),r=i.x+i.width/2,a=i.y,l=n.x-r,c=i.height/2;e.setEdge(s.e,s.label),e.removeNode(t),s.label.points=[{x:r+2*l/3,y:a-c},{x:r+5*l/6,y:a-c},{x:r+l,y:a},{x:r+5*l/6,y:a+c},{x:r+2*l/3,y:a+c}],s.label.x=n.x,s.label.y=n.y}})}function Sv(e,t){return ex(Ly(e,t),Number)}function _v(e){let t={};return e&&Object.entries(e).forEach(([n,s])=>{typeof n=="string"&&(n=n.toLowerCase()),t[n]=s}),t}function kue(e){let t=eg(e),n=new ea({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(s=>{n.setNode(s,{label:s}),n.setParent(s,"layer"+e.node(s).rank)}),e.edges().forEach(s=>n.setEdge(s.v,s.w,{},s.name)),t.forEach((s,i)=>{let r="layer"+i;n.setNode(r,{rank:"same"}),s.reduce((a,l)=>(n.setEdge(a,l,{style:"invis"}),l))}),n}var Aue={graphlib:x9,version:Ule,layout:iue,debug:kue,util:{time:R9,notime:j9}},uO=Aue;/*! For license information please see dagre.esm.js.LEGAL.txt */const Xh={llm:{label:"智能体",description:"理解任务并直接完成一个具体工作",icon:Hc},sequential:{label:"分步协作",description:"内部步骤按照顺序依次执行",icon:wP},parallel:{label:"同时处理",description:"内部步骤同时工作,完成后统一汇总",icon:pP},loop:{label:"循环执行",description:"重复执行内部步骤,直到满足停止条件",icon:tk},a2a:{label:"远程智能体",description:"调用已经存在的远程 Agent",icon:R1}},c_=220,u_=88,dO=96,fO=34,km=64,Tv=310,pd=24,V9=56,d_=40,hO=40,Cue=18,Iue=58,Rue=!1,jue=e=>e==="sequential"||e==="parallel"||e==="loop";function f_(e,t){const n=e.agentType??"llm";return jue(n)||n==="llm"&&(t.length===0||e.subAgents.length>0)}function h_(e,t=[],n="horizontal",s=!1){const i=e.agentType??"llm";if(!f_(e,t))return{width:c_,height:u_};if(s&&e.subAgents.length===0)return{width:Tv,height:km};const r=e.subAgents.map((f,h)=>h_(f,[...t,h],n,s)),a=r.length?Math.max(...r.map(f=>f.width)):0,l=r.length?Math.max(...r.map(f=>f.height)):0,c=r.length&&i!=="parallel"?V9:pd,u=n==="horizontal"?i!=="parallel":i==="parallel",d=r.length?i==="parallel"?Cue+hO:i==="loop"?Iue:0:hO;return u?{width:Math.max(Tv,r.reduce((f,h)=>f+h.width,0)+d_*Math.max(0,r.length-1)+c*2),height:km+pd+l+d+pd}:{width:Math.max(Tv,a+pd*2),height:km+c+r.reduce((f,h)=>f+h.height,0)+d_*Math.max(0,r.length-1)+d+c}}function Th(e){return e.length===0?"agent-root":`agent-${e.join("-")}`}function Oue(e,t){return e.length===t.length&&e.every((n,s)=>n===t[s])}function mO(e){const t=n=>[n.agentType??"llm",n.subAgents.map(t)];return JSON.stringify(t(e))}function Nh(e,t,n,s){const i=(s==null?void 0:s.tone)==="sequential"?"hsl(213 40% 40%)":(s==null?void 0:s.tone)==="loop"?"hsl(151 34% 34%)":"hsl(220 9% 38%)";return{id:`${e}-${t}${s!=null&&s.loop?"-loop":""}`,source:e,target:t,sourceHandle:s!=null&&s.loop?"loop-source":void 0,targetHandle:s!=null&&s.loop?"loop-target":void 0,label:n,type:"insertStep",data:s?{insert:s.insert,loop:s.loop,tone:s.tone}:void 0,animated:s==null?void 0:s.loop,markerEnd:{type:rf.ArrowClosed,width:16,height:16,color:i},style:{stroke:i,strokeWidth:1.5},labelStyle:{fill:"hsl(215 14% 42%)",fontSize:10,fontWeight:600},labelBgStyle:{fill:"hsl(var(--background))",fillOpacity:.92}}}function pO(e,t,n=!1){const s=[{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}],i=[];function r(d,f,h,m,p){const g=d.agentType??"llm",v=Th(f);return f_(d,f)?(a(d,f,h,m,p),v):(s.push({id:v,type:"agent",parentId:h,extent:"parent",position:m,data:{kind:"agent",path:f,agent:d,title:g==="a2a"?"远程智能体":d.name.trim()||(f.length===0?"主 Agent":"未命名步骤"),pattern:g,description:d.description.trim()||Xh[g].description,childCount:d.subAgents.length,containedIn:p}}),v)}function a(d,f,h,m={x:0,y:0},p){const g=d.agentType??"sequential",v=Th(f),y=h_(d,f,t,n);s.push({id:v,type:"group",parentId:h,extent:h?"parent":void 0,position:m,style:{width:y.width,height:y.height},data:{kind:"agent",path:f,agent:d,title:d.name.trim()||(f.length===0?"主 Agent":Xh[g].label),pattern:g,description:d.description.trim()||Xh[g].description,childCount:d.subAgents.length,containedIn:p,layoutWidth:y.width,layoutHeight:y.height,compactEmptyGroup:n&&d.subAgents.length===0}});const x=d.subAgents.map((N,A)=>h_(N,[...f,A],t,n)),E=x.length&&g!=="parallel"?V9:pd,w=t==="horizontal"?g!=="parallel":g==="parallel";let T=E;const S=d.subAgents.map((N,A)=>{const C=x[A],I=w?{x:T,y:km+pd}:{x:(y.width-C.width)/2,y:km+T};return T+=(w?C.width:C.height)+d_,r(N,[...f,A],v,I,g)});if(g==="sequential"||g==="loop"){for(let N=0;N1&&i.push(Nh(S[S.length-1],S[0],"继续循环",{loop:!0,tone:"loop"}))}return v}const l=(d,f)=>{const h=d.agentType??"llm",m=Th(f);if(f_(d,f))return a(d,f),[m];if(s.push({id:m,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()||Xh[h].description,childCount:d.subAgents.length}}),d.subAgents.length===0)return[m];const p=[];return d.subAgents.forEach((g,v)=>{const y=[...f,v],x=Th(y);i.push(Nh(m,x,"调用",{insert:{parentPath:f,index:v}})),p.push(...l(g,y))}),p},c=Th([]),u=l(e,[]);return i.push(Nh("terminal-input",c)),u.forEach(d=>i.push(Nh(d,"terminal-output"))),Mue(s,i,t)}function Mue(e,t,n){const s=new uO.graphlib.Graph().setDefaultEdgeLabel(()=>({}));s.setGraph({rankdir:n==="vertical"?"TB":"LR",ranksep:50,nodesep:34,edgesep:14,marginx:24,marginy:24});const i=new Set(e.filter(r=>!r.parentId).map(r=>r.id));return e.filter(r=>!r.parentId).forEach(r=>{const a=r.data.kind==="terminal";s.setNode(r.id,{width:a?dO:r.data.layoutWidth??c_,height:a?fO:r.data.layoutHeight??u_})}),t.filter(r=>i.has(r.source)&&i.has(r.target)).forEach(r=>s.setEdge(r.source,r.target)),uO.layout(s),{nodes:e.map(r=>{if(r.parentId)return r;const a=s.node(r.id),l=r.data.kind==="terminal",c=l?dO:r.data.layoutWidth??c_,u=l?fO:r.data.layoutHeight??u_;return{...r,position:{x:a.x-c/2,y:a.y-u/2}}}),edges:t}}const nx=b.createContext(null),sx=b.createContext("horizontal");function Lue({id:e,sourceX:t,sourceY:n,targetX:s,targetY:i,sourcePosition:r,targetPosition:a,markerEnd:l,style:c,label:u,data:d}){const f=b.useContext(nx),[h,m]=b.useState(!1),[p,g,v]=Ry({sourceX:t,sourceY:n,targetX:s,targetY:i,sourcePosition:r,targetPosition:a,offset:d!=null&&d.loop?28:20});return o.jsxs(o.Fragment,{children:[o.jsx(Jp,{id:e,path:p,markerEnd:l,style:c}),f&&(d==null?void 0:d.insert)&&o.jsx("path",{d:p,className:"abc-edge-hover-path",onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1)}),(u||f&&(d==null?void 0:d.insert))&&o.jsx(Ioe,{children:o.jsxs("div",{className:`abc-edge-tools${f&&(d!=null&&d.insert)?" can-insert":""}${h?" is-visible":""}`,style:{transform:`translate(-50%, -50%) translate(${g}px, ${v}px)`},onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1),children:[u&&o.jsx("span",{className:"abc-edge-label",children:u}),f&&(d==null?void 0:d.insert)&&o.jsx("button",{type:"button",className:"abc-edge-add nodrag nopan","aria-label":"在这里插入步骤",title:"在这里插入步骤",onClick:y=>{y.stopPropagation(),f==null||f.onInsert(d.insert.parentPath,d.insert.index)},children:o.jsx(vi,{})})]})})]})}function Due({data:e,selected:t}){const n=b.useContext(nx),s=b.useContext(sx),i=s==="vertical"?We.Top:We.Left,r=s==="vertical"?We.Bottom:We.Right,a=s==="vertical"?We.Right:We.Bottom,l=e.pattern??"llm",c=Xh[l],u=c.icon;return o.jsxs("div",{className:`abc-node is-${l}${e.containedIn?` is-contained-in-${e.containedIn}`:""}${t?" is-selected":""}`,children:[o.jsx(Ri,{type:"target",position:i,className:"abc-handle"}),l!=="llm"&&o.jsx("span",{className:"abc-node-icon",children:o.jsx(u,{})}),o.jsxs("span",{className:"abc-node-copy",children:[o.jsx("span",{className:"abc-node-meta",children:o.jsx("span",{children:c.label})}),o.jsx("strong",{children:e.title}),o.jsx("small",{children:e.description})]}),n&&e.path!==void 0&&e.path.length>0&&o.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:o.jsx(Po,{})}),o.jsx(Ri,{type:"source",position:r,className:"abc-handle"}),e.containedIn==="loop"&&o.jsxs(o.Fragment,{children:[o.jsx(Ri,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),o.jsx(Ri,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function Pue({data:e,selected:t}){const n=b.useContext(nx),s=b.useContext(sx),i=s==="vertical"?We.Top:We.Left,r=s==="vertical"?We.Bottom:We.Right,a=s==="vertical"?We.Right:We.Bottom,l=e.pattern??"sequential",c=e.childCount??0,u=l==="llm"?"添加子 Agent":l==="parallel"?"添加一个同时处理的步骤":l==="loop"?"添加循环步骤":"添加下一个步骤";return o.jsxs("div",{className:`abc-group is-${l}${e.compactEmptyGroup?" is-compact-empty":""}${t?" is-selected":""}`,children:[o.jsx(Ri,{type:"target",position:i,className:"abc-handle"}),o.jsx("header",{className:"abc-group-head",children:o.jsxs("span",{children:[o.jsx("strong",{title:e.title,children:e.title}),o.jsx("small",{children:e.description})]})}),n&&e.path!==void 0&&c>0&&l!=="parallel"&&o.jsxs("div",{className:"abc-group-boundary-actions",children:[o.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:o.jsx(vi,{})}),o.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:o.jsx(vi,{})})]}),n&&e.path!==void 0&&c>0&&l==="parallel"&&o.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-bottom nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[o.jsx(vi,{}),o.jsx("span",{children:u})]}),n&&e.path!==void 0&&c===0&&o.jsxs("button",{type:"button",className:"abc-group-add abc-group-add-empty nodrag nopan",onClick:d=>{d.stopPropagation(),n.onAdd(e.path)},children:[o.jsx(vi,{}),o.jsx("span",{children:u})]}),n&&e.path!==void 0&&e.path.length>0&&o.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:o.jsx(Po,{})}),o.jsx(Ri,{type:"source",position:r,className:"abc-handle"}),e.containedIn==="loop"&&o.jsxs(o.Fragment,{children:[o.jsx(Ri,{id:"loop-target",type:"target",position:a,className:"abc-handle abc-loop-handle"}),o.jsx(Ri,{id:"loop-source",type:"source",position:a,className:"abc-handle abc-loop-handle"})]})]})}function Bue({data:e}){const t=b.useContext(sx);return o.jsxs("div",{className:"abc-terminal",children:[o.jsx(Ri,{type:"target",position:t==="vertical"?We.Top:We.Left,className:"abc-handle"}),o.jsx("span",{children:e.title}),o.jsx(Ri,{type:"source",position:t==="vertical"?We.Bottom:We.Right,className:"abc-handle"})]})}const Uue={agent:Due,group:Pue,terminal:Bue},Fue={insertStep:Lue};function $ue({draft:e,selectedPath:t,onSelect:n,onAdd:s,onInsert:i,onDelete:r,readOnly:a=!1,interactivePreview:l=!1,direction:c="horizontal"}){const u=b.useMemo(()=>pO(e,c,a),[]),[d,f,h]=d9(u.nodes),[m,p,g]=f9(u.edges),v=joe(),y=b.useRef(`${c}:${a?"readonly":"editable"}:${mO(e)}`),x=b.useRef(null),{fitView:E}=Z1(),w=b.useMemo(()=>pO(e,c,a),[c,e,a]),[T,S]=b.useState(()=>window.matchMedia("(max-width: 860px)").matches),N=b.useMemo(()=>a?{padding:.16,minZoom:.05,maxZoom:.9}:T?{padding:.08,minZoom:.35,maxZoom:.9}:{padding:.14,minZoom:.42,maxZoom:1.1},[T,a]),A=b.useCallback((I=0)=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{const O=x.current;if(O&&(O.clientWidth===0||O.clientHeight===0)&&I<8){A(I+1);return}E(N)})})},[N,E]);b.useEffect(()=>{const I=window.matchMedia("(max-width: 860px)"),O=L=>S(L.matches);return I.addEventListener("change",O),()=>I.removeEventListener("change",O)},[]),b.useEffect(()=>{const I=`${c}:${a?"readonly":"editable"}:${mO(e)}`,O=I!==y.current;y.current=I,p(w.edges),f(L=>{const G=new Map(L.map(D=>[D.id,D]));return w.nodes.map(D=>{const F=G.get(D.id);return{...D,measured:!O&&F&&F.type===D.type?F.measured:void 0,position:!O&&F?F.position:D.position,selected:D.data.kind==="agent"&&!!D.data.path&&Oue(D.data.path,t)}})}),O&&A()},[w,e,A,t,p,f]),b.useEffect(()=>{A()},[T,A]),b.useEffect(()=>{v&&A()},[w,A,v]),b.useEffect(()=>{if(!a||!x.current)return;const I=new ResizeObserver(()=>A());return I.observe(x.current),A(),()=>I.disconnect()},[A,a]);const C=b.useMemo(()=>a?null:{onAdd:s,onInsert:i,onDelete:r},[s,r,i,a]);return o.jsx(sx.Provider,{value:c,children:o.jsx(nx.Provider,{value:C,children:o.jsx("section",{className:`abc-root is-${c}${a?" is-readonly":""}`,"aria-label":a?"只读 Agent 执行画布":"Agent 执行画布",children:o.jsx("div",{ref:x,className:"abc-canvas",children:o.jsxs(u9,{nodes:d,edges:m,nodeTypes:Uue,edgeTypes:Fue,onNodesChange:h,onEdgesChange:g,onNodeClick:(I,O)=>{!a&&O.data.kind==="agent"&&O.data.path&&n(O.data.path)},nodesDraggable:!a,nodesConnectable:!1,nodesFocusable:!a,elementsSelectable:!a,edgesFocusable:!1,edgesReconnectable:!1,panOnDrag:!a||l,zoomOnDoubleClick:l,zoomOnPinch:!a||l,zoomOnScroll:!a||l,fitView:!0,fitViewOptions:N,onInit:()=>A(),minZoom:a?.05:.35,maxZoom:1.6,proOptions:{hideAttribution:!0},children:[o.jsx(m9,{gap:20,size:1.2,color:"hsl(34 20% 82%)"}),(!a||l)&&o.jsx(g9,{showInteractive:!1}),Rue]})})})})})}function yp(e){return o.jsx(Pk,{children:o.jsx($ue,{...e})})}const Hue="https://ark.cn-beijing.volces.com/api/v3/",yb=[{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:Hue}],ff=[],kh=[{key:"FEISHU_APP_ID",required:!0,placeholder:"cli_xxx",comment:"飞书应用 App ID"},{key:"FEISHU_APP_SECRET",required:!0,placeholder:"输入 App Secret",comment:"飞书应用 App Secret"}],ba={topK:"3",region:"cn-beijing",endpoint:"https://open.volcengineapi.com/"},G9=[{key:"REGISTRY_SPACE_ID",required:!0,placeholder:"请选择智能体中心",comment:"AgentKit 智能体中心"},{key:"REGISTRY_TOP_K",required:!1,placeholder:ba.topK,comment:"召回 Agent 数量"},{key:"REGISTRY_REGION",required:!1,placeholder:ba.region,comment:"AgentKit 智能体中心地域"},{key:"REGISTRY_ENDPOINT",required:!1,placeholder:ba.endpoint,comment:"AgentKit 智能体中心 OpenAPI 地址"}],lu=[{id:"web_search",label:"联网搜索",desc:"火山引擎 Web Search,获取实时信息。",importLine:"from veadk.tools.builtin_tools.web_search import web_search",toolNames:["web_search"],env:ff},{id:"parallel_web_search",label:"并行联网搜索",desc:"并行发起多条搜索查询,更快汇总。",importLine:"from veadk.tools.builtin_tools.parallel_web_search import parallel_web_search",toolNames:["parallel_web_search"],env:ff},{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"}]}],zue=new Set(["web_scraper","text_to_speech","vesearch"]),K9=lu.filter(e=>!zue.has(e.id)),m_=[{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}]}],p_=[{id:"local",label:"本地向量库",desc:"进程内 llama-index 向量库。",env:yb,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},...yb],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},...yb],pipExtra:"extensions",needsEmbedding:!0},{id:"viking",label:"VikingDB Memory",desc:"火山 VikingDB 记忆库(支持用户画像)。",env:ff},{id:"mem0",label:"Mem0",desc:"Mem0 托管记忆服务。",env:[{key:"DATABASE_MEM0_API_KEY",required:!0},{key:"DATABASE_MEM0_BASE_URL",required:!1}],pipExtra:"database"}],Wc="viking",g_=[{id:"viking",label:"VikingDB Knowledge",desc:"火山 VikingDB 知识库。",env:ff},{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},...yb],pipExtra:"extensions",needsEmbedding:!0},{id:"context_search",label:"Context Search",desc:"火山 Context Search 引擎(无需向量化)。",env:[...ff,{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ID",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_ENDPOINT",required:!0},{key:"DATABASE_CONTEXT_SEARCH_ENGINE_APIKEY",required:!0}]}],Vue=[{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:[...ff,{key:"OBSERVABILITY_OPENTELEMETRY_TLS_SERVICE_NAME",required:!1,comment:"TLS topic_id,留空自动创建"}]}],Gue="doubao-seed-2-1-pro-260628",Kue="一个基于 VeADK 构建的智能助手,理解用户意图并调用合适的工具完成任务。",que=`你是一个专业、可靠的智能助手。 你的目标是准确理解用户的需求,并给出条理清晰、简洁有用的回答。 约束: - 信息不足时主动提问澄清,不要臆造事实。 - 需要时合理调用可用的工具,并说明关键结论。 -- 保持礼貌、专业的语气。`;function Ni(){return{name:"",description:Pue,instruction:Bue,agentType:"llm",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:Due,modelProvider:"",modelApiBase:"",shortTermBackend:"local",longTermBackend:"local",autoSaveSession:!1,knowledgebaseBackend:Wc,knowledgebaseIndex:"",tracingExporters:[],selectedSkills:[],deployment:{feishuEnabled:!1}}}async function eg(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Dn(void 0,Of)});if(t.status===409)throw new Error("服务端未配置 Volcengine AK/SK,无法访问 AgentKit Skills 中心");if(t.status===401)throw new Error("请先登录以访问 AgentKit Skills 中心");if(t.status===404)throw new Error("技能不存在或无 SKILL.md 内容");if(!t.ok){let n="";try{n=(await t.json()).detail||""}catch{}throw new Error(`请求失败 (${t.status})${n?": "+n:""}`)}return t.json()}async function U9(){return(await eg("/web/skill-spaces?region=all")).items||[]}async function Uue(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),eg(`/web/skill-spaces?${t.toString()}`)}async function F9(e,t){const n=t?`?region=${encodeURIComponent(t)}`:"";return(await eg(`/web/skill-spaces/${encodeURIComponent(e)}/skills${n}`)).items||[]}async function Fue(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),eg(`/web/skill-spaces/${encodeURIComponent(e)}/skills?${n.toString()}`)}async function $ue(e,t,n,s,i){const r=[];n&&r.push(`version=${encodeURIComponent(n)}`),s&&r.push(`region=${encodeURIComponent(s)}`),i&&r.push(`project=${encodeURIComponent(i)}`);const a=r.length>0?`?${r.join("&")}`:"";return eg(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function Hue(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 zue(e,t){return`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}function hj({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M4.5 6.7h4.2M12.3 6.7h7.2"}),o.jsx("path",{d:"M4.5 12h8.2M16.3 12h3.2"}),o.jsx("path",{d:"M4.5 17.3h2.7M10.8 17.3h8.7"}),o.jsx("circle",{cx:"10.5",cy:"6.7",r:"1.8",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"14.5",cy:"12",r:"1.8",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"9",cy:"17.3",r:"1.8",fill:"currentColor",stroke:"none"})]})}const Vue={coding:"智能编程",get_city_weather:"城市天气查询",get_location_weather:"位置天气查询",web_fetch:"网页内容获取"};function m_(e){const t=lu.find(n=>n.id===e||n.toolNames.includes(e));return Vue[e]??(t==null?void 0:t.label)??e}function mj(e){const t=lu.find(s=>s.id===e||s.toolNames.includes(e));return((t==null?void 0:t.desc)??"由 VeADK 提供的内置工具").replace(/[。.]+$/,"")}function Gue(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m7 7 10 10M17 7 7 17",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function Kue(){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"5.8",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.2 15.2 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function pj(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function $9({title:e,description:t,icon:n,wide:s=!1,onClose:i,children:r}){const a=b.useRef(`session-capability-${Math.random().toString(36).slice(2)}`);return b.useEffect(()=>{const l=document.body.style.overflow;document.body.style.overflow="hidden";const c=u=>{u.key==="Escape"&&i()};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c),document.body.style.overflow=l}},[i]),xi.createPortal(o.jsxs("div",{className:"session-capability-dialog-layer",children:[o.jsx("button",{type:"button",className:"session-capability-dialog-scrim","aria-label":"关闭弹窗",onClick:i}),o.jsxs("section",{className:`session-capability-dialog${s?" is-wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":a.current,children:[o.jsxs("header",{className:`session-capability-dialog-head${n?"":" is-iconless"}`,children:[n&&o.jsx("span",{className:"session-capability-dialog-mark",children:n}),o.jsxs("div",{children:[o.jsx("h2",{id:a.current,children:e}),o.jsx("p",{children:t})]}),o.jsx("button",{type:"button",className:"session-capability-dialog-close","aria-label":`关闭${e}`,onClick:i,children:o.jsx(Gue,{})})]}),r]})]}),document.body)}function yb({value:e,placeholder:t,label:n,onChange:s,autoFocus:i=!1}){return o.jsxs("label",{className:"session-capability-search",children:[o.jsx(Kue,{}),o.jsx("input",{value:e,"aria-label":n,placeholder:t,autoFocus:i,onChange:r=>s(r.target.value)})]})}function que({agentName:e,tools:t,selectedNames:n,mutating:s,onAdd:i,onClose:r}){const[a,l]=b.useState(""),[c,u]=b.useState(""),d=b.useMemo(()=>new Set(n),[n]),f=b.useMemo(()=>{const m=a.trim().toLowerCase();return t.filter(p=>m?`${m_(p)} ${p} ${mj(p)}`.toLowerCase().includes(m):!0)},[a,t]),h=async m=>{u(m);const p=await i({kind:"tool",name:m});u(""),p&&r()};return o.jsx($9,{title:"添加内置工具",description:`添加后仅对 ${e} 的当前会话生效`,icon:o.jsx(hj,{}),onClose:r,children:o.jsxs("div",{className:"session-tool-dialog-body",children:[o.jsx(yb,{value:a,label:"搜索内置工具",placeholder:"搜索中文名称或工具标识",onChange:l,autoFocus:!0}),o.jsx("div",{className:"session-tool-picker",role:"list","aria-label":"可用内置工具",children:f.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的内置工具"}):f.map(m=>{const p=d.has(m),g=c===m;return o.jsxs("article",{className:"session-tool-option",role:"listitem",children:[o.jsx("span",{className:"session-tool-option-icon",children:o.jsx(hj,{})}),o.jsxs("span",{className:"session-tool-option-copy",children:[o.jsx("strong",{children:m_(m)}),o.jsx("code",{children:m}),o.jsx("span",{children:mj(m)})]}),o.jsx("button",{type:"button",disabled:p||s||!!c,onClick:()=>void h(m),children:p?"已添加":g?"添加中…":"添加"})]},m)})})]})})}function Yue({appName:e,agentName:t,selectedNames:n,mutating:s,onAdd:i,onClose:r}){const[a,l]=b.useState("public"),[c,u]=b.useState(""),[d,f]=b.useState([]),[h,m]=b.useState(0),[p,g]=b.useState(!0),[v,y]=b.useState(""),[x,E]=b.useState([]),[w,T]=b.useState(null),[S,k]=b.useState([]),[A,C]=b.useState(""),[R,M]=b.useState(""),[L,G]=b.useState(!0),[D,F]=b.useState(!1),[N,O]=b.useState(""),[P,$]=b.useState(""),I=b.useMemo(()=>new Set(n),[n]);b.useEffect(()=>{if(a!=="public")return;let z=!0;const K=window.setTimeout(()=>{g(!0),y(""),VP(e,c.trim()).then(se=>{z&&(f(se.items),m(se.totalCount))}).catch(se=>{z&&(f([]),m(0),y(se instanceof Error?se.message:"搜索 Skill Hub 失败"))}).finally(()=>{z&&g(!1)})},250);return()=>{z=!1,window.clearTimeout(K)}},[e,c,a]),b.useEffect(()=>{if(a!=="agentkit")return;let z=!0;return G(!0),O(""),U9().then(K=>{z&&(E(K),T(K[0]??null))}).catch(K=>{z&&O(K instanceof Error?K.message:"读取 Skill Space 失败")}).finally(()=>{z&&G(!1)}),()=>{z=!1}},[a]),b.useEffect(()=>{if(a!=="agentkit")return;if(!w){k([]);return}let z=!0;return F(!0),O(""),F9(w.id,w.region).then(K=>{z&&k(K)}).catch(K=>{z&&O(K instanceof Error?K.message:"读取技能失败")}).finally(()=>{z&&F(!1)}),()=>{z=!1}},[w,a]);const q=b.useMemo(()=>{const z=A.trim().toLowerCase();return z?x.filter(K=>`${K.name} ${K.id} ${K.description}`.toLowerCase().includes(z)):x},[A,x]),Q=b.useMemo(()=>{const z=R.trim().toLowerCase();return z?S.filter(K=>`${K.skillName} ${K.skillDescription}`.toLowerCase().includes(z)):S},[R,S]),B=async z=>{if(!w)return;$(z.skillId);const K=await i({kind:"skill",name:z.skillName,skillSourceId:w.id,description:z.skillDescription,version:z.version});$(""),K&&r()},ee=async z=>{$(z.slug);const K=await i({kind:"skill",name:z.name,skillSourceId:`findskill:${z.slug}`,description:z.description,version:z.version||z.updatedAt});$(""),K&&r()};return o.jsx($9,{title:"添加技能",description:`从公域 Skill Hub 或 AgentKit Skill 中心添加到 ${t} 当前会话`,wide:!0,onClose:r,children:o.jsxs("div",{className:"session-skill-dialog-body",children:[o.jsxs("div",{className:"session-skill-source-tabs",role:"tablist","aria-label":"技能来源",children:[o.jsxs("button",{type:"button",role:"tab","aria-selected":a==="public",className:a==="public"?"is-active":"",onClick:()=>l("public"),children:["Skill Hub",o.jsx("span",{children:"公域"})]}),o.jsx("button",{type:"button",role:"tab","aria-selected":a==="agentkit",className:a==="agentkit"?"is-active":"",onClick:()=>l("agentkit"),children:"AgentKit Skill 中心"})]}),a==="public"?o.jsxs("section",{className:"session-public-skill-browser","aria-label":"Skill Hub 公域技能",children:[o.jsxs("div",{className:"session-public-skill-head",children:[o.jsx(yb,{value:c,label:"搜索 Skill Hub",placeholder:"搜索技能名称、用途或关键词",onChange:u,autoFocus:!0}),o.jsxs("span",{children:[h.toLocaleString()," 个公域技能"]})]}),o.jsx("div",{className:"session-public-skill-list",children:v?o.jsx("div",{className:"session-capability-error",children:v}):p?o.jsx("div",{className:"session-capability-loading",children:"正在搜索 Skill Hub…"}):d.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的公域技能"}):d.map(z=>{const K=I.has(z.name),se=P===z.slug;return o.jsxs("article",{className:"session-skill-option session-public-skill-option",children:[o.jsxs("span",{className:"session-skill-option-copy",children:[o.jsx("strong",{children:z.name}),o.jsx("span",{children:z.description||"暂无描述"}),o.jsxs("small",{children:[z.sourceRepo||z.sourceType||"FindSkill",o.jsx("span",{"aria-hidden":"true",children:" · "}),z.downloadCount.toLocaleString()," 次下载",z.evaluationScore>0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{"aria-hidden":"true",children:" · "}),z.evaluationScore.toFixed(1)," 分"]})]})]}),o.jsx("button",{type:"button",disabled:K||s||!!P,onClick:()=>void ee(z),children:K?"已添加":se?"添加中…":o.jsxs(o.Fragment,{children:[o.jsx(pj,{}),"添加"]})})]},z.slug)})})]}):o.jsxs("div",{className:"session-skill-browser",children:[o.jsxs("section",{className:"session-skill-spaces","aria-label":"Skill Space 列表",children:[o.jsxs("div",{className:"session-skill-pane-head",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Skill Space"}),o.jsx("span",{children:x.length})]}),o.jsx(yb,{value:A,label:"搜索 Skill Space",placeholder:"搜索空间",onChange:C,autoFocus:!0})]}),o.jsx("div",{className:"session-skill-pane-list",children:L?o.jsx("div",{className:"session-capability-loading",children:"正在读取 Skill Space…"}):q.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的 Skill Space"}):q.map(z=>o.jsx("button",{type:"button",className:`session-skill-space${(w==null?void 0:w.id)===z.id?" is-active":""}`,onClick:()=>{T(z),M("")},children:o.jsxs("span",{children:[o.jsx("strong",{children:z.name||z.id}),o.jsx("small",{children:z.description||z.id}),o.jsxs("em",{children:[z.skillCount??0," 个技能"]})]})},`${z.projectName??"default"}:${z.id}`))})]}),o.jsxs("section",{className:"session-skill-results","aria-label":"AgentKit Skill 列表",children:[o.jsxs("div",{className:"session-skill-pane-head",children:[o.jsxs("div",{children:[o.jsx("strong",{title:w==null?void 0:w.name,children:(w==null?void 0:w.name)||"选择 Skill Space"}),o.jsx("span",{children:S.length})]}),o.jsx(yb,{value:R,label:"搜索 AgentKit 技能",placeholder:"搜索技能名称或描述",onChange:M})]}),o.jsx("div",{className:"session-skill-pane-list",children:N?o.jsx("div",{className:"session-capability-error",children:N}):w?D?o.jsx("div",{className:"session-capability-loading",children:"正在读取技能…"}):Q.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的技能"}):Q.map(z=>{const K=I.has(z.skillName),se=P===z.skillId;return o.jsxs("article",{className:"session-skill-option",children:[o.jsxs("span",{className:"session-skill-option-copy",children:[o.jsx("strong",{children:z.skillName}),o.jsx("span",{children:z.skillDescription||"暂无描述"}),o.jsxs("small",{children:["版本 ",z.version||"—"]})]}),o.jsx("button",{type:"button",disabled:K||s||!!P,onClick:()=>void B(z),children:K?"已添加":se?"添加中…":o.jsxs(o.Fragment,{children:[o.jsx(pj,{}),"添加"]})})]},`${z.skillId}:${z.version}`)}):o.jsx("div",{className:"session-capability-empty",children:"选择一个 Skill Space 查看技能"})})]})]})]})})}function Vl({as:e="span",className:t="",duration:n=4,spread:s=20,children:i,style:r,...a}){const l=Math.min(Math.max(s,5),45);return o.jsx(e,{className:`text-shimmer${t?` ${t}`:""}`,style:{...r,backgroundImage:`linear-gradient(to right, hsl(var(--muted-foreground)) ${50-l}%, hsl(var(--foreground)) 50%, hsl(var(--muted-foreground)) ${50+l}%)`,animationDuration:`${n}s`},...a,children:i})}function H9(e){return 1+e.children.reduce((t,n)=>t+H9(n),0)}function z9(e){return e.id||e.name}function Wue(e,t){const n=z9(e);if(e.id&&e.name&&e.name!==n)return e.name;if(t&&n==="agent")return"主 Agent";const s=/^agent_sub_(\d+)$/.exec(n);return s?`子 Agent ${s[1]}`:e.name||n}function V9(e,t=!0){return{...e,id:z9(e),name:Wue(e,t),children:e.children.map(n=>V9(n,!1))}}function G9(e){const t=Ni();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(G9)}}function Xue(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}function Que(e){return[...new Map(e.filter(t=>t.name.trim()).map(t=>[t.name.trim(),{...t,name:t.name.trim()}])).values()]}function Sv({title:e,count:t}){return o.jsxs("div",{className:"topo-module-title",children:[o.jsx("span",{className:"topo-module-label",title:e,children:e}),t!==void 0&&o.jsx("span",{className:"topo-section-count","aria-label":`${t} 项`,children:t})]})}function Zue({appName:e,info:t,loading:n,variant:s="rail",capabilities:i=null,capabilityLoading:r=!1,capabilityMutating:a=!1,builtinTools:l=[],onAddCapability:c,onRemoveCapability:u}){const[d,f]=b.useState(null),[h,m]=b.useState(!1),p=b.useRef(null),g=()=>{m(!1),window.requestAnimationFrame(()=>{var S;return(S=p.current)==null?void 0:S.focus()})};if(b.useEffect(()=>{if(!h)return;const S=document.body.style.overflow,k=A=>{A.key==="Escape"&&g()};return document.body.style.overflow="hidden",document.addEventListener("keydown",k),()=>{document.body.style.overflow=S,document.removeEventListener("keydown",k)}},[h]),n&&!t)return o.jsx("aside",{className:`topo is-loading${s==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息","aria-live":"polite",children:o.jsx(Vl,{as:"span",className:"topo-loading-label",duration:2.2,children:"正在读取 Agent 信息…"})});if(!t)return null;const v=V9(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:[]}),y=(i==null?void 0:i.tools)??Xue(t.tools).map(S=>({id:`base:tool:${S}`,kind:"tool",name:S,custom:!1})),x=(i==null?void 0:i.skills)??Que(t.skills).map(S=>({id:`base:skill:${S.name}`,kind:"skill",name:S.name,description:S.description,custom:!1})),E=!!(i&&c&&u),w=G9(v),T=S=>o.jsx(bp,{draft:w,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},S);return o.jsxs(o.Fragment,{children:[o.jsxs("aside",{className:`topo${s==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息与拓扑",children:[o.jsxs("section",{className:"topo-agent-card","aria-label":"Agent 信息",children:[o.jsxs("div",{className:"topo-agent-heading",children:[o.jsx("h2",{title:t.name,children:t.name||"未命名 Agent"}),t.model&&o.jsx("span",{title:t.model,children:t.model})]}),t.description&&o.jsx("p",{className:"topo-description",title:t.description,children:t.description})]}),o.jsxs("div",{className:"topo-module-stack",children:[o.jsxs("section",{className:"topo-module-card topo-tools-card","aria-label":"工具",children:[o.jsx(Sv,{title:"工具",count:y.length}),o.jsx("div",{className:"topo-module-scroll topo-tools-scroll",role:"region","aria-label":"工具列表",tabIndex:0,children:y.length>0?o.jsx("div",{className:"topo-tool-list",children:y.map(S=>o.jsxs("div",{className:"topo-tool",title:S.name,children:[o.jsxs("span",{className:"topo-capability-title",children:[o.jsxs("span",{className:"topo-capability-copy",children:[o.jsx("span",{className:"topo-capability-name",children:m_(S.name)}),o.jsx("code",{children:S.name})]}),S.custom&&o.jsx("span",{className:"topo-custom-badge",children:"自定义"})]}),S.custom&&o.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除工具 ${S.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(S.id),children:"×"})]},S.id))}):o.jsx("div",{className:"topo-empty",children:"未配置"})}),E&&o.jsx("div",{className:"topo-capability-add-dock",children:o.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加内置工具",disabled:r||a,onClick:()=>f("tool"),children:[o.jsx("span",{"aria-hidden":"true",children:"+"}),o.jsx("span",{children:"在此对话中添加工具"})]})})]}),o.jsxs("section",{className:"topo-module-card topo-skills-card","aria-label":"技能",children:[o.jsx(Sv,{title:"技能",count:t.skillsPreviewSupported?x.length:void 0}),o.jsx("div",{className:"topo-module-scroll topo-skills-scroll",role:"region","aria-label":"技能列表",tabIndex:0,children:t.skillsPreviewSupported?x.length>0?o.jsx("div",{className:"topo-skill-list",children:x.map(S=>o.jsxs("div",{className:"topo-skill",title:S.description||S.name,children:[o.jsxs("div",{className:"topo-skill-title",children:[o.jsx("span",{className:"topo-skill-name",children:S.name}),S.custom&&o.jsx("span",{className:"topo-custom-badge",children:"自定义"}),S.custom&&o.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除技能 ${S.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(S.id),children:"×"})]}),S.description&&o.jsx("span",{className:"topo-skill-description",children:S.description})]},`${S.name}:${S.description}`))}):o.jsx("div",{className:"topo-empty",children:"未配置"}):o.jsx("div",{className:"topo-empty",children:"暂不支持预览"})}),E&&o.jsx("div",{className:"topo-capability-add-dock",children:o.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加技能",disabled:r||a,onClick:()=>f("skill"),children:[o.jsx("span",{"aria-hidden":"true",children:"+"}),o.jsx("span",{children:"在此对话中添加技能"})]})})]}),o.jsxs("section",{className:"topo-module-card topo-topology","aria-label":"Agent 画布",children:[o.jsxs("div",{className:"topo-canvas-heading",children:[o.jsx(Sv,{title:"结构拓扑",count:H9(v)}),o.jsx("button",{ref:p,type:"button",className:"topo-canvas-expand","aria-label":"全屏查看 Agent 画布",title:"全屏查看",onClick:()=>m(!0),children:o.jsx(Rc,{"aria-hidden":"true"})})]}),o.jsx("div",{className:"topo-canvas-preview",role:"region","aria-label":"Agent 执行画布",children:T(`conversation-canvas:${e}`)})]})]}),d==="tool"&&c&&o.jsx(que,{agentName:t.name,tools:l,selectedNames:y.map(S=>S.name),mutating:a,onAdd:c,onClose:()=>f(null)}),d==="skill"&&c&&o.jsx(Yue,{appName:e,agentName:t.name,selectedNames:x.map(S=>S.name),mutating:a,onAdd:c,onClose:()=>f(null)})]}),h&&xi.createPortal(o.jsxs("section",{className:"topo-canvas-dialog",role:"dialog","aria-modal":"true","aria-label":"全屏 Agent 执行画布",children:[o.jsxs("header",{className:"topo-canvas-dialog-header",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Agent 执行画布"}),o.jsx("span",{children:t.name})]}),o.jsx("button",{type:"button","aria-label":"关闭全屏画布",title:"关闭",onClick:g,autoFocus:!0,children:o.jsx(Ei,{"aria-hidden":"true"})})]}),o.jsx("div",{className:"topo-canvas-dialog-body",children:T(`conversation-canvas-fullscreen:${e}`)})]}),document.body)]})}function cRe(){}function gj(e){const t=[],n=String(e||"");let s=n.indexOf(","),i=0,r=!1;for(;!r;){s===-1&&(s=n.length,r=!0);const a=n.slice(i,s).trim();(a||!r)&&t.push(a),i=s+1,s=n.indexOf(",",i)}return t}function K9(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Jue=/[$_\p{ID_Start}]/u,ede=/[$_\u{200C}\u{200D}\p{ID_Continue}]/u,tde=/[-$_\u{200C}\u{200D}\p{ID_Continue}]/u,nde=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,sde=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,q9={};function uRe(e){return e?Jue.test(String.fromCodePoint(e)):!1}function dRe(e,t){const s=(t||q9).jsx?tde:ede;return e?s.test(String.fromCodePoint(e)):!1}function bj(e,t){return(q9.jsx?sde:nde).test(e)}const ide=/[ \t\n\f\r]/g;function rde(e){return typeof e=="object"?e.type==="text"?yj(e.value):!1:yj(e)}function yj(e){return e.replace(ide,"")===""}let tg=class{constructor(t,n,s){this.normal=n,this.property=t,s&&(this.space=s)}};tg.prototype.normal={};tg.prototype.property={};tg.prototype.space=void 0;function Y9(e,t){const n={},s={};for(const i of e)Object.assign(n,i.property),Object.assign(s,i.normal);return new tg(n,s,t)}function yp(e){return e.toLowerCase()}class cr{constructor(t,n){this.attribute=n,this.property=t}}cr.prototype.attribute="";cr.prototype.booleanish=!1;cr.prototype.boolean=!1;cr.prototype.commaOrSpaceSeparated=!1;cr.prototype.commaSeparated=!1;cr.prototype.defined=!1;cr.prototype.mustUseProperty=!1;cr.prototype.number=!1;cr.prototype.overloadedBoolean=!1;cr.prototype.property="";cr.prototype.spaceSeparated=!1;cr.prototype.space=void 0;let ade=0;const Mt=cu(),Fs=cu(),p_=cu(),Be=cu(),Vn=cu(),Od=cu(),hr=cu();function cu(){return 2**++ade}const g_=Object.freeze(Object.defineProperty({__proto__:null,boolean:Mt,booleanish:Fs,commaOrSpaceSeparated:hr,commaSeparated:Od,number:Be,overloadedBoolean:p_,spaceSeparated:Vn},Symbol.toStringTag,{value:"Module"})),_v=Object.keys(g_);class Fk extends cr{constructor(t,n,s,i){let r=-1;if(super(t,n),xj(this,"space",i),typeof s=="number")for(;++r<_v.length;){const a=_v[r];xj(this,_v[r],(s&g_[a])===g_[a])}}}Fk.prototype.defined=!0;function xj(e,t,n){n&&(e[t]=n)}function Bf(e){const t={},n={};for(const[s,i]of Object.entries(e.properties)){const r=new Fk(s,e.transform(e.attributes||{},s),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(s)&&(r.mustUseProperty=!0),t[s]=r,n[yp(s)]=s,n[yp(r.attribute)]=s}return new tg(t,n,e.space)}const W9=Bf({properties:{ariaActiveDescendant:null,ariaAtomic:Fs,ariaAutoComplete:null,ariaBusy:Fs,ariaChecked:Fs,ariaColCount:Be,ariaColIndex:Be,ariaColSpan:Be,ariaControls:Vn,ariaCurrent:null,ariaDescribedBy:Vn,ariaDetails:null,ariaDisabled:Fs,ariaDropEffect:Vn,ariaErrorMessage:null,ariaExpanded:Fs,ariaFlowTo:Vn,ariaGrabbed:Fs,ariaHasPopup:null,ariaHidden:Fs,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Vn,ariaLevel:Be,ariaLive:null,ariaModal:Fs,ariaMultiLine:Fs,ariaMultiSelectable:Fs,ariaOrientation:null,ariaOwns:Vn,ariaPlaceholder:null,ariaPosInSet:Be,ariaPressed:Fs,ariaReadOnly:Fs,ariaRelevant:null,ariaRequired:Fs,ariaRoleDescription:Vn,ariaRowCount:Be,ariaRowIndex:Be,ariaRowSpan:Be,ariaSelected:Fs,ariaSetSize:Be,ariaSort:null,ariaValueMax:Be,ariaValueMin:Be,ariaValueNow:Be,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function X9(e,t){return t in e?e[t]:t}function Q9(e,t){return X9(e,t.toLowerCase())}const ode=Bf({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Od,acceptCharset:Vn,accessKey:Vn,action:null,allow:null,allowFullScreen:Mt,allowPaymentRequest:Mt,allowUserMedia:Mt,alt:null,as:null,async:Mt,autoCapitalize:null,autoComplete:Vn,autoFocus:Mt,autoPlay:Mt,blocking:Vn,capture:null,charSet:null,checked:Mt,cite:null,className:Vn,cols:Be,colSpan:null,content:null,contentEditable:Fs,controls:Mt,controlsList:Vn,coords:Be|Od,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Mt,defer:Mt,dir:null,dirName:null,disabled:Mt,download:p_,draggable:Fs,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Mt,formTarget:null,headers:Vn,height:Be,hidden:p_,high:Be,href:null,hrefLang:null,htmlFor:Vn,httpEquiv:Vn,id:null,imageSizes:null,imageSrcSet:null,inert:Mt,inputMode:null,integrity:null,is:null,isMap:Mt,itemId:null,itemProp:Vn,itemRef:Vn,itemScope:Mt,itemType:Vn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Mt,low:Be,manifest:null,max:null,maxLength:Be,media:null,method:null,min:null,minLength:Be,multiple:Mt,muted:Mt,name:null,nonce:null,noModule:Mt,noValidate:Mt,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Mt,optimum:Be,pattern:null,ping:Vn,placeholder:null,playsInline:Mt,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Mt,referrerPolicy:null,rel:Vn,required:Mt,reversed:Mt,rows:Be,rowSpan:Be,sandbox:Vn,scope:null,scoped:Mt,seamless:Mt,selected:Mt,shadowRootClonable:Mt,shadowRootDelegatesFocus:Mt,shadowRootMode:null,shape:null,size:Be,sizes:null,slot:null,span:Be,spellCheck:Fs,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Be,step:null,style:null,tabIndex:Be,target:null,title:null,translate:null,type:null,typeMustMatch:Mt,useMap:null,value:Fs,width:Be,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Vn,axis:null,background:null,bgColor:null,border:Be,borderColor:null,bottomMargin:Be,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Mt,declare:Mt,event:null,face:null,frame:null,frameBorder:null,hSpace:Be,leftMargin:Be,link:null,longDesc:null,lowSrc:null,marginHeight:Be,marginWidth:Be,noResize:Mt,noHref:Mt,noShade:Mt,noWrap:Mt,object:null,profile:null,prompt:null,rev:null,rightMargin:Be,rules:null,scheme:null,scrolling:Fs,standby:null,summary:null,text:null,topMargin:Be,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Be,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Mt,disableRemotePlayback:Mt,prefix:null,property:null,results:Be,security:null,unselectable:null},space:"html",transform:Q9}),lde=Bf({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:hr,accentHeight:Be,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Be,amplitude:Be,arabicForm:null,ascent:Be,attributeName:null,attributeType:null,azimuth:Be,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Be,by:null,calcMode:null,capHeight:Be,className:Vn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Be,diffuseConstant:Be,direction:null,display:null,dur:null,divisor:Be,dominantBaseline:null,download:Mt,dx:null,dy:null,edgeMode:null,editable:null,elevation:Be,enableBackground:null,end:null,event:null,exponent:Be,externalResourcesRequired:null,fill:null,fillOpacity:Be,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Od,g2:Od,glyphName:Od,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Be,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Be,horizOriginX:Be,horizOriginY:Be,id:null,ideographic:Be,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Be,k:Be,k1:Be,k2:Be,k3:Be,k4:Be,kernelMatrix:hr,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Be,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Be,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Be,overlineThickness:Be,paintOrder:null,panose1:null,path:null,pathLength:Be,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Vn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Be,pointsAtY:Be,pointsAtZ:Be,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:hr,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:hr,rev:hr,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:hr,requiredFeatures:hr,requiredFonts:hr,requiredFormats:hr,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Be,specularExponent:Be,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Be,strikethroughThickness:Be,string:null,stroke:null,strokeDashArray:hr,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Be,strokeOpacity:Be,strokeWidth:null,style:null,surfaceScale:Be,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:hr,tabIndex:Be,tableValues:null,target:null,targetX:Be,targetY:Be,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:hr,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Be,underlineThickness:Be,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Be,values:null,vAlphabetic:Be,vMathematical:Be,vectorEffect:null,vHanging:Be,vIdeographic:Be,version:null,vertAdvY:Be,vertOriginX:Be,vertOriginY:Be,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Be,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:X9}),Z9=Bf({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),J9=Bf({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Q9}),eU=Bf({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),cde={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},ude=/[A-Z]/g,Ej=/-[a-z]/g,dde=/^data[-\w.:]+$/i;function tx(e,t){const n=yp(t);let s=t,i=cr;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&dde.test(t)){if(t.charAt(4)==="-"){const r=t.slice(5).replace(Ej,hde);s="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{const r=t.slice(4);if(!Ej.test(r)){let a=r.replace(ude,fde);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=Fk}return new i(s,t)}function fde(e){return"-"+e.toLowerCase()}function hde(e){return e.charAt(1).toUpperCase()}const ng=Y9([W9,ode,Z9,J9,eU],"html"),Xl=Y9([W9,lde,Z9,J9,eU],"svg");function vj(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function tU(e){return e.join(" ").trim()}var $k={},wj=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,mde=/\n/g,pde=/^\s*/,gde=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,bde=/^:\s*/,yde=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,xde=/^[;\s]*/,Ede=/^\s+|\s+$/g,vde=` -`,Sj="/",_j="*",yc="",wde="comment",Sde="declaration";function _de(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,s=1;function i(p){var g=p.match(mde);g&&(n+=g.length);var v=p.lastIndexOf(vde);s=~v?p.length-v:s+p.length}function r(){var p={line:n,column:s};return function(g){return g.position=new a(p),u(),g}}function a(p){this.start=p,this.end={line:n,column:s},this.source=t.source}a.prototype.content=e;function l(p){var g=new Error(t.source+":"+n+":"+s+": "+p);if(g.reason=p,g.filename=t.source,g.line=n,g.column=s,g.source=e,!t.silent)throw g}function c(p){var g=p.exec(e);if(g){var v=g[0];return i(v),e=e.slice(v.length),g}}function u(){c(pde)}function d(p){var g;for(p=p||[];g=f();)g!==!1&&p.push(g);return p}function f(){var p=r();if(!(Sj!=e.charAt(0)||_j!=e.charAt(1))){for(var g=2;yc!=e.charAt(g)&&(_j!=e.charAt(g)||Sj!=e.charAt(g+1));)++g;if(g+=2,yc===e.charAt(g-1))return l("End of comment missing");var v=e.slice(2,g-2);return s+=2,i(v),e=e.slice(g),s+=2,p({type:wde,comment:v})}}function h(){var p=r(),g=c(gde);if(g){if(f(),!c(bde))return l("property missing ':'");var v=c(yde),y=p({type:Sde,property:Tj(g[0].replace(wj,yc)),value:v?Tj(v[0].replace(wj,yc)):yc});return c(xde),y}}function m(){var p=[];d(p);for(var g;g=h();)g!==!1&&(p.push(g),d(p));return p}return u(),m()}function Tj(e){return e?e.replace(Ede,yc):yc}var Tde=_de,Nde=yl&&yl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($k,"__esModule",{value:!0});$k.default=Ade;const kde=Nde(Tde);function Ade(e,t){let n=null;if(!e||typeof e!="string")return n;const s=(0,kde.default)(e),i=typeof t=="function";return s.forEach(r=>{if(r.type!=="declaration")return;const{property:a,value:l}=r;i?t(a,l,r):l&&(n=n||{},n[a]=l)}),n}var nx={};Object.defineProperty(nx,"__esModule",{value:!0});nx.camelCase=void 0;var Cde=/^--[a-zA-Z0-9_-]+$/,Ide=/-([a-z])/g,Rde=/^[^-]+$/,Ode=/^-(webkit|moz|ms|o|khtml)-/,jde=/^-(ms)-/,Mde=function(e){return!e||Rde.test(e)||Cde.test(e)},Lde=function(e,t){return t.toUpperCase()},Nj=function(e,t){return"".concat(t,"-")},Dde=function(e,t){return t===void 0&&(t={}),Mde(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(jde,Nj):e=e.replace(Ode,Nj),e.replace(Ide,Lde))};nx.camelCase=Dde;var Pde=yl&&yl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},Bde=Pde($k),Ude=nx;function b_(e,t){var n={};return!e||typeof e!="string"||(0,Bde.default)(e,function(s,i){s&&i&&(n[(0,Ude.camelCase)(s,t)]=i)}),n}b_.default=b_;var Fde=b_;const $de=Ef(Fde),sx=nU("end"),Xa=nU("start");function nU(e){return t;function t(n){const s=n&&n.position&&n.position[e]||{};if(typeof s.line=="number"&&s.line>0&&typeof s.column=="number"&&s.column>0)return{line:s.line,column:s.column,offset:typeof s.offset=="number"&&s.offset>-1?s.offset:void 0}}}function Hde(e){const t=Xa(e),n=sx(e);if(t&&n)return{start:t,end:n}}function km(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?kj(e.position):"start"in e||"end"in e?kj(e):"line"in e||"column"in e?y_(e):""}function y_(e){return Aj(e&&e.line)+":"+Aj(e&&e.column)}function kj(e){return y_(e&&e.start)+"-"+y_(e&&e.end)}function Aj(e){return e&&typeof e=="number"?e:1}class Ri extends Error{constructor(t,n,s){super(),typeof n=="string"&&(s=n,n=void 0);let i="",r={},a=!1;if(n&&("line"in n&&"column"in n?r={place:n}:"start"in n&&"end"in n?r={place:n}:"type"in n?r={ancestors:[n],place:n.position}:r={...n}),typeof t=="string"?i=t:!r.cause&&t&&(a=!0,i=t.message,r.cause=t),!r.ruleId&&!r.source&&typeof s=="string"){const c=s.indexOf(":");c===-1?r.ruleId=s:(r.source=s.slice(0,c),r.ruleId=s.slice(c+1))}if(!r.place&&r.ancestors&&r.ancestors){const c=r.ancestors[r.ancestors.length-1];c&&(r.place=c.position)}const l=r.place&&"start"in r.place?r.place.start:r.place;this.ancestors=r.ancestors||void 0,this.cause=r.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=l?l.line:void 0,this.name=km(r.place)||"1:1",this.place=r.place||void 0,this.reason=this.message,this.ruleId=r.ruleId||void 0,this.source=r.source||void 0,this.stack=a&&r.cause&&typeof r.cause.stack=="string"?r.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Ri.prototype.file="";Ri.prototype.name="";Ri.prototype.reason="";Ri.prototype.message="";Ri.prototype.stack="";Ri.prototype.column=void 0;Ri.prototype.line=void 0;Ri.prototype.ancestors=void 0;Ri.prototype.cause=void 0;Ri.prototype.fatal=void 0;Ri.prototype.place=void 0;Ri.prototype.ruleId=void 0;Ri.prototype.source=void 0;const Hk={}.hasOwnProperty,zde=new Map,Vde=/[A-Z]/g,Gde=new Set(["table","tbody","thead","tfoot","tr"]),Kde=new Set(["td","th"]),sU="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function qde(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let s;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");s=tfe(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");s=efe(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:s,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"?Xl:ng,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},r=iU(i,e,void 0);return r&&typeof r!="string"?r:i.create(e,i.Fragment,{children:r||void 0},void 0)}function iU(e,t,n){if(t.type==="element")return Yde(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return Wde(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Qde(e,t,n);if(t.type==="mdxjsEsm")return Xde(e,t);if(t.type==="root")return Zde(e,t,n);if(t.type==="text")return Jde(e,t)}function Yde(e,t,n){const s=e.schema;let i=s;t.tagName.toLowerCase()==="svg"&&s.space==="html"&&(i=Xl,e.schema=i),e.ancestors.push(t);const r=aU(e,t.tagName,!1),a=nfe(e,t);let l=Vk(e,t);return Gde.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!rde(c):!0})),rU(e,a,r,t),zk(a,l),e.ancestors.pop(),e.schema=s,e.create(t,r,a,n)}function Wde(e,t){if(t.data&&t.data.estree&&e.evaluater){const s=t.data.estree.body[0];return s.type,e.evaluater.evaluateExpression(s.expression)}xp(e,t.position)}function Xde(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);xp(e,t.position)}function Qde(e,t,n){const s=e.schema;let i=s;t.name==="svg"&&s.space==="html"&&(i=Xl,e.schema=i),e.ancestors.push(t);const r=t.name===null?e.Fragment:aU(e,t.name,!0),a=sfe(e,t),l=Vk(e,t);return rU(e,a,r,t),zk(a,l),e.ancestors.pop(),e.schema=s,e.create(t,r,a,n)}function Zde(e,t,n){const s={};return zk(s,Vk(e,t)),e.create(t,e.Fragment,s,n)}function Jde(e,t){return t.value}function rU(e,t,n,s){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=s)}function zk(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function efe(e,t,n){return s;function s(i,r,a,l){const u=Array.isArray(a.children)?n:t;return l?u(r,a,l):u(r,a)}}function tfe(e,t){return n;function n(s,i,r,a){const l=Array.isArray(r.children),c=Xa(s);return t(i,r,a,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function nfe(e,t){const n={};let s,i;for(i in t.properties)if(i!=="children"&&Hk.call(t.properties,i)){const r=ife(e,i,t.properties[i]);if(r){const[a,l]=r;e.tableCellAlignToStyle&&a==="align"&&typeof l=="string"&&Kde.has(t.tagName)?s=l:n[a]=l}}if(s){const r=n.style||(n.style={});r[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=s}return n}function sfe(e,t){const n={};for(const s of t.attributes)if(s.type==="mdxJsxExpressionAttribute")if(s.data&&s.data.estree&&e.evaluater){const r=s.data.estree.body[0];r.type;const a=r.expression;a.type;const l=a.properties[0];l.type,Object.assign(n,e.evaluater.evaluateExpression(l.argument))}else xp(e,t.position);else{const i=s.name;let r;if(s.value&&typeof s.value=="object")if(s.value.data&&s.value.data.estree&&e.evaluater){const l=s.value.data.estree.body[0];l.type,r=e.evaluater.evaluateExpression(l.expression)}else xp(e,t.position);else r=s.value===null?!0:s.value;n[i]=r}return n}function Vk(e,t){const n=[];let s=-1;const i=e.passKeys?new Map:zde;for(;++si?0:i+t:t=t>i?i:t,n=n>0?n:0,s.length<1e4)a=Array.from(s),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);r0?(Nr(e,e.length,0,t),e):t}const Rj={}.hasOwnProperty;function lU(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 ya(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const $i=Ql(/[A-Za-z]/),Ci=Ql(/[\dA-Za-z]/),hfe=Ql(/[#-'*+\--9=?A-Z^-~]/);function Ly(e){return e!==null&&(e<32||e===127)}const x_=Ql(/\d/),mfe=Ql(/[\dA-Fa-f]/),pfe=Ql(/[!-/:-@[-`{-~]/);function gt(e){return e!==null&&e<-2}function Bn(e){return e!==null&&(e<0||e===32)}function Wt(e){return e===-2||e===-1||e===32}const ix=Ql(new RegExp("\\p{P}|\\p{S}","u")),Xc=Ql(/\s/);function Ql(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Uf(e){const t=[];let n=-1,s=0,i=0;for(;++n55295&&r<57344){const l=e.charCodeAt(n+1);r<56320&&l>56319&&l<57344?(a=String.fromCharCode(r,l),i=1):a="�"}else a=String.fromCharCode(r);a&&(t.push(e.slice(s,n),encodeURIComponent(a)),s=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(s)}function sn(e,t,n,s){const i=s?s-1:Number.POSITIVE_INFINITY;let r=0;return a;function a(c){return Wt(c)?(e.enter(n),l(c)):t(c)}function l(c){return Wt(c)&&r++a))return;const k=t.events.length;let A=k,C,R;for(;A--;)if(t.events[A][0]==="exit"&&t.events[A][1].type==="chunkFlow"){if(C){R=t.events[A][1].end;break}C=!0}for(y(s),S=k;SE;){const T=n[w];t.containerState=T[1],T[0].exit.call(t,e)}n.length=E}function x(){i.write([null]),r=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Efe(e,t,n){return sn(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function hf(e){if(e===null||Bn(e)||Xc(e))return 1;if(ix(e))return 2}function rx(e,t,n){const s=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[s][1].end},h={...e[n][1].start};jj(f,-c),jj(h,c),a={type:c>1?"strongSequence":"emphasisSequence",start:f,end:{...e[s][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},r={type:c>1?"strongText":"emphasisText",start:{...e[s][1].end},end:{...e[n][1].start}},i={type:c>1?"strong":"emphasis",start:{...a.start},end:{...l.end}},e[s][1].end={...a.start},e[n][1].start={...l.end},u=[],e[s][1].end.offset-e[s][1].start.offset&&(u=Fr(u,[["enter",e[s][1],t],["exit",e[s][1],t]])),u=Fr(u,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",r,t]]),u=Fr(u,rx(t.parser.constructs.insideSpan.null,e.slice(s+1,n),t)),u=Fr(u,[["exit",r,t],["enter",l,t],["exit",l,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=Fr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,Nr(e,s-1,n-s+3,u),n=s+u.length-d-2;break}}for(n=-1;++n0&&Wt(S)?sn(e,x,"linePrefix",r+1)(S):x(S)}function x(S){return S===null||gt(S)?e.check(Mj,g,w)(S):(e.enter("codeFlowValue"),E(S))}function E(S){return S===null||gt(S)?(e.exit("codeFlowValue"),x(S)):(e.consume(S),E)}function w(S){return e.exit("codeFenced"),t(S)}function T(S,k,A){let C=0;return R;function R(F){return S.enter("lineEnding"),S.consume(F),S.exit("lineEnding"),M}function M(F){return S.enter("codeFencedFence"),Wt(F)?sn(S,L,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):L(F)}function L(F){return F===l?(S.enter("codeFencedFenceSequence"),G(F)):A(F)}function G(F){return F===l?(C++,S.consume(F),G):C>=a?(S.exit("codeFencedFenceSequence"),Wt(F)?sn(S,D,"whitespace")(F):D(F)):A(F)}function D(F){return F===null||gt(F)?(S.exit("codeFencedFence"),k(F)):A(F)}}}function Ofe(e,t,n){const s=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r)}function r(a){return s.parser.lazy[s.now().line]?n(a):t(a)}}const Nv={name:"codeIndented",tokenize:Mfe},jfe={partial:!0,tokenize:Lfe};function Mfe(e,t,n){const s=this;return i;function i(u){return e.enter("codeIndented"),sn(e,r,"linePrefix",5)(u)}function r(u){const d=s.events[s.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?c(u):gt(u)?e.attempt(jfe,a,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||gt(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),t(u)}}function Lfe(e,t,n){const s=this;return i;function i(a){return s.parser.lazy[s.now().line]?n(a):gt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):sn(e,r,"linePrefix",5)(a)}function r(a){const l=s.events[s.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(a):gt(a)?i(a):n(a)}}const Dfe={name:"codeText",previous:Bfe,resolve:Pfe,tokenize:Ufe};function Pfe(e){let t=e.length-4,n=3,s,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(s=n;++s=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-s+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-s+this.left.length).reverse())}splice(t,n,s){const i=n||0;this.setCursor(Math.trunc(t));const r=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return s&&Ah(this.left,s),r.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),Ah(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ah(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(s.parser.constructs.flow,n,t)(a)}}function mU(e,t,n,s,i,r,a,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return f;function f(y){return y===60?(e.enter(s),e.enter(i),e.enter(r),e.consume(y),e.exit(r),h):y===null||y===32||y===41||Ly(y)?n(y):(e.enter(s),e.enter(a),e.enter(l),e.enter("chunkString",{contentType:"string"}),g(y))}function h(y){return y===62?(e.enter(r),e.consume(y),e.exit(r),e.exit(i),e.exit(s),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===62?(e.exit("chunkString"),e.exit(l),h(y)):y===null||y===60||gt(y)?n(y):(e.consume(y),y===92?p:m)}function p(y){return y===60||y===62||y===92?(e.consume(y),m):m(y)}function g(y){return!d&&(y===null||y===41||Bn(y))?(e.exit("chunkString"),e.exit(l),e.exit(a),e.exit(s),t(y)):d999||m===null||m===91||m===93&&!c||m===94&&!l&&"_hiddenFootnoteSupport"in a.parser.constructs?n(m):m===93?(e.exit(r),e.enter(i),e.consume(m),e.exit(i),e.exit(s),t):gt(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(m))}function f(m){return m===null||m===91||m===93||gt(m)||l++>999?(e.exit("chunkString"),d(m)):(e.consume(m),c||(c=!Wt(m)),m===92?h:f)}function h(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}}function gU(e,t,n,s,i,r){let a;return l;function l(h){return h===34||h===39||h===40?(e.enter(s),e.enter(i),e.consume(h),e.exit(i),a=h===40?41:h,c):n(h)}function c(h){return h===a?(e.enter(i),e.consume(h),e.exit(i),e.exit(s),t):(e.enter(r),u(h))}function u(h){return h===a?(e.exit(r),c(a)):h===null?n(h):gt(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),sn(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===a||h===null||gt(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 Am(e,t){let n;return s;function s(i){return gt(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,s):Wt(i)?sn(e,s,n?"linePrefix":"lineSuffix")(i):t(i)}}const qfe={name:"definition",tokenize:Wfe},Yfe={partial:!0,tokenize:Xfe};function Wfe(e,t,n){const s=this;let i;return r;function r(m){return e.enter("definition"),a(m)}function a(m){return pU.call(s,e,l,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function l(m){return i=ya(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)),m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),c):n(m)}function c(m){return Bn(m)?Am(e,u)(m):u(m)}function u(m){return mU(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function d(m){return e.attempt(Yfe,f,f)(m)}function f(m){return Wt(m)?sn(e,h,"whitespace")(m):h(m)}function h(m){return m===null||gt(m)?(e.exit("definition"),s.parser.defined.push(i),t(m)):n(m)}}function Xfe(e,t,n){return s;function s(l){return Bn(l)?Am(e,i)(l):n(l)}function i(l){return gU(e,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function r(l){return Wt(l)?sn(e,a,"whitespace")(l):a(l)}function a(l){return l===null||gt(l)?t(l):n(l)}}const Qfe={name:"hardBreakEscape",tokenize:Zfe};function Zfe(e,t,n){return s;function s(r){return e.enter("hardBreakEscape"),e.consume(r),i}function i(r){return gt(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}const Jfe={name:"headingAtx",resolve:ehe,tokenize:the};function ehe(e,t){let n=e.length-2,s=3,i,r;return e[s][1].type==="whitespace"&&(s+=2),n-2>s&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(s===n-1||n-4>s&&e[n-2][1].type==="whitespace")&&(n-=s+1===n?2:4),n>s&&(i={type:"atxHeadingText",start:e[s][1].start,end:e[n][1].end},r={type:"chunkText",start:e[s][1].start,end:e[n][1].end,contentType:"text"},Nr(e,s,n-s+1,[["enter",i,t],["enter",r,t],["exit",r,t],["exit",i,t]])),e}function the(e,t,n){let s=0;return i;function i(d){return e.enter("atxHeading"),r(d)}function r(d){return e.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&s++<6?(e.consume(d),a):d===null||Bn(d)?(e.exit("atxHeadingSequence"),l(d)):n(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||gt(d)?(e.exit("atxHeading"),t(d)):Wt(d)?sn(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||Bn(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const nhe=["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"],Dj=["pre","script","style","textarea"],she={concrete:!0,name:"htmlFlow",resolveTo:ahe,tokenize:ohe},ihe={partial:!0,tokenize:che},rhe={partial:!0,tokenize:lhe};function ahe(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 ohe(e,t,n){const s=this;let i,r,a,l,c;return u;function u(B){return d(B)}function d(B){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(B),f}function f(B){return B===33?(e.consume(B),h):B===47?(e.consume(B),r=!0,g):B===63?(e.consume(B),i=3,s.interrupt?t:I):$i(B)?(e.consume(B),a=String.fromCharCode(B),v):n(B)}function h(B){return B===45?(e.consume(B),i=2,m):B===91?(e.consume(B),i=5,l=0,p):$i(B)?(e.consume(B),i=4,s.interrupt?t:I):n(B)}function m(B){return B===45?(e.consume(B),s.interrupt?t:I):n(B)}function p(B){const ee="CDATA[";return B===ee.charCodeAt(l++)?(e.consume(B),l===ee.length?s.interrupt?t:L:p):n(B)}function g(B){return $i(B)?(e.consume(B),a=String.fromCharCode(B),v):n(B)}function v(B){if(B===null||B===47||B===62||Bn(B)){const ee=B===47,z=a.toLowerCase();return!ee&&!r&&Dj.includes(z)?(i=1,s.interrupt?t(B):L(B)):nhe.includes(a.toLowerCase())?(i=6,ee?(e.consume(B),y):s.interrupt?t(B):L(B)):(i=7,s.interrupt&&!s.parser.lazy[s.now().line]?n(B):r?x(B):E(B))}return B===45||Ci(B)?(e.consume(B),a+=String.fromCharCode(B),v):n(B)}function y(B){return B===62?(e.consume(B),s.interrupt?t:L):n(B)}function x(B){return Wt(B)?(e.consume(B),x):R(B)}function E(B){return B===47?(e.consume(B),R):B===58||B===95||$i(B)?(e.consume(B),w):Wt(B)?(e.consume(B),E):R(B)}function w(B){return B===45||B===46||B===58||B===95||Ci(B)?(e.consume(B),w):T(B)}function T(B){return B===61?(e.consume(B),S):Wt(B)?(e.consume(B),T):E(B)}function S(B){return B===null||B===60||B===61||B===62||B===96?n(B):B===34||B===39?(e.consume(B),c=B,k):Wt(B)?(e.consume(B),S):A(B)}function k(B){return B===c?(e.consume(B),c=null,C):B===null||gt(B)?n(B):(e.consume(B),k)}function A(B){return B===null||B===34||B===39||B===47||B===60||B===61||B===62||B===96||Bn(B)?T(B):(e.consume(B),A)}function C(B){return B===47||B===62||Wt(B)?E(B):n(B)}function R(B){return B===62?(e.consume(B),M):n(B)}function M(B){return B===null||gt(B)?L(B):Wt(B)?(e.consume(B),M):n(B)}function L(B){return B===45&&i===2?(e.consume(B),N):B===60&&i===1?(e.consume(B),O):B===62&&i===4?(e.consume(B),q):B===63&&i===3?(e.consume(B),I):B===93&&i===5?(e.consume(B),$):gt(B)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(ihe,Q,G)(B)):B===null||gt(B)?(e.exit("htmlFlowData"),G(B)):(e.consume(B),L)}function G(B){return e.check(rhe,D,Q)(B)}function D(B){return e.enter("lineEnding"),e.consume(B),e.exit("lineEnding"),F}function F(B){return B===null||gt(B)?G(B):(e.enter("htmlFlowData"),L(B))}function N(B){return B===45?(e.consume(B),I):L(B)}function O(B){return B===47?(e.consume(B),a="",P):L(B)}function P(B){if(B===62){const ee=a.toLowerCase();return Dj.includes(ee)?(e.consume(B),q):L(B)}return $i(B)&&a.length<8?(e.consume(B),a+=String.fromCharCode(B),P):L(B)}function $(B){return B===93?(e.consume(B),I):L(B)}function I(B){return B===62?(e.consume(B),q):B===45&&i===2?(e.consume(B),I):L(B)}function q(B){return B===null||gt(B)?(e.exit("htmlFlowData"),Q(B)):(e.consume(B),q)}function Q(B){return e.exit("htmlFlow"),t(B)}}function lhe(e,t,n){const s=this;return i;function i(a){return gt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):n(a)}function r(a){return s.parser.lazy[s.now().line]?n(a):t(a)}}function che(e,t,n){return s;function s(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(sg,t,n)}}const uhe={name:"htmlText",tokenize:dhe};function dhe(e,t,n){const s=this;let i,r,a;return l;function l(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),c}function c(I){return I===33?(e.consume(I),u):I===47?(e.consume(I),T):I===63?(e.consume(I),E):$i(I)?(e.consume(I),A):n(I)}function u(I){return I===45?(e.consume(I),d):I===91?(e.consume(I),r=0,p):$i(I)?(e.consume(I),x):n(I)}function d(I){return I===45?(e.consume(I),m):n(I)}function f(I){return I===null?n(I):I===45?(e.consume(I),h):gt(I)?(a=f,O(I)):(e.consume(I),f)}function h(I){return I===45?(e.consume(I),m):f(I)}function m(I){return I===62?N(I):I===45?h(I):f(I)}function p(I){const q="CDATA[";return I===q.charCodeAt(r++)?(e.consume(I),r===q.length?g:p):n(I)}function g(I){return I===null?n(I):I===93?(e.consume(I),v):gt(I)?(a=g,O(I)):(e.consume(I),g)}function v(I){return I===93?(e.consume(I),y):g(I)}function y(I){return I===62?N(I):I===93?(e.consume(I),y):g(I)}function x(I){return I===null||I===62?N(I):gt(I)?(a=x,O(I)):(e.consume(I),x)}function E(I){return I===null?n(I):I===63?(e.consume(I),w):gt(I)?(a=E,O(I)):(e.consume(I),E)}function w(I){return I===62?N(I):E(I)}function T(I){return $i(I)?(e.consume(I),S):n(I)}function S(I){return I===45||Ci(I)?(e.consume(I),S):k(I)}function k(I){return gt(I)?(a=k,O(I)):Wt(I)?(e.consume(I),k):N(I)}function A(I){return I===45||Ci(I)?(e.consume(I),A):I===47||I===62||Bn(I)?C(I):n(I)}function C(I){return I===47?(e.consume(I),N):I===58||I===95||$i(I)?(e.consume(I),R):gt(I)?(a=C,O(I)):Wt(I)?(e.consume(I),C):N(I)}function R(I){return I===45||I===46||I===58||I===95||Ci(I)?(e.consume(I),R):M(I)}function M(I){return I===61?(e.consume(I),L):gt(I)?(a=M,O(I)):Wt(I)?(e.consume(I),M):C(I)}function L(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),i=I,G):gt(I)?(a=L,O(I)):Wt(I)?(e.consume(I),L):(e.consume(I),D)}function G(I){return I===i?(e.consume(I),i=void 0,F):I===null?n(I):gt(I)?(a=G,O(I)):(e.consume(I),G)}function D(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||Bn(I)?C(I):(e.consume(I),D)}function F(I){return I===47||I===62||Bn(I)?C(I):n(I)}function N(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function O(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),P}function P(I){return Wt(I)?sn(e,$,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):$(I)}function $(I){return e.enter("htmlTextData"),a(I)}}const qk={name:"labelEnd",resolveAll:phe,resolveTo:ghe,tokenize:bhe},fhe={tokenize:yhe},hhe={tokenize:xhe},mhe={tokenize:Ehe};function phe(e){let t=-1;const n=[];for(;++t=3&&(u===null||gt(u))?(e.exit("thematicBreak"),t(u)):n(u)}function c(u){return u===i?(e.consume(u),s++,c):(e.exit("thematicBreakSequence"),Wt(u)?sn(e,l,"whitespace")(u):l(u))}}const Ji={continuation:{tokenize:Ihe},exit:Ohe,name:"list",tokenize:Che},khe={partial:!0,tokenize:jhe},Ahe={partial:!0,tokenize:Rhe};function Che(e,t,n){const s=this,i=s.events[s.events.length-1];let r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return l;function l(m){const p=s.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!s.containerState.marker||m===s.containerState.marker:x_(m)){if(s.containerState.type||(s.containerState.type=p,e.enter(p,{_container:!0})),p==="listUnordered")return e.enter("listItemPrefix"),m===42||m===45?e.check(xb,n,u)(m):u(m);if(!s.interrupt||m===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(m)}return n(m)}function c(m){return x_(m)&&++a<10?(e.consume(m),c):(!s.interrupt||a<2)&&(s.containerState.marker?m===s.containerState.marker:m===41||m===46)?(e.exit("listItemValue"),u(m)):n(m)}function u(m){return e.enter("listItemMarker"),e.consume(m),e.exit("listItemMarker"),s.containerState.marker=s.containerState.marker||m,e.check(sg,s.interrupt?n:d,e.attempt(khe,h,f))}function d(m){return s.containerState.initialBlankLine=!0,r++,h(m)}function f(m){return Wt(m)?(e.enter("listItemPrefixWhitespace"),e.consume(m),e.exit("listItemPrefixWhitespace"),h):n(m)}function h(m){return s.containerState.size=r+s.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(m)}}function Ihe(e,t,n){const s=this;return s.containerState._closeFlow=void 0,e.check(sg,i,r);function i(l){return s.containerState.furtherBlankLines=s.containerState.furtherBlankLines||s.containerState.initialBlankLine,sn(e,t,"listItemIndent",s.containerState.size+1)(l)}function r(l){return s.containerState.furtherBlankLines||!Wt(l)?(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,a(l)):(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,e.attempt(Ahe,t,a)(l))}function a(l){return s.containerState._closeFlow=!0,s.interrupt=void 0,sn(e,e.attempt(Ji,t,n),"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function Rhe(e,t,n){const s=this;return sn(e,i,"listItemIndent",s.containerState.size+1);function i(r){const a=s.events[s.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===s.containerState.size?t(r):n(r)}}function Ohe(e){e.exit(this.containerState.type)}function jhe(e,t,n){const s=this;return sn(e,i,"listItemPrefixWhitespace",s.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(r){const a=s.events[s.events.length-1];return!Wt(r)&&a&&a[1].type==="listItemPrefixWhitespace"?t(r):n(r)}}const Pj={name:"setextUnderline",resolveTo:Mhe,tokenize:Lhe};function Mhe(e,t){let n=e.length,s,i,r;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){s=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!r&&e[n][1].type==="definition"&&(r=n);const a={type:"setextHeading",start:{...e[s][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",r?(e.splice(i,0,["enter",a,t]),e.splice(r+1,0,["exit",e[s][1],t]),e[s][1].end={...e[r][1].end}):e[s][1]=a,e.push(["exit",a,t]),e}function Lhe(e,t,n){const s=this;let i;return r;function r(u){let d=s.events.length,f;for(;d--;)if(s.events[d][1].type!=="lineEnding"&&s.events[d][1].type!=="linePrefix"&&s.events[d][1].type!=="content"){f=s.events[d][1].type==="paragraph";break}return!s.parser.lazy[s.now().line]&&(s.interrupt||f)?(e.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===i?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),Wt(u)?sn(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||gt(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const Dhe={tokenize:Phe};function Phe(e){const t=this,n=e.attempt(sg,s,e.attempt(this.parser.constructs.flowInitial,i,sn(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Hfe,i)),"linePrefix")));return n;function s(r){if(r===null){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const Bhe={resolveAll:yU()},Uhe=bU("string"),Fhe=bU("text");function bU(e){return{resolveAll:yU(e==="text"?$he:void 0),tokenize:t};function t(n){const s=this,i=this.parser.constructs[e],r=n.attempt(i,a,l);return a;function a(d){return u(d)?r(d):l(d)}function l(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return u(d)?(n.exit("data"),r(d)):(n.consume(d),c)}function u(d){if(d===null)return!0;const f=i[d];let h=-1;if(f)for(;++h-1){const l=a[0];typeof l=="string"?a[0]=l.slice(s):a.shift()}r>0&&a.push(e[i].slice(0,r))}return a}function eme(e,t){let n=-1;const s=[];let i;for(;++n0?`?${r.join("&")}`:"";return tg(`/web/skill-spaces/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}${a}`)}function Que(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 Zue(e,t){return`https://console.volcengine.com/agentkit/${(t||"cn-beijing")==="cn-beijing"?"cn":"cn-shanghai"}/skillspace/detail/${encodeURIComponent(e)}`}function gO({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M4.5 6.7h4.2M12.3 6.7h7.2"}),o.jsx("path",{d:"M4.5 12h8.2M16.3 12h3.2"}),o.jsx("path",{d:"M4.5 17.3h2.7M10.8 17.3h8.7"}),o.jsx("circle",{cx:"10.5",cy:"6.7",r:"1.8",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"14.5",cy:"12",r:"1.8",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"9",cy:"17.3",r:"1.8",fill:"currentColor",stroke:"none"})]})}const Jue={coding:"智能编程",get_city_weather:"城市天气查询",get_location_weather:"位置天气查询",web_fetch:"网页内容获取"};function b_(e){const t=lu.find(n=>n.id===e||n.toolNames.includes(e));return Jue[e]??(t==null?void 0:t.label)??e}function bO(e){const t=lu.find(s=>s.id===e||s.toolNames.includes(e));return((t==null?void 0:t.desc)??"由 VeADK 提供的内置工具").replace(/[。.]+$/,"")}function ede(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m7 7 10 10M17 7 7 17",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function tde(){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"5.8",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.2 15.2 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function yO(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M12 5.5v13M5.5 12h13",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function W9({title:e,description:t,icon:n,wide:s=!1,onClose:i,children:r}){const a=b.useRef(`session-capability-${Math.random().toString(36).slice(2)}`);return b.useEffect(()=>{const l=document.body.style.overflow;document.body.style.overflow="hidden";const c=u=>{u.key==="Escape"&&i()};return document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c),document.body.style.overflow=l}},[i]),Si.createPortal(o.jsxs("div",{className:"session-capability-dialog-layer",children:[o.jsx("button",{type:"button",className:"session-capability-dialog-scrim","aria-label":"关闭弹窗",onClick:i}),o.jsxs("section",{className:`session-capability-dialog${s?" is-wide":""}`,role:"dialog","aria-modal":"true","aria-labelledby":a.current,children:[o.jsxs("header",{className:`session-capability-dialog-head${n?"":" is-iconless"}`,children:[n&&o.jsx("span",{className:"session-capability-dialog-mark",children:n}),o.jsxs("div",{children:[o.jsx("h2",{id:a.current,children:e}),o.jsx("p",{children:t})]}),o.jsx("button",{type:"button",className:"session-capability-dialog-close","aria-label":`关闭${e}`,onClick:i,children:o.jsx(ede,{})})]}),r]})]}),document.body)}function xb({value:e,placeholder:t,label:n,onChange:s,autoFocus:i=!1}){return o.jsxs("label",{className:"session-capability-search",children:[o.jsx(tde,{}),o.jsx("input",{value:e,"aria-label":n,placeholder:t,autoFocus:i,onChange:r=>s(r.target.value)})]})}function nde({agentName:e,tools:t,selectedNames:n,mutating:s,onAdd:i,onClose:r}){const[a,l]=b.useState(""),[c,u]=b.useState(""),d=b.useMemo(()=>new Set(n),[n]),f=b.useMemo(()=>{const m=a.trim().toLowerCase();return t.filter(p=>m?`${b_(p)} ${p} ${bO(p)}`.toLowerCase().includes(m):!0)},[a,t]),h=async m=>{u(m);const p=await i({kind:"tool",name:m});u(""),p&&r()};return o.jsx(W9,{title:"添加内置工具",description:`添加后仅对 ${e} 的当前会话生效`,icon:o.jsx(gO,{}),onClose:r,children:o.jsxs("div",{className:"session-tool-dialog-body",children:[o.jsx(xb,{value:a,label:"搜索内置工具",placeholder:"搜索中文名称或工具标识",onChange:l,autoFocus:!0}),o.jsx("div",{className:"session-tool-picker",role:"list","aria-label":"可用内置工具",children:f.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的内置工具"}):f.map(m=>{const p=d.has(m),g=c===m;return o.jsxs("article",{className:"session-tool-option",role:"listitem",children:[o.jsx("span",{className:"session-tool-option-icon",children:o.jsx(gO,{})}),o.jsxs("span",{className:"session-tool-option-copy",children:[o.jsx("strong",{children:b_(m)}),o.jsx("code",{children:m}),o.jsx("span",{children:bO(m)})]}),o.jsx("button",{type:"button",disabled:p||s||!!c,onClick:()=>void h(m),children:p?"已添加":g?"添加中…":"添加"})]},m)})})]})})}function sde({appName:e,agentName:t,selectedNames:n,mutating:s,onAdd:i,onClose:r}){const[a,l]=b.useState("public"),[c,u]=b.useState(""),[d,f]=b.useState([]),[h,m]=b.useState(0),[p,g]=b.useState(!0),[v,y]=b.useState(""),[x,E]=b.useState([]),[w,T]=b.useState(null),[S,N]=b.useState([]),[A,C]=b.useState(""),[I,O]=b.useState(""),[L,G]=b.useState(!0),[D,F]=b.useState(!1),[k,j]=b.useState(""),[P,$]=b.useState(""),R=b.useMemo(()=>new Set(n),[n]);b.useEffect(()=>{if(a!=="public")return;let z=!0;const K=window.setTimeout(()=>{g(!0),y(""),WP(e,c.trim()).then(ne=>{z&&(f(ne.items),m(ne.totalCount))}).catch(ne=>{z&&(f([]),m(0),y(ne instanceof Error?ne.message:"搜索 Skill Hub 失败"))}).finally(()=>{z&&g(!1)})},250);return()=>{z=!1,window.clearTimeout(K)}},[e,c,a]),b.useEffect(()=>{if(a!=="agentkit")return;let z=!0;return G(!0),j(""),q9().then(K=>{z&&(E(K),T(K[0]??null))}).catch(K=>{z&&j(K instanceof Error?K.message:"读取 Skill Space 失败")}).finally(()=>{z&&G(!1)}),()=>{z=!1}},[a]),b.useEffect(()=>{if(a!=="agentkit")return;if(!w){N([]);return}let z=!0;return F(!0),j(""),Y9(w.id,w.region).then(K=>{z&&N(K)}).catch(K=>{z&&j(K instanceof Error?K.message:"读取技能失败")}).finally(()=>{z&&F(!1)}),()=>{z=!1}},[w,a]);const q=b.useMemo(()=>{const z=A.trim().toLowerCase();return z?x.filter(K=>`${K.name} ${K.id} ${K.description}`.toLowerCase().includes(z)):x},[A,x]),Q=b.useMemo(()=>{const z=I.trim().toLowerCase();return z?S.filter(K=>`${K.skillName} ${K.skillDescription}`.toLowerCase().includes(z)):S},[I,S]),B=async z=>{if(!w)return;$(z.skillId);const K=await i({kind:"skill",name:z.skillName,skillSourceId:w.id,description:z.skillDescription,version:z.version});$(""),K&&r()},ee=async z=>{$(z.slug);const K=await i({kind:"skill",name:z.name,skillSourceId:`findskill:${z.slug}`,description:z.description,version:z.version||z.updatedAt});$(""),K&&r()};return o.jsx(W9,{title:"添加技能",description:`从公域 Skill Hub 或 AgentKit Skill 中心添加到 ${t} 当前会话`,wide:!0,onClose:r,children:o.jsxs("div",{className:"session-skill-dialog-body",children:[o.jsxs("div",{className:"session-skill-source-tabs",role:"tablist","aria-label":"技能来源",children:[o.jsxs("button",{type:"button",role:"tab","aria-selected":a==="public",className:a==="public"?"is-active":"",onClick:()=>l("public"),children:["Skill Hub",o.jsx("span",{children:"公域"})]}),o.jsx("button",{type:"button",role:"tab","aria-selected":a==="agentkit",className:a==="agentkit"?"is-active":"",onClick:()=>l("agentkit"),children:"AgentKit Skill 中心"})]}),a==="public"?o.jsxs("section",{className:"session-public-skill-browser","aria-label":"Skill Hub 公域技能",children:[o.jsxs("div",{className:"session-public-skill-head",children:[o.jsx(xb,{value:c,label:"搜索 Skill Hub",placeholder:"搜索技能名称、用途或关键词",onChange:u,autoFocus:!0}),o.jsxs("span",{children:[h.toLocaleString()," 个公域技能"]})]}),o.jsx("div",{className:"session-public-skill-list",children:v?o.jsx("div",{className:"session-capability-error",children:v}):p?o.jsx("div",{className:"session-capability-loading",children:"正在搜索 Skill Hub…"}):d.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的公域技能"}):d.map(z=>{const K=R.has(z.name),ne=P===z.slug;return o.jsxs("article",{className:"session-skill-option session-public-skill-option",children:[o.jsxs("span",{className:"session-skill-option-copy",children:[o.jsx("strong",{children:z.name}),o.jsx("span",{children:z.description||"暂无描述"}),o.jsxs("small",{children:[z.sourceRepo||z.sourceType||"FindSkill",o.jsx("span",{"aria-hidden":"true",children:" · "}),z.downloadCount.toLocaleString()," 次下载",z.evaluationScore>0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{"aria-hidden":"true",children:" · "}),z.evaluationScore.toFixed(1)," 分"]})]})]}),o.jsx("button",{type:"button",disabled:K||s||!!P,onClick:()=>void ee(z),children:K?"已添加":ne?"添加中…":o.jsxs(o.Fragment,{children:[o.jsx(yO,{}),"添加"]})})]},z.slug)})})]}):o.jsxs("div",{className:"session-skill-browser",children:[o.jsxs("section",{className:"session-skill-spaces","aria-label":"Skill Space 列表",children:[o.jsxs("div",{className:"session-skill-pane-head",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Skill Space"}),o.jsx("span",{children:x.length})]}),o.jsx(xb,{value:A,label:"搜索 Skill Space",placeholder:"搜索空间",onChange:C,autoFocus:!0})]}),o.jsx("div",{className:"session-skill-pane-list",children:L?o.jsx("div",{className:"session-capability-loading",children:"正在读取 Skill Space…"}):q.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的 Skill Space"}):q.map(z=>o.jsx("button",{type:"button",className:`session-skill-space${(w==null?void 0:w.id)===z.id?" is-active":""}`,onClick:()=>{T(z),O("")},children:o.jsxs("span",{children:[o.jsx("strong",{children:z.name||z.id}),o.jsx("small",{children:z.description||z.id}),o.jsxs("em",{children:[z.skillCount??0," 个技能"]})]})},`${z.projectName??"default"}:${z.id}`))})]}),o.jsxs("section",{className:"session-skill-results","aria-label":"AgentKit Skill 列表",children:[o.jsxs("div",{className:"session-skill-pane-head",children:[o.jsxs("div",{children:[o.jsx("strong",{title:w==null?void 0:w.name,children:(w==null?void 0:w.name)||"选择 Skill Space"}),o.jsx("span",{children:S.length})]}),o.jsx(xb,{value:I,label:"搜索 AgentKit 技能",placeholder:"搜索技能名称或描述",onChange:O})]}),o.jsx("div",{className:"session-skill-pane-list",children:k?o.jsx("div",{className:"session-capability-error",children:k}):w?D?o.jsx("div",{className:"session-capability-loading",children:"正在读取技能…"}):Q.length===0?o.jsx("div",{className:"session-capability-empty",children:"没有匹配的技能"}):Q.map(z=>{const K=R.has(z.skillName),ne=P===z.skillId;return o.jsxs("article",{className:"session-skill-option",children:[o.jsxs("span",{className:"session-skill-option-copy",children:[o.jsx("strong",{children:z.skillName}),o.jsx("span",{children:z.skillDescription||"暂无描述"}),o.jsxs("small",{children:["版本 ",z.version||"—"]})]}),o.jsx("button",{type:"button",disabled:K||s||!!P,onClick:()=>void B(z),children:K?"已添加":ne?"添加中…":o.jsxs(o.Fragment,{children:[o.jsx(yO,{}),"添加"]})})]},`${z.skillId}:${z.version}`)}):o.jsx("div",{className:"session-capability-empty",children:"选择一个 Skill Space 查看技能"})})]})]})]})})}function Vl({as:e="span",className:t="",duration:n=4,spread:s=20,children:i,style:r,...a}){const l=Math.min(Math.max(s,5),45);return o.jsx(e,{className:`text-shimmer${t?` ${t}`:""}`,style:{...r,backgroundImage:`linear-gradient(to right, hsl(var(--muted-foreground)) ${50-l}%, hsl(var(--foreground)) 50%, hsl(var(--muted-foreground)) ${50+l}%)`,animationDuration:`${n}s`},...a,children:i})}function X9(e){return 1+e.children.reduce((t,n)=>t+X9(n),0)}function Q9(e){return e.id||e.name}function ide(e,t){const n=Q9(e);if(e.id&&e.name&&e.name!==n)return e.name;if(t&&n==="agent")return"主 Agent";const s=/^agent_sub_(\d+)$/.exec(n);return s?`子 Agent ${s[1]}`:e.name||n}function Z9(e,t=!0){return{...e,id:Q9(e),name:ide(e,t),children:e.children.map(n=>Z9(n,!1))}}function J9(e){const t=Ci();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(J9)}}function rde(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))]}function ade(e){return[...new Map(e.filter(t=>t.name.trim()).map(t=>[t.name.trim(),{...t,name:t.name.trim()}])).values()]}function Nv({title:e,count:t}){return o.jsxs("div",{className:"topo-module-title",children:[o.jsx("span",{className:"topo-module-label",title:e,children:e}),t!==void 0&&o.jsx("span",{className:"topo-section-count","aria-label":`${t} 项`,children:t})]})}function ode({appName:e,info:t,loading:n,variant:s="rail",capabilities:i=null,capabilityLoading:r=!1,capabilityMutating:a=!1,builtinTools:l=[],onAddCapability:c,onRemoveCapability:u}){const[d,f]=b.useState(null),[h,m]=b.useState(!1),p=b.useRef(null),g=()=>{m(!1),window.requestAnimationFrame(()=>{var S;return(S=p.current)==null?void 0:S.focus()})};if(b.useEffect(()=>{if(!h)return;const S=document.body.style.overflow,N=A=>{A.key==="Escape"&&g()};return document.body.style.overflow="hidden",document.addEventListener("keydown",N),()=>{document.body.style.overflow=S,document.removeEventListener("keydown",N)}},[h]),n&&!t)return o.jsx("aside",{className:`topo is-loading${s==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息","aria-live":"polite",children:o.jsx(Vl,{as:"span",className:"topo-loading-label",duration:2.2,children:"正在读取 Agent 信息…"})});if(!t)return null;const v=Z9(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:[]}),y=(i==null?void 0:i.tools)??rde(t.tools).map(S=>({id:`base:tool:${S}`,kind:"tool",name:S,custom:!1})),x=(i==null?void 0:i.skills)??ade(t.skills).map(S=>({id:`base:skill:${S.name}`,kind:"skill",name:S.name,description:S.description,custom:!1})),E=!!(i&&c&&u),w=J9(v),T=S=>o.jsx(yp,{draft:w,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},S);return o.jsxs(o.Fragment,{children:[o.jsxs("aside",{className:`topo${s==="drawer"?" is-drawer":""}`,"aria-label":"Agent 信息与拓扑",children:[o.jsxs("section",{className:"topo-agent-card","aria-label":"Agent 信息",children:[o.jsxs("div",{className:"topo-agent-heading",children:[o.jsx("h2",{title:t.name,children:t.name||"未命名 Agent"}),t.model&&o.jsx("span",{title:t.model,children:t.model})]}),t.description&&o.jsx("p",{className:"topo-description",title:t.description,children:t.description})]}),o.jsxs("div",{className:"topo-module-stack",children:[o.jsxs("section",{className:"topo-module-card topo-tools-card","aria-label":"工具",children:[o.jsx(Nv,{title:"工具",count:y.length}),o.jsx("div",{className:"topo-module-scroll topo-tools-scroll",role:"region","aria-label":"工具列表",tabIndex:0,children:y.length>0?o.jsx("div",{className:"topo-tool-list",children:y.map(S=>o.jsxs("div",{className:"topo-tool",title:S.name,children:[o.jsxs("span",{className:"topo-capability-title",children:[o.jsxs("span",{className:"topo-capability-copy",children:[o.jsx("span",{className:"topo-capability-name",children:b_(S.name)}),o.jsx("code",{children:S.name})]}),S.custom&&o.jsx("span",{className:"topo-custom-badge",children:"自定义"})]}),S.custom&&o.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除工具 ${S.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(S.id),children:"×"})]},S.id))}):o.jsx("div",{className:"topo-empty",children:"未配置"})}),E&&o.jsx("div",{className:"topo-capability-add-dock",children:o.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加内置工具",disabled:r||a,onClick:()=>f("tool"),children:[o.jsx("span",{"aria-hidden":"true",children:"+"}),o.jsx("span",{children:"在此对话中添加工具"})]})})]}),o.jsxs("section",{className:"topo-module-card topo-skills-card","aria-label":"技能",children:[o.jsx(Nv,{title:"技能",count:t.skillsPreviewSupported?x.length:void 0}),o.jsx("div",{className:"topo-module-scroll topo-skills-scroll",role:"region","aria-label":"技能列表",tabIndex:0,children:t.skillsPreviewSupported?x.length>0?o.jsx("div",{className:"topo-skill-list",children:x.map(S=>o.jsxs("div",{className:"topo-skill",title:S.description||S.name,children:[o.jsxs("div",{className:"topo-skill-title",children:[o.jsx("span",{className:"topo-skill-name",children:S.name}),S.custom&&o.jsx("span",{className:"topo-custom-badge",children:"自定义"}),S.custom&&o.jsx("button",{type:"button",className:"topo-remove-capability","aria-label":`移除技能 ${S.name}`,title:"移除",disabled:a,onClick:()=>u==null?void 0:u(S.id),children:"×"})]}),S.description&&o.jsx("span",{className:"topo-skill-description",children:S.description})]},`${S.name}:${S.description}`))}):o.jsx("div",{className:"topo-empty",children:"未配置"}):o.jsx("div",{className:"topo-empty",children:"暂不支持预览"})}),E&&o.jsx("div",{className:"topo-capability-add-dock",children:o.jsxs("button",{type:"button",className:"topo-capability-add-slot","aria-label":"添加技能",disabled:r||a,onClick:()=>f("skill"),children:[o.jsx("span",{"aria-hidden":"true",children:"+"}),o.jsx("span",{children:"在此对话中添加技能"})]})})]}),o.jsxs("section",{className:"topo-module-card topo-topology","aria-label":"Agent 画布",children:[o.jsxs("div",{className:"topo-canvas-heading",children:[o.jsx(Nv,{title:"结构拓扑",count:X9(v)}),o.jsx("button",{ref:p,type:"button",className:"topo-canvas-expand","aria-label":"全屏查看 Agent 画布",title:"全屏查看",onClick:()=>m(!0),children:o.jsx(Rc,{"aria-hidden":"true"})})]}),o.jsx("div",{className:"topo-canvas-preview",role:"region","aria-label":"Agent 执行画布",children:T(`conversation-canvas:${e}`)})]})]}),d==="tool"&&c&&o.jsx(nde,{agentName:t.name,tools:l,selectedNames:y.map(S=>S.name),mutating:a,onAdd:c,onClose:()=>f(null)}),d==="skill"&&c&&o.jsx(sde,{appName:e,agentName:t.name,selectedNames:x.map(S=>S.name),mutating:a,onAdd:c,onClose:()=>f(null)})]}),h&&Si.createPortal(o.jsxs("section",{className:"topo-canvas-dialog",role:"dialog","aria-modal":"true","aria-label":"全屏 Agent 执行画布",children:[o.jsxs("header",{className:"topo-canvas-dialog-header",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Agent 执行画布"}),o.jsx("span",{children:t.name})]}),o.jsx("button",{type:"button","aria-label":"关闭全屏画布",title:"关闭",onClick:g,autoFocus:!0,children:o.jsx(_i,{"aria-hidden":"true"})})]}),o.jsx("div",{className:"topo-canvas-dialog-body",children:T(`conversation-canvas-fullscreen:${e}`)})]}),document.body)]})}function vRe(){}function xO(e){const t=[],n=String(e||"");let s=n.indexOf(","),i=0,r=!1;for(;!r;){s===-1&&(s=n.length,r=!0);const a=n.slice(i,s).trim();(a||!r)&&t.push(a),i=s+1,s=n.indexOf(",",i)}return t}function eU(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const lde=/[$_\p{ID_Start}]/u,cde=/[$_\u{200C}\u{200D}\p{ID_Continue}]/u,ude=/[-$_\u{200C}\u{200D}\p{ID_Continue}]/u,dde=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,fde=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,tU={};function wRe(e){return e?lde.test(String.fromCodePoint(e)):!1}function SRe(e,t){const s=(t||tU).jsx?ude:cde;return e?s.test(String.fromCodePoint(e)):!1}function EO(e,t){return(tU.jsx?fde:dde).test(e)}const hde=/[ \t\n\f\r]/g;function mde(e){return typeof e=="object"?e.type==="text"?vO(e.value):!1:vO(e)}function vO(e){return e.replace(hde,"")===""}let ng=class{constructor(t,n,s){this.normal=n,this.property=t,s&&(this.space=s)}};ng.prototype.normal={};ng.prototype.property={};ng.prototype.space=void 0;function nU(e,t){const n={},s={};for(const i of e)Object.assign(n,i.property),Object.assign(s,i.normal);return new ng(n,s,t)}function xp(e){return e.toLowerCase()}class ur{constructor(t,n){this.attribute=n,this.property=t}}ur.prototype.attribute="";ur.prototype.booleanish=!1;ur.prototype.boolean=!1;ur.prototype.commaOrSpaceSeparated=!1;ur.prototype.commaSeparated=!1;ur.prototype.defined=!1;ur.prototype.mustUseProperty=!1;ur.prototype.number=!1;ur.prototype.overloadedBoolean=!1;ur.prototype.property="";ur.prototype.spaceSeparated=!1;ur.prototype.space=void 0;let pde=0;const Mt=cu(),Vs=cu(),y_=cu(),Be=cu(),Hn=cu(),jd=cu(),hr=cu();function cu(){return 2**++pde}const x_=Object.freeze(Object.defineProperty({__proto__:null,boolean:Mt,booleanish:Vs,commaOrSpaceSeparated:hr,commaSeparated:jd,number:Be,overloadedBoolean:y_,spaceSeparated:Hn},Symbol.toStringTag,{value:"Module"})),kv=Object.keys(x_);class zk extends ur{constructor(t,n,s,i){let r=-1;if(super(t,n),wO(this,"space",i),typeof s=="number")for(;++r4&&n.slice(0,4)==="data"&&Ede.test(t)){if(t.charAt(4)==="-"){const r=t.slice(5).replace(SO,wde);s="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{const r=t.slice(4);if(!SO.test(r)){let a=r.replace(xde,vde);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=zk}return new i(s,t)}function vde(e){return"-"+e.toLowerCase()}function wde(e){return e.charAt(1).toUpperCase()}const sg=nU([sU,gde,aU,oU,lU],"html"),Xl=nU([sU,bde,aU,oU,lU],"svg");function _O(e){const t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function cU(e){return e.join(" ").trim()}var Vk={},TO=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Sde=/\n/g,_de=/^\s*/,Tde=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Nde=/^:\s*/,kde=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Ade=/^[;\s]*/,Cde=/^\s+|\s+$/g,Ide=` +`,NO="/",kO="*",yc="",Rde="comment",jde="declaration";function Ode(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,s=1;function i(p){var g=p.match(Sde);g&&(n+=g.length);var v=p.lastIndexOf(Ide);s=~v?p.length-v:s+p.length}function r(){var p={line:n,column:s};return function(g){return g.position=new a(p),u(),g}}function a(p){this.start=p,this.end={line:n,column:s},this.source=t.source}a.prototype.content=e;function l(p){var g=new Error(t.source+":"+n+":"+s+": "+p);if(g.reason=p,g.filename=t.source,g.line=n,g.column=s,g.source=e,!t.silent)throw g}function c(p){var g=p.exec(e);if(g){var v=g[0];return i(v),e=e.slice(v.length),g}}function u(){c(_de)}function d(p){var g;for(p=p||[];g=f();)g!==!1&&p.push(g);return p}function f(){var p=r();if(!(NO!=e.charAt(0)||kO!=e.charAt(1))){for(var g=2;yc!=e.charAt(g)&&(kO!=e.charAt(g)||NO!=e.charAt(g+1));)++g;if(g+=2,yc===e.charAt(g-1))return l("End of comment missing");var v=e.slice(2,g-2);return s+=2,i(v),e=e.slice(g),s+=2,p({type:Rde,comment:v})}}function h(){var p=r(),g=c(Tde);if(g){if(f(),!c(Nde))return l("property missing ':'");var v=c(kde),y=p({type:jde,property:AO(g[0].replace(TO,yc)),value:v?AO(v[0].replace(TO,yc)):yc});return c(Ade),y}}function m(){var p=[];d(p);for(var g;g=h();)g!==!1&&(p.push(g),d(p));return p}return u(),m()}function AO(e){return e?e.replace(Cde,yc):yc}var Mde=Ode,Lde=yl&&yl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vk,"__esModule",{value:!0});Vk.default=Pde;const Dde=Lde(Mde);function Pde(e,t){let n=null;if(!e||typeof e!="string")return n;const s=(0,Dde.default)(e),i=typeof t=="function";return s.forEach(r=>{if(r.type!=="declaration")return;const{property:a,value:l}=r;i?t(a,l,r):l&&(n=n||{},n[a]=l)}),n}var rx={};Object.defineProperty(rx,"__esModule",{value:!0});rx.camelCase=void 0;var Bde=/^--[a-zA-Z0-9_-]+$/,Ude=/-([a-z])/g,Fde=/^[^-]+$/,$de=/^-(webkit|moz|ms|o|khtml)-/,Hde=/^-(ms)-/,zde=function(e){return!e||Fde.test(e)||Bde.test(e)},Vde=function(e,t){return t.toUpperCase()},CO=function(e,t){return"".concat(t,"-")},Gde=function(e,t){return t===void 0&&(t={}),zde(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(Hde,CO):e=e.replace($de,CO),e.replace(Ude,Vde))};rx.camelCase=Gde;var Kde=yl&&yl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},qde=Kde(Vk),Yde=rx;function E_(e,t){var n={};return!e||typeof e!="string"||(0,qde.default)(e,function(s,i){s&&i&&(n[(0,Yde.camelCase)(s,t)]=i)}),n}E_.default=E_;var Wde=E_;const Xde=Ef(Wde),ax=uU("end"),Xa=uU("start");function uU(e){return t;function t(n){const s=n&&n.position&&n.position[e]||{};if(typeof s.line=="number"&&s.line>0&&typeof s.column=="number"&&s.column>0)return{line:s.line,column:s.column,offset:typeof s.offset=="number"&&s.offset>-1?s.offset:void 0}}}function Qde(e){const t=Xa(e),n=ax(e);if(t&&n)return{start:t,end:n}}function Am(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?IO(e.position):"start"in e||"end"in e?IO(e):"line"in e||"column"in e?v_(e):""}function v_(e){return RO(e&&e.line)+":"+RO(e&&e.column)}function IO(e){return v_(e&&e.start)+"-"+v_(e&&e.end)}function RO(e){return e&&typeof e=="number"?e:1}class Mi extends Error{constructor(t,n,s){super(),typeof n=="string"&&(s=n,n=void 0);let i="",r={},a=!1;if(n&&("line"in n&&"column"in n?r={place:n}:"start"in n&&"end"in n?r={place:n}:"type"in n?r={ancestors:[n],place:n.position}:r={...n}),typeof t=="string"?i=t:!r.cause&&t&&(a=!0,i=t.message,r.cause=t),!r.ruleId&&!r.source&&typeof s=="string"){const c=s.indexOf(":");c===-1?r.ruleId=s:(r.source=s.slice(0,c),r.ruleId=s.slice(c+1))}if(!r.place&&r.ancestors&&r.ancestors){const c=r.ancestors[r.ancestors.length-1];c&&(r.place=c.position)}const l=r.place&&"start"in r.place?r.place.start:r.place;this.ancestors=r.ancestors||void 0,this.cause=r.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=l?l.line:void 0,this.name=Am(r.place)||"1:1",this.place=r.place||void 0,this.reason=this.message,this.ruleId=r.ruleId||void 0,this.source=r.source||void 0,this.stack=a&&r.cause&&typeof r.cause.stack=="string"?r.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Mi.prototype.file="";Mi.prototype.name="";Mi.prototype.reason="";Mi.prototype.message="";Mi.prototype.stack="";Mi.prototype.column=void 0;Mi.prototype.line=void 0;Mi.prototype.ancestors=void 0;Mi.prototype.cause=void 0;Mi.prototype.fatal=void 0;Mi.prototype.place=void 0;Mi.prototype.ruleId=void 0;Mi.prototype.source=void 0;const Gk={}.hasOwnProperty,Zde=new Map,Jde=/[A-Z]/g,efe=new Set(["table","tbody","thead","tfoot","tr"]),tfe=new Set(["td","th"]),dU="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function nfe(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let s;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");s=ufe(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");s=cfe(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:s,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"?Xl:sg,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},r=fU(i,e,void 0);return r&&typeof r!="string"?r:i.create(e,i.Fragment,{children:r||void 0},void 0)}function fU(e,t,n){if(t.type==="element")return sfe(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return ife(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return afe(e,t,n);if(t.type==="mdxjsEsm")return rfe(e,t);if(t.type==="root")return ofe(e,t,n);if(t.type==="text")return lfe(e,t)}function sfe(e,t,n){const s=e.schema;let i=s;t.tagName.toLowerCase()==="svg"&&s.space==="html"&&(i=Xl,e.schema=i),e.ancestors.push(t);const r=mU(e,t.tagName,!1),a=dfe(e,t);let l=qk(e,t);return efe.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!mde(c):!0})),hU(e,a,r,t),Kk(a,l),e.ancestors.pop(),e.schema=s,e.create(t,r,a,n)}function ife(e,t){if(t.data&&t.data.estree&&e.evaluater){const s=t.data.estree.body[0];return s.type,e.evaluater.evaluateExpression(s.expression)}Ep(e,t.position)}function rfe(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Ep(e,t.position)}function afe(e,t,n){const s=e.schema;let i=s;t.name==="svg"&&s.space==="html"&&(i=Xl,e.schema=i),e.ancestors.push(t);const r=t.name===null?e.Fragment:mU(e,t.name,!0),a=ffe(e,t),l=qk(e,t);return hU(e,a,r,t),Kk(a,l),e.ancestors.pop(),e.schema=s,e.create(t,r,a,n)}function ofe(e,t,n){const s={};return Kk(s,qk(e,t)),e.create(t,e.Fragment,s,n)}function lfe(e,t){return t.value}function hU(e,t,n,s){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=s)}function Kk(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function cfe(e,t,n){return s;function s(i,r,a,l){const u=Array.isArray(a.children)?n:t;return l?u(r,a,l):u(r,a)}}function ufe(e,t){return n;function n(s,i,r,a){const l=Array.isArray(r.children),c=Xa(s);return t(i,r,a,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function dfe(e,t){const n={};let s,i;for(i in t.properties)if(i!=="children"&&Gk.call(t.properties,i)){const r=hfe(e,i,t.properties[i]);if(r){const[a,l]=r;e.tableCellAlignToStyle&&a==="align"&&typeof l=="string"&&tfe.has(t.tagName)?s=l:n[a]=l}}if(s){const r=n.style||(n.style={});r[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=s}return n}function ffe(e,t){const n={};for(const s of t.attributes)if(s.type==="mdxJsxExpressionAttribute")if(s.data&&s.data.estree&&e.evaluater){const r=s.data.estree.body[0];r.type;const a=r.expression;a.type;const l=a.properties[0];l.type,Object.assign(n,e.evaluater.evaluateExpression(l.argument))}else Ep(e,t.position);else{const i=s.name;let r;if(s.value&&typeof s.value=="object")if(s.value.data&&s.value.data.estree&&e.evaluater){const l=s.value.data.estree.body[0];l.type,r=e.evaluater.evaluateExpression(l.expression)}else Ep(e,t.position);else r=s.value===null?!0:s.value;n[i]=r}return n}function qk(e,t){const n=[];let s=-1;const i=e.passKeys?new Map:Zde;for(;++si?0:i+t:t=t>i?i:t,n=n>0?n:0,s.length<1e4)a=Array.from(s),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);r0?(Nr(e,e.length,0,t),e):t}const MO={}.hasOwnProperty;function gU(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 ya(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const zi=Ql(/[A-Za-z]/),ji=Ql(/[\dA-Za-z]/),wfe=Ql(/[#-'*+\--9=?A-Z^-~]/);function Dy(e){return e!==null&&(e<32||e===127)}const w_=Ql(/\d/),Sfe=Ql(/[\dA-Fa-f]/),_fe=Ql(/[!-/:-@[-`{-~]/);function mt(e){return e!==null&&e<-2}function Pn(e){return e!==null&&(e<0||e===32)}function Kt(e){return e===-2||e===-1||e===32}const ox=Ql(new RegExp("\\p{P}|\\p{S}","u")),Xc=Ql(/\s/);function Ql(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Uf(e){const t=[];let n=-1,s=0,i=0;for(;++n55295&&r<57344){const l=e.charCodeAt(n+1);r<56320&&l>56319&&l<57344?(a=String.fromCharCode(r,l),i=1):a="�"}else a=String.fromCharCode(r);a&&(t.push(e.slice(s,n),encodeURIComponent(a)),s=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(s)}function sn(e,t,n,s){const i=s?s-1:Number.POSITIVE_INFINITY;let r=0;return a;function a(c){return Kt(c)?(e.enter(n),l(c)):t(c)}function l(c){return Kt(c)&&r++a))return;const N=t.events.length;let A=N,C,I;for(;A--;)if(t.events[A][0]==="exit"&&t.events[A][1].type==="chunkFlow"){if(C){I=t.events[A][1].end;break}C=!0}for(y(s),S=N;SE;){const T=n[w];t.containerState=T[1],T[0].exit.call(t,e)}n.length=E}function x(){i.write([null]),r=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Cfe(e,t,n){return sn(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function hf(e){if(e===null||Pn(e)||Xc(e))return 1;if(ox(e))return 2}function lx(e,t,n){const s=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[s][1].end},h={...e[n][1].start};DO(f,-c),DO(h,c),a={type:c>1?"strongSequence":"emphasisSequence",start:f,end:{...e[s][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},r={type:c>1?"strongText":"emphasisText",start:{...e[s][1].end},end:{...e[n][1].start}},i={type:c>1?"strong":"emphasis",start:{...a.start},end:{...l.end}},e[s][1].end={...a.start},e[n][1].start={...l.end},u=[],e[s][1].end.offset-e[s][1].start.offset&&(u=Fr(u,[["enter",e[s][1],t],["exit",e[s][1],t]])),u=Fr(u,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",r,t]]),u=Fr(u,lx(t.parser.constructs.insideSpan.null,e.slice(s+1,n),t)),u=Fr(u,[["exit",r,t],["enter",l,t],["exit",l,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=Fr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,Nr(e,s-1,n-s+3,u),n=s+u.length-d-2;break}}for(n=-1;++n0&&Kt(S)?sn(e,x,"linePrefix",r+1)(S):x(S)}function x(S){return S===null||mt(S)?e.check(PO,g,w)(S):(e.enter("codeFlowValue"),E(S))}function E(S){return S===null||mt(S)?(e.exit("codeFlowValue"),x(S)):(e.consume(S),E)}function w(S){return e.exit("codeFenced"),t(S)}function T(S,N,A){let C=0;return I;function I(F){return S.enter("lineEnding"),S.consume(F),S.exit("lineEnding"),O}function O(F){return S.enter("codeFencedFence"),Kt(F)?sn(S,L,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):L(F)}function L(F){return F===l?(S.enter("codeFencedFenceSequence"),G(F)):A(F)}function G(F){return F===l?(C++,S.consume(F),G):C>=a?(S.exit("codeFencedFenceSequence"),Kt(F)?sn(S,D,"whitespace")(F):D(F)):A(F)}function D(F){return F===null||mt(F)?(S.exit("codeFencedFence"),N(F)):A(F)}}}function $fe(e,t,n){const s=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r)}function r(a){return s.parser.lazy[s.now().line]?n(a):t(a)}}const Cv={name:"codeIndented",tokenize:zfe},Hfe={partial:!0,tokenize:Vfe};function zfe(e,t,n){const s=this;return i;function i(u){return e.enter("codeIndented"),sn(e,r,"linePrefix",5)(u)}function r(u){const d=s.events[s.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?c(u):mt(u)?e.attempt(Hfe,a,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||mt(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),t(u)}}function Vfe(e,t,n){const s=this;return i;function i(a){return s.parser.lazy[s.now().line]?n(a):mt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):sn(e,r,"linePrefix",5)(a)}function r(a){const l=s.events[s.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(a):mt(a)?i(a):n(a)}}const Gfe={name:"codeText",previous:qfe,resolve:Kfe,tokenize:Yfe};function Kfe(e){let t=e.length-4,n=3,s,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(s=n;++s=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-s+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-s+this.left.length).reverse())}splice(t,n,s){const i=n||0;this.setCursor(Math.trunc(t));const r=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return s&&Ah(this.left,s),r.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),Ah(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Ah(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(s.parser.constructs.flow,n,t)(a)}}function wU(e,t,n,s,i,r,a,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return f;function f(y){return y===60?(e.enter(s),e.enter(i),e.enter(r),e.consume(y),e.exit(r),h):y===null||y===32||y===41||Dy(y)?n(y):(e.enter(s),e.enter(a),e.enter(l),e.enter("chunkString",{contentType:"string"}),g(y))}function h(y){return y===62?(e.enter(r),e.consume(y),e.exit(r),e.exit(i),e.exit(s),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===62?(e.exit("chunkString"),e.exit(l),h(y)):y===null||y===60||mt(y)?n(y):(e.consume(y),y===92?p:m)}function p(y){return y===60||y===62||y===92?(e.consume(y),m):m(y)}function g(y){return!d&&(y===null||y===41||Pn(y))?(e.exit("chunkString"),e.exit(l),e.exit(a),e.exit(s),t(y)):d999||m===null||m===91||m===93&&!c||m===94&&!l&&"_hiddenFootnoteSupport"in a.parser.constructs?n(m):m===93?(e.exit(r),e.enter(i),e.consume(m),e.exit(i),e.exit(s),t):mt(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(m))}function f(m){return m===null||m===91||m===93||mt(m)||l++>999?(e.exit("chunkString"),d(m)):(e.consume(m),c||(c=!Kt(m)),m===92?h:f)}function h(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}}function _U(e,t,n,s,i,r){let a;return l;function l(h){return h===34||h===39||h===40?(e.enter(s),e.enter(i),e.consume(h),e.exit(i),a=h===40?41:h,c):n(h)}function c(h){return h===a?(e.enter(i),e.consume(h),e.exit(i),e.exit(s),t):(e.enter(r),u(h))}function u(h){return h===a?(e.exit(r),c(a)):h===null?n(h):mt(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),sn(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===a||h===null||mt(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 Cm(e,t){let n;return s;function s(i){return mt(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,s):Kt(i)?sn(e,s,n?"linePrefix":"lineSuffix")(i):t(i)}}const nhe={name:"definition",tokenize:ihe},she={partial:!0,tokenize:rhe};function ihe(e,t,n){const s=this;let i;return r;function r(m){return e.enter("definition"),a(m)}function a(m){return SU.call(s,e,l,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function l(m){return i=ya(s.sliceSerialize(s.events[s.events.length-1][1]).slice(1,-1)),m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),c):n(m)}function c(m){return Pn(m)?Cm(e,u)(m):u(m)}function u(m){return wU(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function d(m){return e.attempt(she,f,f)(m)}function f(m){return Kt(m)?sn(e,h,"whitespace")(m):h(m)}function h(m){return m===null||mt(m)?(e.exit("definition"),s.parser.defined.push(i),t(m)):n(m)}}function rhe(e,t,n){return s;function s(l){return Pn(l)?Cm(e,i)(l):n(l)}function i(l){return _U(e,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function r(l){return Kt(l)?sn(e,a,"whitespace")(l):a(l)}function a(l){return l===null||mt(l)?t(l):n(l)}}const ahe={name:"hardBreakEscape",tokenize:ohe};function ohe(e,t,n){return s;function s(r){return e.enter("hardBreakEscape"),e.consume(r),i}function i(r){return mt(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}const lhe={name:"headingAtx",resolve:che,tokenize:uhe};function che(e,t){let n=e.length-2,s=3,i,r;return e[s][1].type==="whitespace"&&(s+=2),n-2>s&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(s===n-1||n-4>s&&e[n-2][1].type==="whitespace")&&(n-=s+1===n?2:4),n>s&&(i={type:"atxHeadingText",start:e[s][1].start,end:e[n][1].end},r={type:"chunkText",start:e[s][1].start,end:e[n][1].end,contentType:"text"},Nr(e,s,n-s+1,[["enter",i,t],["enter",r,t],["exit",r,t],["exit",i,t]])),e}function uhe(e,t,n){let s=0;return i;function i(d){return e.enter("atxHeading"),r(d)}function r(d){return e.enter("atxHeadingSequence"),a(d)}function a(d){return d===35&&s++<6?(e.consume(d),a):d===null||Pn(d)?(e.exit("atxHeadingSequence"),l(d)):n(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||mt(d)?(e.exit("atxHeading"),t(d)):Kt(d)?sn(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||Pn(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const dhe=["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"],UO=["pre","script","style","textarea"],fhe={concrete:!0,name:"htmlFlow",resolveTo:phe,tokenize:ghe},hhe={partial:!0,tokenize:yhe},mhe={partial:!0,tokenize:bhe};function phe(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 ghe(e,t,n){const s=this;let i,r,a,l,c;return u;function u(B){return d(B)}function d(B){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(B),f}function f(B){return B===33?(e.consume(B),h):B===47?(e.consume(B),r=!0,g):B===63?(e.consume(B),i=3,s.interrupt?t:R):zi(B)?(e.consume(B),a=String.fromCharCode(B),v):n(B)}function h(B){return B===45?(e.consume(B),i=2,m):B===91?(e.consume(B),i=5,l=0,p):zi(B)?(e.consume(B),i=4,s.interrupt?t:R):n(B)}function m(B){return B===45?(e.consume(B),s.interrupt?t:R):n(B)}function p(B){const ee="CDATA[";return B===ee.charCodeAt(l++)?(e.consume(B),l===ee.length?s.interrupt?t:L:p):n(B)}function g(B){return zi(B)?(e.consume(B),a=String.fromCharCode(B),v):n(B)}function v(B){if(B===null||B===47||B===62||Pn(B)){const ee=B===47,z=a.toLowerCase();return!ee&&!r&&UO.includes(z)?(i=1,s.interrupt?t(B):L(B)):dhe.includes(a.toLowerCase())?(i=6,ee?(e.consume(B),y):s.interrupt?t(B):L(B)):(i=7,s.interrupt&&!s.parser.lazy[s.now().line]?n(B):r?x(B):E(B))}return B===45||ji(B)?(e.consume(B),a+=String.fromCharCode(B),v):n(B)}function y(B){return B===62?(e.consume(B),s.interrupt?t:L):n(B)}function x(B){return Kt(B)?(e.consume(B),x):I(B)}function E(B){return B===47?(e.consume(B),I):B===58||B===95||zi(B)?(e.consume(B),w):Kt(B)?(e.consume(B),E):I(B)}function w(B){return B===45||B===46||B===58||B===95||ji(B)?(e.consume(B),w):T(B)}function T(B){return B===61?(e.consume(B),S):Kt(B)?(e.consume(B),T):E(B)}function S(B){return B===null||B===60||B===61||B===62||B===96?n(B):B===34||B===39?(e.consume(B),c=B,N):Kt(B)?(e.consume(B),S):A(B)}function N(B){return B===c?(e.consume(B),c=null,C):B===null||mt(B)?n(B):(e.consume(B),N)}function A(B){return B===null||B===34||B===39||B===47||B===60||B===61||B===62||B===96||Pn(B)?T(B):(e.consume(B),A)}function C(B){return B===47||B===62||Kt(B)?E(B):n(B)}function I(B){return B===62?(e.consume(B),O):n(B)}function O(B){return B===null||mt(B)?L(B):Kt(B)?(e.consume(B),O):n(B)}function L(B){return B===45&&i===2?(e.consume(B),k):B===60&&i===1?(e.consume(B),j):B===62&&i===4?(e.consume(B),q):B===63&&i===3?(e.consume(B),R):B===93&&i===5?(e.consume(B),$):mt(B)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(hhe,Q,G)(B)):B===null||mt(B)?(e.exit("htmlFlowData"),G(B)):(e.consume(B),L)}function G(B){return e.check(mhe,D,Q)(B)}function D(B){return e.enter("lineEnding"),e.consume(B),e.exit("lineEnding"),F}function F(B){return B===null||mt(B)?G(B):(e.enter("htmlFlowData"),L(B))}function k(B){return B===45?(e.consume(B),R):L(B)}function j(B){return B===47?(e.consume(B),a="",P):L(B)}function P(B){if(B===62){const ee=a.toLowerCase();return UO.includes(ee)?(e.consume(B),q):L(B)}return zi(B)&&a.length<8?(e.consume(B),a+=String.fromCharCode(B),P):L(B)}function $(B){return B===93?(e.consume(B),R):L(B)}function R(B){return B===62?(e.consume(B),q):B===45&&i===2?(e.consume(B),R):L(B)}function q(B){return B===null||mt(B)?(e.exit("htmlFlowData"),Q(B)):(e.consume(B),q)}function Q(B){return e.exit("htmlFlow"),t(B)}}function bhe(e,t,n){const s=this;return i;function i(a){return mt(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):n(a)}function r(a){return s.parser.lazy[s.now().line]?n(a):t(a)}}function yhe(e,t,n){return s;function s(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(ig,t,n)}}const xhe={name:"htmlText",tokenize:Ehe};function Ehe(e,t,n){const s=this;let i,r,a;return l;function l(R){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(R),c}function c(R){return R===33?(e.consume(R),u):R===47?(e.consume(R),T):R===63?(e.consume(R),E):zi(R)?(e.consume(R),A):n(R)}function u(R){return R===45?(e.consume(R),d):R===91?(e.consume(R),r=0,p):zi(R)?(e.consume(R),x):n(R)}function d(R){return R===45?(e.consume(R),m):n(R)}function f(R){return R===null?n(R):R===45?(e.consume(R),h):mt(R)?(a=f,j(R)):(e.consume(R),f)}function h(R){return R===45?(e.consume(R),m):f(R)}function m(R){return R===62?k(R):R===45?h(R):f(R)}function p(R){const q="CDATA[";return R===q.charCodeAt(r++)?(e.consume(R),r===q.length?g:p):n(R)}function g(R){return R===null?n(R):R===93?(e.consume(R),v):mt(R)?(a=g,j(R)):(e.consume(R),g)}function v(R){return R===93?(e.consume(R),y):g(R)}function y(R){return R===62?k(R):R===93?(e.consume(R),y):g(R)}function x(R){return R===null||R===62?k(R):mt(R)?(a=x,j(R)):(e.consume(R),x)}function E(R){return R===null?n(R):R===63?(e.consume(R),w):mt(R)?(a=E,j(R)):(e.consume(R),E)}function w(R){return R===62?k(R):E(R)}function T(R){return zi(R)?(e.consume(R),S):n(R)}function S(R){return R===45||ji(R)?(e.consume(R),S):N(R)}function N(R){return mt(R)?(a=N,j(R)):Kt(R)?(e.consume(R),N):k(R)}function A(R){return R===45||ji(R)?(e.consume(R),A):R===47||R===62||Pn(R)?C(R):n(R)}function C(R){return R===47?(e.consume(R),k):R===58||R===95||zi(R)?(e.consume(R),I):mt(R)?(a=C,j(R)):Kt(R)?(e.consume(R),C):k(R)}function I(R){return R===45||R===46||R===58||R===95||ji(R)?(e.consume(R),I):O(R)}function O(R){return R===61?(e.consume(R),L):mt(R)?(a=O,j(R)):Kt(R)?(e.consume(R),O):C(R)}function L(R){return R===null||R===60||R===61||R===62||R===96?n(R):R===34||R===39?(e.consume(R),i=R,G):mt(R)?(a=L,j(R)):Kt(R)?(e.consume(R),L):(e.consume(R),D)}function G(R){return R===i?(e.consume(R),i=void 0,F):R===null?n(R):mt(R)?(a=G,j(R)):(e.consume(R),G)}function D(R){return R===null||R===34||R===39||R===60||R===61||R===96?n(R):R===47||R===62||Pn(R)?C(R):(e.consume(R),D)}function F(R){return R===47||R===62||Pn(R)?C(R):n(R)}function k(R){return R===62?(e.consume(R),e.exit("htmlTextData"),e.exit("htmlText"),t):n(R)}function j(R){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),P}function P(R){return Kt(R)?sn(e,$,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):$(R)}function $(R){return e.enter("htmlTextData"),a(R)}}const Xk={name:"labelEnd",resolveAll:_he,resolveTo:The,tokenize:Nhe},vhe={tokenize:khe},whe={tokenize:Ahe},She={tokenize:Che};function _he(e){let t=-1;const n=[];for(;++t=3&&(u===null||mt(u))?(e.exit("thematicBreak"),t(u)):n(u)}function c(u){return u===i?(e.consume(u),s++,c):(e.exit("thematicBreakSequence"),Kt(u)?sn(e,l,"whitespace")(u):l(u))}}const er={continuation:{tokenize:Uhe},exit:$he,name:"list",tokenize:Bhe},Dhe={partial:!0,tokenize:Hhe},Phe={partial:!0,tokenize:Fhe};function Bhe(e,t,n){const s=this,i=s.events[s.events.length-1];let r=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return l;function l(m){const p=s.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!s.containerState.marker||m===s.containerState.marker:w_(m)){if(s.containerState.type||(s.containerState.type=p,e.enter(p,{_container:!0})),p==="listUnordered")return e.enter("listItemPrefix"),m===42||m===45?e.check(Eb,n,u)(m):u(m);if(!s.interrupt||m===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(m)}return n(m)}function c(m){return w_(m)&&++a<10?(e.consume(m),c):(!s.interrupt||a<2)&&(s.containerState.marker?m===s.containerState.marker:m===41||m===46)?(e.exit("listItemValue"),u(m)):n(m)}function u(m){return e.enter("listItemMarker"),e.consume(m),e.exit("listItemMarker"),s.containerState.marker=s.containerState.marker||m,e.check(ig,s.interrupt?n:d,e.attempt(Dhe,h,f))}function d(m){return s.containerState.initialBlankLine=!0,r++,h(m)}function f(m){return Kt(m)?(e.enter("listItemPrefixWhitespace"),e.consume(m),e.exit("listItemPrefixWhitespace"),h):n(m)}function h(m){return s.containerState.size=r+s.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(m)}}function Uhe(e,t,n){const s=this;return s.containerState._closeFlow=void 0,e.check(ig,i,r);function i(l){return s.containerState.furtherBlankLines=s.containerState.furtherBlankLines||s.containerState.initialBlankLine,sn(e,t,"listItemIndent",s.containerState.size+1)(l)}function r(l){return s.containerState.furtherBlankLines||!Kt(l)?(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,a(l)):(s.containerState.furtherBlankLines=void 0,s.containerState.initialBlankLine=void 0,e.attempt(Phe,t,a)(l))}function a(l){return s.containerState._closeFlow=!0,s.interrupt=void 0,sn(e,e.attempt(er,t,n),"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function Fhe(e,t,n){const s=this;return sn(e,i,"listItemIndent",s.containerState.size+1);function i(r){const a=s.events[s.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===s.containerState.size?t(r):n(r)}}function $he(e){e.exit(this.containerState.type)}function Hhe(e,t,n){const s=this;return sn(e,i,"listItemPrefixWhitespace",s.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(r){const a=s.events[s.events.length-1];return!Kt(r)&&a&&a[1].type==="listItemPrefixWhitespace"?t(r):n(r)}}const FO={name:"setextUnderline",resolveTo:zhe,tokenize:Vhe};function zhe(e,t){let n=e.length,s,i,r;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){s=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!r&&e[n][1].type==="definition"&&(r=n);const a={type:"setextHeading",start:{...e[s][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",r?(e.splice(i,0,["enter",a,t]),e.splice(r+1,0,["exit",e[s][1],t]),e[s][1].end={...e[r][1].end}):e[s][1]=a,e.push(["exit",a,t]),e}function Vhe(e,t,n){const s=this;let i;return r;function r(u){let d=s.events.length,f;for(;d--;)if(s.events[d][1].type!=="lineEnding"&&s.events[d][1].type!=="linePrefix"&&s.events[d][1].type!=="content"){f=s.events[d][1].type==="paragraph";break}return!s.parser.lazy[s.now().line]&&(s.interrupt||f)?(e.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===i?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),Kt(u)?sn(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||mt(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const Ghe={tokenize:Khe};function Khe(e){const t=this,n=e.attempt(ig,s,e.attempt(this.parser.constructs.flowInitial,i,sn(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Qfe,i)),"linePrefix")));return n;function s(r){if(r===null){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const qhe={resolveAll:NU()},Yhe=TU("string"),Whe=TU("text");function TU(e){return{resolveAll:NU(e==="text"?Xhe:void 0),tokenize:t};function t(n){const s=this,i=this.parser.constructs[e],r=n.attempt(i,a,l);return a;function a(d){return u(d)?r(d):l(d)}function l(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return u(d)?(n.exit("data"),r(d)):(n.consume(d),c)}function u(d){if(d===null)return!0;const f=i[d];let h=-1;if(f)for(;++h-1){const l=a[0];typeof l=="string"?a[0]=l.slice(s):a.shift()}r>0&&a.push(e[i].slice(0,r))}return a}function cme(e,t){let n=-1;const s=[];let i;for(;++n0){const Ye=te.tokenStack[te.tokenStack.length-1];(Ye[1]||Uj).call(te,void 0,Ye[0])}for(ae.position={start:il(X.length>0?X[0][1].start:{line:1,column:1,offset:0}),end:il(X.length>0?X[X.length-2][1].end:{line:1,column:1,offset:0})},Ue=-1;++Ue0&&(s.className=["language-"+i[0]]);let r={type:"element",tagName:"code",properties:s,children:[{type:"text",value:n}]};return t.meta&&(r.data={meta:t.meta}),e.patch(t,r),r=e.applyData(t,r),r={type:"element",tagName:"pre",properties:{},children:[r]},e.patch(t,r),r}function mme(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function pme(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function gme(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",s=String(t.identifier).toUpperCase(),i=Uf(s.toLowerCase()),r=e.footnoteOrder.indexOf(s);let a,l=e.footnoteCounts.get(s);l===void 0?(l=0,e.footnoteOrder.push(s),a=e.footnoteOrder.length):a=r+1,l+=1,e.footnoteCounts.set(s,l);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function bme(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 yme(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function vU(e,t){const n=t.referenceType;let s="]";if(n==="collapsed"?s+="[]":n==="full"&&(s+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+s}];const i=e.all(t),r=i[0];r&&r.type==="text"?r.value="["+r.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=s:i.push({type:"text",value:s}),i}function xme(e,t){const n=String(t.identifier).toUpperCase(),s=e.definitionById.get(n);if(!s)return vU(e,t);const i={src:Uf(s.url||""),alt:t.alt};s.title!==null&&s.title!==void 0&&(i.title=s.title);const r={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,r),e.applyData(t,r)}function Eme(e,t){const n={src:Uf(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 s={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,s),e.applyData(t,s)}function vme(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const s={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,s),e.applyData(t,s)}function wme(e,t){const n=String(t.identifier).toUpperCase(),s=e.definitionById.get(n);if(!s)return vU(e,t);const i={href:Uf(s.url||"")};s.title!==null&&s.title!==void 0&&(i.title=s.title);const r={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Sme(e,t){const n={href:Uf(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const s={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function _me(e,t,n){const s=e.all(t),i=n?Tme(n):wU(t),r={},a=[];if(typeof t.checked=="boolean"){const d=s[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},s.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:[]}),r.className=["task-list-item"]}let l=-1;for(;++l0){const Ye=se.tokenStack[se.tokenStack.length-1];(Ye[1]||HO).call(se,void 0,Ye[0])}for(ie.position={start:il(X.length>0?X[0][1].start:{line:1,column:1,offset:0}),end:il(X.length>0?X[X.length-2][1].end:{line:1,column:1,offset:0})},Pe=-1;++Pe0&&(s.className=["language-"+i[0]]);let r={type:"element",tagName:"code",properties:s,children:[{type:"text",value:n}]};return t.meta&&(r.data={meta:t.meta}),e.patch(t,r),r=e.applyData(t,r),r={type:"element",tagName:"pre",properties:{},children:[r]},e.patch(t,r),r}function Sme(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function _me(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Tme(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",s=String(t.identifier).toUpperCase(),i=Uf(s.toLowerCase()),r=e.footnoteOrder.indexOf(s);let a,l=e.footnoteCounts.get(s);l===void 0?(l=0,e.footnoteOrder.push(s),a=e.footnoteOrder.length):a=r+1,l+=1,e.footnoteCounts.set(s,l);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function Nme(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 kme(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function CU(e,t){const n=t.referenceType;let s="]";if(n==="collapsed"?s+="[]":n==="full"&&(s+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+s}];const i=e.all(t),r=i[0];r&&r.type==="text"?r.value="["+r.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=s:i.push({type:"text",value:s}),i}function Ame(e,t){const n=String(t.identifier).toUpperCase(),s=e.definitionById.get(n);if(!s)return CU(e,t);const i={src:Uf(s.url||""),alt:t.alt};s.title!==null&&s.title!==void 0&&(i.title=s.title);const r={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,r),e.applyData(t,r)}function Cme(e,t){const n={src:Uf(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 s={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,s),e.applyData(t,s)}function Ime(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const s={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,s),e.applyData(t,s)}function Rme(e,t){const n=String(t.identifier).toUpperCase(),s=e.definitionById.get(n);if(!s)return CU(e,t);const i={href:Uf(s.url||"")};s.title!==null&&s.title!==void 0&&(i.title=s.title);const r={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function jme(e,t){const n={href:Uf(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const s={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function Ome(e,t,n){const s=e.all(t),i=n?Mme(n):IU(t),r={},a=[];if(typeof t.checked=="boolean"){const d=s[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},s.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:[]}),r.className=["task-list-item"]}let l=-1;for(;++l1}function Nme(e,t){const n={},s=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},l=Xa(t.children[1]),c=sx(t.children[t.children.length-1]);l&&c&&(a.position={start:l,end:c}),i.push(a)}const r={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,r),e.applyData(t,r)}function Rme(e,t,n){const s=n?n.children:void 0,r=(s?s.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,l=a?a.length:t.children.length;let c=-1;const u=[];for(;++c0,!0),s[0]),i=s.index+s[0].length,s=n.exec(t);return r.push(Hj(t.slice(i),i>0,!1)),r.join("")}function Hj(e,t,n){let s=0,i=e.length;if(t){let r=e.codePointAt(s);for(;r===Fj||r===$j;)s++,r=e.codePointAt(s)}if(n){let r=e.codePointAt(i-1);for(;r===Fj||r===$j;)i--,r=e.codePointAt(i-1)}return i>s?e.slice(s,i):""}function Mme(e,t){const n={type:"text",value:jme(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function Lme(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const Dme={blockquote:dme,break:fme,code:hme,delete:mme,emphasis:pme,footnoteReference:gme,heading:bme,html:yme,imageReference:xme,image:Eme,inlineCode:vme,linkReference:wme,link:Sme,listItem:_me,list:Nme,paragraph:kme,root:Ame,strong:Cme,table:Ime,tableCell:Ome,tableRow:Rme,text:Mme,thematicBreak:Lme,toml:y0,yaml:y0,definition:y0,footnoteDefinition:y0};function y0(){}const SU=-1,ax=0,Cm=1,Dy=2,Yk=3,Wk=4,Xk=5,Qk=6,_U=7,TU=8,Pme=typeof self=="object"?self:globalThis,zj=(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 Pme[e](t)},Bme=(e,t)=>{const n=(i,r)=>(e.set(r,i),i),s=i=>{if(e.has(i))return e.get(i);const[r,a]=t[i];switch(r){case ax:case SU:return n(a,i);case Cm:{const l=n([],i);for(const c of a)l.push(s(c));return l}case Dy:{const l=n({},i);for(const[c,u]of a)l[s(c)]=s(u);return l}case Yk:return n(new Date(a),i);case Wk:{const{source:l,flags:c}=a;return n(new RegExp(l,c),i)}case Xk:{const l=n(new Map,i);for(const[c,u]of a)l.set(s(c),s(u));return l}case Qk:{const l=n(new Set,i);for(const c of a)l.add(s(c));return l}case _U:{const{name:l,message:c}=a;return n(zj(l,c),i)}case TU:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:l}=new Uint8Array(a);return n(new DataView(l),a)}}return n(zj(r,a),i)};return s},Vj=e=>Bme(new Map,e)(0),Iu="",{toString:Ume}={},{keys:Fme}=Object,Ch=e=>{const t=typeof e;if(t!=="object"||!e)return[ax,t];const n=Ume.call(e).slice(8,-1);switch(n){case"Array":return[Cm,Iu];case"Object":return[Dy,Iu];case"Date":return[Yk,Iu];case"RegExp":return[Wk,Iu];case"Map":return[Xk,Iu];case"Set":return[Qk,Iu];case"DataView":return[Cm,n]}return n.includes("Array")?[Cm,n]:n.includes("Error")?[_U,n]:[Dy,n]},x0=([e,t])=>e===ax&&(t==="function"||t==="symbol"),$me=(e,t,n,s)=>{const i=(a,l)=>{const c=s.push(a)-1;return n.set(l,c),c},r=a=>{if(n.has(a))return n.get(a);let[l,c]=Ch(a);switch(l){case ax:{let d=a;switch(c){case"bigint":l=TU,d=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return i([SU],a)}return i([l,d],a)}case Cm:{if(c){let h=a;return c==="DataView"?h=new Uint8Array(a.buffer):c==="ArrayBuffer"&&(h=new Uint8Array(a)),i([c,[...h]],a)}const d=[],f=i([l,d],a);for(const h of a)d.push(r(h));return f}case Dy:{if(c)switch(c){case"BigInt":return i([c,a.toString()],a);case"Boolean":case"Number":case"String":return i([c,a.valueOf()],a)}if(t&&"toJSON"in a)return r(a.toJSON());const d=[],f=i([l,d],a);for(const h of Fme(a))(e||!x0(Ch(a[h])))&&d.push([r(h),r(a[h])]);return f}case Yk:return i([l,a.toISOString()],a);case Wk:{const{source:d,flags:f}=a;return i([l,{source:d,flags:f}],a)}case Xk:{const d=[],f=i([l,d],a);for(const[h,m]of a)(e||!(x0(Ch(h))||x0(Ch(m))))&&d.push([r(h),r(m)]);return f}case Qk:{const d=[],f=i([l,d],a);for(const h of a)(e||!x0(Ch(h)))&&d.push(r(h));return f}}const{message:u}=a;return i([l,{name:c,message:u}],a)};return r},Gj=(e,{json:t,lossy:n}={})=>{const s=[];return $me(!(t||n),!!t,new Map,s)(e),s},mf=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Vj(Gj(e,t)):structuredClone(e):(e,t)=>Vj(Gj(e,t));function Hme(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 zme(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function Vme(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||Hme,s=e.options.footnoteBackLabel||zme,i=e.options.footnoteLabel||"Footnotes",r=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c0&&p.push({type:"text",value:" "});let x=typeof n=="string"?n:n(c,m);typeof x=="string"&&(x={type:"text",value:x}),p.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof s=="string"?s:s(c,m),className:["data-footnote-backref"]},children:Array.isArray(x)?x:[x]})}const v=d[d.length-1];if(v&&v.type==="element"&&v.tagName==="p"){const x=v.children[v.children.length-1];x&&x.type==="text"?x.value+=" ":v.children.push({type:"text",value:" "}),v.children.push(...p)}else d.push(...p);const y={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,y),l.push(y)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:r,properties:{...mf(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`});const u={type:"element",tagName:"li",properties:r,children:a};return e.patch(t,u),e.applyData(t,u)}function Mme(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let s=-1;for(;!t&&++s1}function Lme(e,t){const n={},s=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},l=Xa(t.children[1]),c=ax(t.children[t.children.length-1]);l&&c&&(a.position={start:l,end:c}),i.push(a)}const r={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,r),e.applyData(t,r)}function Fme(e,t,n){const s=n?n.children:void 0,r=(s?s.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,l=a?a.length:t.children.length;let c=-1;const u=[];for(;++c0,!0),s[0]),i=s.index+s[0].length,s=n.exec(t);return r.push(GO(t.slice(i),i>0,!1)),r.join("")}function GO(e,t,n){let s=0,i=e.length;if(t){let r=e.codePointAt(s);for(;r===zO||r===VO;)s++,r=e.codePointAt(s)}if(n){let r=e.codePointAt(i-1);for(;r===zO||r===VO;)i--,r=e.codePointAt(i-1)}return i>s?e.slice(s,i):""}function zme(e,t){const n={type:"text",value:Hme(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function Vme(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const Gme={blockquote:Eme,break:vme,code:wme,delete:Sme,emphasis:_me,footnoteReference:Tme,heading:Nme,html:kme,imageReference:Ame,image:Cme,inlineCode:Ime,linkReference:Rme,link:jme,listItem:Ome,list:Lme,paragraph:Dme,root:Pme,strong:Bme,table:Ume,tableCell:$me,tableRow:Fme,text:zme,thematicBreak:Vme,toml:x0,yaml:x0,definition:x0,footnoteDefinition:x0};function x0(){}const RU=-1,cx=0,Im=1,Py=2,Qk=3,Zk=4,Jk=5,e2=6,jU=7,OU=8,Kme=typeof self=="object"?self:globalThis,KO=(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 Kme[e](t)},qme=(e,t)=>{const n=(i,r)=>(e.set(r,i),i),s=i=>{if(e.has(i))return e.get(i);const[r,a]=t[i];switch(r){case cx:case RU:return n(a,i);case Im:{const l=n([],i);for(const c of a)l.push(s(c));return l}case Py:{const l=n({},i);for(const[c,u]of a)l[s(c)]=s(u);return l}case Qk:return n(new Date(a),i);case Zk:{const{source:l,flags:c}=a;return n(new RegExp(l,c),i)}case Jk:{const l=n(new Map,i);for(const[c,u]of a)l.set(s(c),s(u));return l}case e2:{const l=n(new Set,i);for(const c of a)l.add(s(c));return l}case jU:{const{name:l,message:c}=a;return n(KO(l,c),i)}case OU:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:l}=new Uint8Array(a);return n(new DataView(l),a)}}return n(KO(r,a),i)};return s},qO=e=>qme(new Map,e)(0),Iu="",{toString:Yme}={},{keys:Wme}=Object,Ch=e=>{const t=typeof e;if(t!=="object"||!e)return[cx,t];const n=Yme.call(e).slice(8,-1);switch(n){case"Array":return[Im,Iu];case"Object":return[Py,Iu];case"Date":return[Qk,Iu];case"RegExp":return[Zk,Iu];case"Map":return[Jk,Iu];case"Set":return[e2,Iu];case"DataView":return[Im,n]}return n.includes("Array")?[Im,n]:n.includes("Error")?[jU,n]:[Py,n]},E0=([e,t])=>e===cx&&(t==="function"||t==="symbol"),Xme=(e,t,n,s)=>{const i=(a,l)=>{const c=s.push(a)-1;return n.set(l,c),c},r=a=>{if(n.has(a))return n.get(a);let[l,c]=Ch(a);switch(l){case cx:{let d=a;switch(c){case"bigint":l=OU,d=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return i([RU],a)}return i([l,d],a)}case Im:{if(c){let h=a;return c==="DataView"?h=new Uint8Array(a.buffer):c==="ArrayBuffer"&&(h=new Uint8Array(a)),i([c,[...h]],a)}const d=[],f=i([l,d],a);for(const h of a)d.push(r(h));return f}case Py:{if(c)switch(c){case"BigInt":return i([c,a.toString()],a);case"Boolean":case"Number":case"String":return i([c,a.valueOf()],a)}if(t&&"toJSON"in a)return r(a.toJSON());const d=[],f=i([l,d],a);for(const h of Wme(a))(e||!E0(Ch(a[h])))&&d.push([r(h),r(a[h])]);return f}case Qk:return i([l,a.toISOString()],a);case Zk:{const{source:d,flags:f}=a;return i([l,{source:d,flags:f}],a)}case Jk:{const d=[],f=i([l,d],a);for(const[h,m]of a)(e||!(E0(Ch(h))||E0(Ch(m))))&&d.push([r(h),r(m)]);return f}case e2:{const d=[],f=i([l,d],a);for(const h of a)(e||!E0(Ch(h)))&&d.push(r(h));return f}}const{message:u}=a;return i([l,{name:c,message:u}],a)};return r},YO=(e,{json:t,lossy:n}={})=>{const s=[];return Xme(!(t||n),!!t,new Map,s)(e),s},mf=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?qO(YO(e,t)):structuredClone(e):(e,t)=>qO(YO(e,t));function Qme(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 Zme(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function Jme(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||Qme,s=e.options.footnoteBackLabel||Zme,i=e.options.footnoteLabel||"Footnotes",r=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c0&&p.push({type:"text",value:" "});let x=typeof n=="string"?n:n(c,m);typeof x=="string"&&(x={type:"text",value:x}),p.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof s=="string"?s:s(c,m),className:["data-footnote-backref"]},children:Array.isArray(x)?x:[x]})}const v=d[d.length-1];if(v&&v.type==="element"&&v.tagName==="p"){const x=v.children[v.children.length-1];x&&x.type==="text"?x.value+=" ":v.children.push({type:"text",value:" "}),v.children.push(...p)}else d.push(...p);const y={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,y),l.push(y)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:r,properties:{...mf(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:` -`}]}}const ig=function(e){if(e==null)return Yme;if(typeof e=="function")return ox(e);if(typeof e=="object")return Array.isArray(e)?Gme(e):Kme(e);if(typeof e=="string")return qme(e);throw new Error("Expected function, string, or object as test")};function Gme(e){const t=[];let n=-1;for(;++n":""))+")"})}return h;function h(){let m=NU,p,g,v;if((!t||r(c,u,d[d.length-1]||void 0))&&(m=Zme(n(c,d)),m[0]===v_))return m;if("children"in c&&c.children){const y=c;if(y.children&&m[0]!==Qme)for(g=(s?y.children.length:-1)+a,v=d.concat(y);g>-1&&g":""))+")"})}return h;function h(){let m=MU,p,g,v;if((!t||r(c,u,d[d.length-1]||void 0))&&(m=ope(n(c,d)),m[0]===__))return m;if("children"in c&&c.children){const y=c;if(y.children&&m[0]!==ape)for(g=(s?y.children.length:-1)+a,v=d.concat(y);g>-1&&g0&&n.push({type:"text",value:` -`}),n}function Kj(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function qj(e,t){const n=epe(e,t),s=n.one(e,void 0),i=Vme(n),r=Array.isArray(s)?{type:"root",children:s}:s||{type:"root",children:[]};return i&&r.children.push({type:"text",value:` -`},i),r}function rpe(e,t){return e&&"run"in e?async function(n,s){const i=qj(n,{file:s,...t});await e.run(i,s)}:function(n,s){return qj(n,{file:s,...e||t})}}function Yj(e){if(e)throw e}var Eb=Object.prototype.hasOwnProperty,AU=Object.prototype.toString,Wj=Object.defineProperty,Xj=Object.getOwnPropertyDescriptor,Qj=function(t){return typeof Array.isArray=="function"?Array.isArray(t):AU.call(t)==="[object Array]"},Zj=function(t){if(!t||AU.call(t)!=="[object Object]")return!1;var n=Eb.call(t,"constructor"),s=t.constructor&&t.constructor.prototype&&Eb.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!s)return!1;var i;for(i in t);return typeof i>"u"||Eb.call(t,i)},Jj=function(t,n){Wj&&n.name==="__proto__"?Wj(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},eM=function(t,n){if(n==="__proto__")if(Eb.call(t,n)){if(Xj)return Xj(t,n).value}else return;return t[n]},ape=function e(){var t,n,s,i,r,a,l=arguments[0],c=1,u=arguments.length,d=!1;for(typeof l=="boolean"&&(d=l,l=arguments[1]||{},c=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});ca.length;let c;l&&a.push(i);try{c=e.apply(this,a)}catch(u){const d=u;if(l&&n)throw d;return i(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(r,i):c instanceof Error?i(c):r(c))}function i(a,...l){n||(n=!0,t(a,...l))}function r(a){i(null,a)}}const Ma={basename:cpe,dirname:upe,extname:dpe,join:fpe,sep:"/"};function cpe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');ag(e);let n=0,s=-1,i=e.length,r;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(r){n=i+1;break}}else s<0&&(r=!0,s=i+1);return s<0?"":e.slice(n,s)}if(t===e)return"";let a=-1,l=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(r){n=i+1;break}}else a<0&&(r=!0,a=i+1),l>-1&&(e.codePointAt(i)===t.codePointAt(l--)?l<0&&(s=i):(l=-1,s=a));return n===s?s=a:s<0&&(s=e.length),e.slice(n,s)}function upe(e){if(ag(e),e.length===0)return".";let t=-1,n=e.length,s;for(;--n;)if(e.codePointAt(n)===47){if(s){t=n;break}}else s||(s=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function dpe(e){ag(e);let t=e.length,n=-1,s=0,i=-1,r=0,a;for(;t--;){const l=e.codePointAt(t);if(l===47){if(a){s=t+1;break}continue}n<0&&(a=!0,n=t+1),l===46?i<0?i=t:r!==1&&(r=1):i>-1&&(r=-1)}return i<0||n<0||r===0||r===1&&i===n-1&&i===s+1?"":e.slice(i,n)}function fpe(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function mpe(e,t){let n="",s=0,i=-1,r=0,a=-1,l,c;for(;++a<=e.length;){if(a2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",s=0):(n=n.slice(0,c),s=n.length-1-n.lastIndexOf("/")),i=a,r=0;continue}}else if(n.length>0){n="",s=0,i=a,r=0;continue}}t&&(n=n.length>0?n+"/..":"..",s=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),s=a-i-1;i=a,r=0}else l===46&&r>-1?r++:r=-1}return n}function ag(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const ppe={cwd:gpe};function gpe(){return"/"}function __(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function bpe(e){if(typeof e=="string")e=new URL(e);else if(!__(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 ype(e)}function ype(e){if(e.hostname!==""){const s=new TypeError('File URL host must be "localhost" or empty on darwin');throw s.code="ERR_INVALID_FILE_URL_HOST",s}const t=e.pathname;let n=-1;for(;++n0){let[m,...p]=d;const g=s[h][1];S_(g)&&S_(m)&&(m=Av(!0,g,m)),s[h]=[u,m,...p]}}}}const wpe=new Zk().freeze();function Ov(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function jv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Mv(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 nM(e){if(!S_(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function sM(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function E0(e){return Spe(e)?e:new CU(e)}function Spe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function _pe(e){return typeof e=="string"||Tpe(e)}function Tpe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const Npe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",iM=[],rM={allowDangerousHtml:!0},kpe=/^(https?|ircs?|mailto|xmpp)$/i,Ape=[{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 Cpe(e){const t=Ipe(e),n=Rpe(e);return Ope(t.runSync(t.parse(n),n),e)}function Ipe(e){const t=e.rehypePlugins||iM,n=e.remarkPlugins||iM,s=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...rM}:rM;return wpe().use(ume).use(n).use(rpe,s).use(t)}function Rpe(e){const t=e.children||"",n=new CU;return typeof t=="string"&&(n.value=t),n}function Ope(e,t){const n=t.allowedElements,s=t.allowElement,i=t.components,r=t.disallowedElements,a=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||jpe;for(const d of Ape)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+Npe+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),rg(e,u),qde(e,{Fragment:o.Fragment,components:i,ignoreInvalidStyle:!0,jsx:o.jsx,jsxs:o.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 m;for(m in Tv)if(Object.hasOwn(Tv,m)&&Object.hasOwn(d.properties,m)){const p=d.properties[m],g=Tv[m];(g===null||g.includes(d.tagName))&&(d.properties[m]=c(String(p||""),m,d))}}if(d.type==="element"){let m=n?!n.includes(d.tagName):r?r.includes(d.tagName):!1;if(!m&&s&&typeof f=="number"&&(m=!s(d,f,h)),m&&h&&typeof f=="number")return l&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function jpe(e){const t=e.indexOf(":"),n=e.indexOf("?"),s=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||s!==-1&&t>s||kpe.test(e.slice(0,t))?e:""}function aM(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let s=0,i=n.indexOf(t);for(;i!==-1;)s++,i=n.indexOf(t,i+t.length);return s}function Mpe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Lpe(e,t,n){const i=ig((n||{}).ignore||[]),r=Dpe(t);let a=-1;for(;++a0?{type:"text",value:S}:void 0),S===!1?h.lastIndex=w+1:(p!==w&&x.push({type:"text",value:u.value.slice(p,w)}),Array.isArray(S)?x.push(...S):S&&x.push(S),p=w+E[0].length,y=!0),!h.global)break;E=h.exec(u.value)}return y?(p?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],s=n.indexOf(")");const i=aM(e,"(");let r=aM(e,")");for(;s!==-1&&i>r;)e+=n.slice(0,s+1),n=n.slice(s+1),s=n.indexOf(")"),r++;return[e,n]}function IU(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Xc(n)||ix(n))&&(!t||n!==47)}RU.peek=rge;function Qpe(){this.buffer()}function Zpe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Jpe(){this.buffer()}function ege(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function tge(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ya(this.sliceSerialize(e)).toLowerCase(),n.label=t}function nge(e){this.exit(e)}function sge(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ya(this.sliceSerialize(e)).toLowerCase(),n.label=t}function ige(e){this.exit(e)}function rge(){return"["}function RU(e,t,n,s){const i=n.createTracker(s);let r=i.move("[^");const a=n.enter("footnoteReference"),l=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{after:"]",before:r})),l(),a(),r+=i.move("]"),r}function age(){return{enter:{gfmFootnoteCallString:Qpe,gfmFootnoteCall:Zpe,gfmFootnoteDefinitionLabelString:Jpe,gfmFootnoteDefinition:ege},exit:{gfmFootnoteCallString:tge,gfmFootnoteCall:nge,gfmFootnoteDefinitionLabelString:sge,gfmFootnoteDefinition:ige}}}function oge(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:RU},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(s,i,r,a){const l=r.createTracker(a);let c=l.move("[^");const u=r.enter("footnoteDefinition"),d=r.enter("label");return c+=l.move(r.safe(r.associationId(s),{before:c,after:"]"})),d(),c+=l.move("]:"),s.children&&s.children.length>0&&(l.shift(4),c+=l.move((t?` -`:" ")+r.indentLines(r.containerFlow(s,l.current()),t?OU:lge))),u(),c}}function lge(e,t,n){return t===0?e:OU(e,t,n)}function OU(e,t,n){return(n?"":" ")+e}const cge=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];jU.peek=mge;function uge(){return{canContainEols:["delete"],enter:{strikethrough:fge},exit:{strikethrough:hge}}}function dge(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:cge}],handlers:{delete:jU}}}function fge(e){this.enter({type:"delete",children:[]},e)}function hge(e){this.exit(e)}function jU(e,t,n,s){const i=n.createTracker(s),r=n.enter("strikethrough");let a=i.move("~~");return a+=n.containerPhrasing(e,{...i.current(),before:a,after:"~"}),a+=i.move("~~"),r(),a}function mge(){return"~"}function pge(e){return e.length}function gge(e,t){const n=t||{},s=(n.align||[]).concat(),i=n.stringLength||pge,r=[],a=[],l=[],c=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++yc[y])&&(c[y]=E)}g.push(x)}a[d]=g,l[d]=v}let f=-1;if(typeof s=="object"&&"length"in s)for(;++fc[f]&&(c[f]=x),m[f]=x),h[f]=E}a.splice(1,0,h),l.splice(1,0,m),d=-1;const p=[];for(;++d "),r.shift(2);const a=n.indentLines(n.containerFlow(e,r.current()),xge);return i(),a}function xge(e,t,n){return">"+(n?"":" ")+e}function Ege(e,t){return cM(e,t.inConstruct,!0)&&!cM(e,t.notInConstruct,!1)}function cM(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let s=-1;for(;++sa&&(a=r):r=1,i=s+t.length,s=n.indexOf(t,i);return a}function wge(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 Sge(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 _ge(e,t,n,s){const i=Sge(n),r=e.value||"",a=i==="`"?"GraveAccent":"Tilde";if(wge(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(r,Tge);return f(),h}const l=n.createTracker(s),c=i.repeat(Math.max(vge(r,i)+1,3)),u=n.enter("codeFenced");let d=l.move(c);if(e.lang){const f=n.enter(`codeFencedLang${a}`);d+=l.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${a}`);d+=l.move(" "),d+=l.move(n.safe(e.meta,{before:d,after:` +`}),n}function WO(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function XO(e,t){const n=cpe(e,t),s=n.one(e,void 0),i=Jme(n),r=Array.isArray(s)?{type:"root",children:s}:s||{type:"root",children:[]};return i&&r.children.push({type:"text",value:` +`},i),r}function mpe(e,t){return e&&"run"in e?async function(n,s){const i=XO(n,{file:s,...t});await e.run(i,s)}:function(n,s){return XO(n,{file:s,...e||t})}}function QO(e){if(e)throw e}var vb=Object.prototype.hasOwnProperty,DU=Object.prototype.toString,ZO=Object.defineProperty,JO=Object.getOwnPropertyDescriptor,eM=function(t){return typeof Array.isArray=="function"?Array.isArray(t):DU.call(t)==="[object Array]"},tM=function(t){if(!t||DU.call(t)!=="[object Object]")return!1;var n=vb.call(t,"constructor"),s=t.constructor&&t.constructor.prototype&&vb.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!s)return!1;var i;for(i in t);return typeof i>"u"||vb.call(t,i)},nM=function(t,n){ZO&&n.name==="__proto__"?ZO(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},sM=function(t,n){if(n==="__proto__")if(vb.call(t,n)){if(JO)return JO(t,n).value}else return;return t[n]},ppe=function e(){var t,n,s,i,r,a,l=arguments[0],c=1,u=arguments.length,d=!1;for(typeof l=="boolean"&&(d=l,l=arguments[1]||{},c=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});ca.length;let c;l&&a.push(i);try{c=e.apply(this,a)}catch(u){const d=u;if(l&&n)throw d;return i(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(r,i):c instanceof Error?i(c):r(c))}function i(a,...l){n||(n=!0,t(a,...l))}function r(a){i(null,a)}}const Ma={basename:ype,dirname:xpe,extname:Epe,join:vpe,sep:"/"};function ype(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');og(e);let n=0,s=-1,i=e.length,r;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(r){n=i+1;break}}else s<0&&(r=!0,s=i+1);return s<0?"":e.slice(n,s)}if(t===e)return"";let a=-1,l=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(r){n=i+1;break}}else a<0&&(r=!0,a=i+1),l>-1&&(e.codePointAt(i)===t.codePointAt(l--)?l<0&&(s=i):(l=-1,s=a));return n===s?s=a:s<0&&(s=e.length),e.slice(n,s)}function xpe(e){if(og(e),e.length===0)return".";let t=-1,n=e.length,s;for(;--n;)if(e.codePointAt(n)===47){if(s){t=n;break}}else s||(s=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function Epe(e){og(e);let t=e.length,n=-1,s=0,i=-1,r=0,a;for(;t--;){const l=e.codePointAt(t);if(l===47){if(a){s=t+1;break}continue}n<0&&(a=!0,n=t+1),l===46?i<0?i=t:r!==1&&(r=1):i>-1&&(r=-1)}return i<0||n<0||r===0||r===1&&i===n-1&&i===s+1?"":e.slice(i,n)}function vpe(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Spe(e,t){let n="",s=0,i=-1,r=0,a=-1,l,c;for(;++a<=e.length;){if(a2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",s=0):(n=n.slice(0,c),s=n.length-1-n.lastIndexOf("/")),i=a,r=0;continue}}else if(n.length>0){n="",s=0,i=a,r=0;continue}}t&&(n=n.length>0?n+"/..":"..",s=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),s=a-i-1;i=a,r=0}else l===46&&r>-1?r++:r=-1}return n}function og(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const _pe={cwd:Tpe};function Tpe(){return"/"}function k_(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Npe(e){if(typeof e=="string")e=new URL(e);else if(!k_(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 kpe(e)}function kpe(e){if(e.hostname!==""){const s=new TypeError('File URL host must be "localhost" or empty on darwin');throw s.code="ERR_INVALID_FILE_URL_HOST",s}const t=e.pathname;let n=-1;for(;++n0){let[m,...p]=d;const g=s[h][1];N_(g)&&N_(m)&&(m=Rv(!0,g,m)),s[h]=[u,m,...p]}}}}const Rpe=new t2().freeze();function Lv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Dv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Pv(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 rM(e){if(!N_(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function aM(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function v0(e){return jpe(e)?e:new PU(e)}function jpe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Ope(e){return typeof e=="string"||Mpe(e)}function Mpe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const Lpe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",oM=[],lM={allowDangerousHtml:!0},Dpe=/^(https?|ircs?|mailto|xmpp)$/i,Ppe=[{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 Bpe(e){const t=Upe(e),n=Fpe(e);return $pe(t.runSync(t.parse(n),n),e)}function Upe(e){const t=e.rehypePlugins||oM,n=e.remarkPlugins||oM,s=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...lM}:lM;return Rpe().use(xme).use(n).use(mpe,s).use(t)}function Fpe(e){const t=e.children||"",n=new PU;return typeof t=="string"&&(n.value=t),n}function $pe(e,t){const n=t.allowedElements,s=t.allowElement,i=t.components,r=t.disallowedElements,a=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||Hpe;for(const d of Ppe)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+Lpe+d.id,void 0);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:e.type==="root"?e.children:[e]}),ag(e,u),nfe(e,{Fragment:o.Fragment,components:i,ignoreInvalidStyle:!0,jsx:o.jsx,jsxs:o.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 m;for(m in Av)if(Object.hasOwn(Av,m)&&Object.hasOwn(d.properties,m)){const p=d.properties[m],g=Av[m];(g===null||g.includes(d.tagName))&&(d.properties[m]=c(String(p||""),m,d))}}if(d.type==="element"){let m=n?!n.includes(d.tagName):r?r.includes(d.tagName):!1;if(!m&&s&&typeof f=="number"&&(m=!s(d,f,h)),m&&h&&typeof f=="number")return l&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function Hpe(e){const t=e.indexOf(":"),n=e.indexOf("?"),s=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||s!==-1&&t>s||Dpe.test(e.slice(0,t))?e:""}function cM(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let s=0,i=n.indexOf(t);for(;i!==-1;)s++,i=n.indexOf(t,i+t.length);return s}function zpe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Vpe(e,t,n){const i=rg((n||{}).ignore||[]),r=Gpe(t);let a=-1;for(;++a0?{type:"text",value:S}:void 0),S===!1?h.lastIndex=w+1:(p!==w&&x.push({type:"text",value:u.value.slice(p,w)}),Array.isArray(S)?x.push(...S):S&&x.push(S),p=w+E[0].length,y=!0),!h.global)break;E=h.exec(u.value)}return y?(p?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],s=n.indexOf(")");const i=cM(e,"(");let r=cM(e,")");for(;s!==-1&&i>r;)e+=n.slice(0,s+1),n=n.slice(s+1),s=n.indexOf(")"),r++;return[e,n]}function BU(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Xc(n)||ox(n))&&(!t||n!==47)}UU.peek=mge;function age(){this.buffer()}function oge(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function lge(){this.buffer()}function cge(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function uge(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ya(this.sliceSerialize(e)).toLowerCase(),n.label=t}function dge(e){this.exit(e)}function fge(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ya(this.sliceSerialize(e)).toLowerCase(),n.label=t}function hge(e){this.exit(e)}function mge(){return"["}function UU(e,t,n,s){const i=n.createTracker(s);let r=i.move("[^");const a=n.enter("footnoteReference"),l=n.enter("reference");return r+=i.move(n.safe(n.associationId(e),{after:"]",before:r})),l(),a(),r+=i.move("]"),r}function pge(){return{enter:{gfmFootnoteCallString:age,gfmFootnoteCall:oge,gfmFootnoteDefinitionLabelString:lge,gfmFootnoteDefinition:cge},exit:{gfmFootnoteCallString:uge,gfmFootnoteCall:dge,gfmFootnoteDefinitionLabelString:fge,gfmFootnoteDefinition:hge}}}function gge(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:UU},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(s,i,r,a){const l=r.createTracker(a);let c=l.move("[^");const u=r.enter("footnoteDefinition"),d=r.enter("label");return c+=l.move(r.safe(r.associationId(s),{before:c,after:"]"})),d(),c+=l.move("]:"),s.children&&s.children.length>0&&(l.shift(4),c+=l.move((t?` +`:" ")+r.indentLines(r.containerFlow(s,l.current()),t?FU:bge))),u(),c}}function bge(e,t,n){return t===0?e:FU(e,t,n)}function FU(e,t,n){return(n?"":" ")+e}const yge=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];$U.peek=Sge;function xge(){return{canContainEols:["delete"],enter:{strikethrough:vge},exit:{strikethrough:wge}}}function Ege(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:yge}],handlers:{delete:$U}}}function vge(e){this.enter({type:"delete",children:[]},e)}function wge(e){this.exit(e)}function $U(e,t,n,s){const i=n.createTracker(s),r=n.enter("strikethrough");let a=i.move("~~");return a+=n.containerPhrasing(e,{...i.current(),before:a,after:"~"}),a+=i.move("~~"),r(),a}function Sge(){return"~"}function _ge(e){return e.length}function Tge(e,t){const n=t||{},s=(n.align||[]).concat(),i=n.stringLength||_ge,r=[],a=[],l=[],c=[];let u=0,d=-1;for(;++du&&(u=e[d].length);++yc[y])&&(c[y]=E)}g.push(x)}a[d]=g,l[d]=v}let f=-1;if(typeof s=="object"&&"length"in s)for(;++fc[f]&&(c[f]=x),m[f]=x),h[f]=E}a.splice(1,0,h),l.splice(1,0,m),d=-1;const p=[];for(;++d "),r.shift(2);const a=n.indentLines(n.containerFlow(e,r.current()),Age);return i(),a}function Age(e,t,n){return">"+(n?"":" ")+e}function Cge(e,t){return fM(e,t.inConstruct,!0)&&!fM(e,t.notInConstruct,!1)}function fM(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let s=-1;for(;++sa&&(a=r):r=1,i=s+t.length,s=n.indexOf(t,i);return a}function Rge(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 jge(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 Oge(e,t,n,s){const i=jge(n),r=e.value||"",a=i==="`"?"GraveAccent":"Tilde";if(Rge(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(r,Mge);return f(),h}const l=n.createTracker(s),c=i.repeat(Math.max(Ige(r,i)+1,3)),u=n.enter("codeFenced");let d=l.move(c);if(e.lang){const f=n.enter(`codeFencedLang${a}`);d+=l.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${a}`);d+=l.move(" "),d+=l.move(n.safe(e.meta,{before:d,after:` `,encode:["`"],...l.current()})),f()}return d+=l.move(` `),r&&(d+=l.move(r+` -`)),d+=l.move(c),u(),d}function Tge(e,t,n){return(n?"":" ")+e}function Jk(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 Nge(e,t,n,s){const i=Jk(n),r=i==='"'?"Quote":"Apostrophe",a=n.enter("definition");let l=n.enter("label");const c=n.createTracker(s);let u=c.move("[");return u+=c.move(n.safe(n.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":` -`,...c.current()}))),l(),e.title&&(l=n.enter(`title${r}`),u+=c.move(" "+i),u+=c.move(n.safe(e.title,{before:u,after:i,...c.current()})),u+=c.move(i),l()),a(),u}function kge(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 Ep(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Py(e,t,n){const s=hf(e),i=hf(t);return s===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:s===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}LU.peek=Age;function LU(e,t,n,s){const i=kge(n),r=n.enter("emphasis"),a=n.createTracker(s),l=a.move(i);let c=a.move(n.containerPhrasing(e,{after:i,before:l,...a.current()}));const u=c.charCodeAt(0),d=Py(s.before.charCodeAt(s.before.length-1),u,i);d.inside&&(c=Ep(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=Py(s.after.charCodeAt(0),f,i);h.inside&&(c=c.slice(0,-1)+Ep(f));const m=a.move(i);return r(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+m}function Age(e,t,n){return n.options.emphasis||"*"}function Cge(e,t){let n=!1;return rg(e,function(s){if("value"in s&&/\r?\n|\r/.test(s.value)||s.type==="break")return n=!0,v_}),!!((!e.depth||e.depth<3)&&Gk(e)&&(t.options.setext||n))}function Ige(e,t,n,s){const i=Math.max(Math.min(6,e.depth||1),1),r=n.createTracker(s);if(Cge(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...r.current(),before:` +`)),d+=l.move(c),u(),d}function Mge(e,t,n){return(n?"":" ")+e}function n2(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 Lge(e,t,n,s){const i=n2(n),r=i==='"'?"Quote":"Apostrophe",a=n.enter("definition");let l=n.enter("label");const c=n.createTracker(s);let u=c.move("[");return u+=c.move(n.safe(n.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":` +`,...c.current()}))),l(),e.title&&(l=n.enter(`title${r}`),u+=c.move(" "+i),u+=c.move(n.safe(e.title,{before:u,after:i,...c.current()})),u+=c.move(i),l()),a(),u}function Dge(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 vp(e){return"&#x"+e.toString(16).toUpperCase()+";"}function By(e,t,n){const s=hf(e),i=hf(t);return s===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:s===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}zU.peek=Pge;function zU(e,t,n,s){const i=Dge(n),r=n.enter("emphasis"),a=n.createTracker(s),l=a.move(i);let c=a.move(n.containerPhrasing(e,{after:i,before:l,...a.current()}));const u=c.charCodeAt(0),d=By(s.before.charCodeAt(s.before.length-1),u,i);d.inside&&(c=vp(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=By(s.after.charCodeAt(0),f,i);h.inside&&(c=c.slice(0,-1)+vp(f));const m=a.move(i);return r(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+m}function Pge(e,t,n){return n.options.emphasis||"*"}function Bge(e,t){let n=!1;return ag(e,function(s){if("value"in s&&/\r?\n|\r/.test(s.value)||s.type==="break")return n=!0,__}),!!((!e.depth||e.depth<3)&&Yk(e)&&(t.options.setext||n))}function Uge(e,t,n,s){const i=Math.max(Math.min(6,e.depth||1),1),r=n.createTracker(s);if(Bge(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...r.current(),before:` `,after:` `});return f(),d(),h+` `+(i===1?"=":"-").repeat(h.length-(Math.max(h.lastIndexOf("\r"),h.lastIndexOf(` `))+1))}const a="#".repeat(i),l=n.enter("headingAtx"),c=n.enter("phrasing");r.move(a+" ");let u=n.containerPhrasing(e,{before:"# ",after:` -`,...r.current()});return/^[\t ]/.test(u)&&(u=Ep(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),c(),l(),u}DU.peek=Rge;function DU(e){return e.value||""}function Rge(){return"<"}PU.peek=Oge;function PU(e,t,n,s){const i=Jk(n),r=i==='"'?"Quote":"Apostrophe",a=n.enter("image");let l=n.enter("label");const c=n.createTracker(s);let u=c.move("![");return u+=c.move(n.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=n.enter(`title${r}`),u+=c.move(" "+i),u+=c.move(n.safe(e.title,{before:u,after:i,...c.current()})),u+=c.move(i),l()),u+=c.move(")"),a(),u}function Oge(){return"!"}BU.peek=jge;function BU(e,t,n,s){const i=e.referenceType,r=n.enter("imageReference");let a=n.enter("label");const l=n.createTracker(s);let c=l.move("![");const u=n.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return a(),n.stack=d,r(),i==="full"||!u||u!==f?c+=l.move(f+"]"):i==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function jge(){return"!"}UU.peek=Mge;function UU(e,t,n){let s=e.value||"",i="`",r=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(s);)i+="`";for(/[^ \r\n]/.test(s)&&(/^[ \r\n]/.test(s)&&/[ \r\n]$/.test(s)||/^`|`$/.test(s))&&(s=" "+s+" ");++r\u007F]/.test(e.url))}$U.peek=Lge;function $U(e,t,n,s){const i=Jk(n),r=i==='"'?"Quote":"Apostrophe",a=n.createTracker(s);let l,c;if(FU(e,n)){const d=n.stack;n.stack=[],l=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(e,{before:f,after:">",...a.current()})),f+=a.move(">"),l(),n.stack=d,f}l=n.enter("link"),c=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(e,{before:u,after:"](",...a.current()})),u+=a.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(e.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(c=n.enter("destinationRaw"),u+=a.move(n.safe(e.url,{before:u,after:e.title?" ":")",...a.current()}))),c(),e.title&&(c=n.enter(`title${r}`),u+=a.move(" "+i),u+=a.move(n.safe(e.title,{before:u,after:i,...a.current()})),u+=a.move(i),c()),u+=a.move(")"),l(),u}function Lge(e,t,n){return FU(e,n)?"<":"["}HU.peek=Dge;function HU(e,t,n,s){const i=e.referenceType,r=n.enter("linkReference");let a=n.enter("label");const l=n.createTracker(s);let c=l.move("[");const u=n.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return a(),n.stack=d,r(),i==="full"||!u||u!==f?c+=l.move(f+"]"):i==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function Dge(){return"["}function e2(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 Pge(e){const t=e2(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 Bge(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 zU(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 Uge(e,t,n,s){const i=n.enter("list"),r=n.bulletCurrent;let a=e.ordered?Bge(n):e2(n);const l=e.ordered?a==="."?")":".":Pge(n);let c=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&&(c=!0),zU(n)===a&&d){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+r);let a=r.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const l=n.createTracker(s);l.move(r+" ".repeat(a-r.length)),l.shift(a);const c=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,l.current()),d);return c(),u;function d(f,h,m){return h?(m?"":" ".repeat(a))+f:(m?r:r+" ".repeat(a-r.length))+f}}function Hge(e,t,n,s){const i=n.enter("paragraph"),r=n.enter("phrasing"),a=n.containerPhrasing(e,s);return r(),i(),a}const zge=ig(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Vge(e,t,n,s){return(e.children.some(function(a){return zge(a)})?n.containerPhrasing:n.containerFlow).call(n,e,s)}function Gge(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}VU.peek=Kge;function VU(e,t,n,s){const i=Gge(n),r=n.enter("strong"),a=n.createTracker(s),l=a.move(i+i);let c=a.move(n.containerPhrasing(e,{after:i,before:l,...a.current()}));const u=c.charCodeAt(0),d=Py(s.before.charCodeAt(s.before.length-1),u,i);d.inside&&(c=Ep(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=Py(s.after.charCodeAt(0),f,i);h.inside&&(c=c.slice(0,-1)+Ep(f));const m=a.move(i+i);return r(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+m}function Kge(e,t,n){return n.options.strong||"*"}function qge(e,t,n,s){return n.safe(e.value,s)}function Yge(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 Wge(e,t,n){const s=(zU(n)+(n.options.ruleSpaces?" ":"")).repeat(Yge(n));return n.options.ruleSpaces?s.slice(0,-1):s}const GU={blockquote:yge,break:uM,code:_ge,definition:Nge,emphasis:LU,hardBreak:uM,heading:Ige,html:DU,image:PU,imageReference:BU,inlineCode:UU,link:$U,linkReference:HU,list:Uge,listItem:$ge,paragraph:Hge,root:Vge,strong:VU,text:qge,thematicBreak:Wge};function Xge(){return{enter:{table:Qge,tableData:dM,tableHeader:dM,tableRow:Jge},exit:{codeText:e0e,table:Zge,tableData:Bv,tableHeader:Bv,tableRow:Bv}}}function Qge(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 Zge(e){this.exit(e),this.data.inTable=void 0}function Jge(e){this.enter({type:"tableRow",children:[]},e)}function Bv(e){this.exit(e)}function dM(e){this.enter({type:"tableCell",children:[]},e)}function e0e(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,t0e));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function t0e(e,t){return t==="|"?t:e}function n0e(e){const t=e||{},n=t.tableCellPadding,s=t.tablePipeAlign,i=t.stringLength,r=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,...r.current()});return/^[\t ]/.test(u)&&(u=vp(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),c(),l(),u}VU.peek=Fge;function VU(e){return e.value||""}function Fge(){return"<"}GU.peek=$ge;function GU(e,t,n,s){const i=n2(n),r=i==='"'?"Quote":"Apostrophe",a=n.enter("image");let l=n.enter("label");const c=n.createTracker(s);let u=c.move("![");return u+=c.move(n.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=n.enter(`title${r}`),u+=c.move(" "+i),u+=c.move(n.safe(e.title,{before:u,after:i,...c.current()})),u+=c.move(i),l()),u+=c.move(")"),a(),u}function $ge(){return"!"}KU.peek=Hge;function KU(e,t,n,s){const i=e.referenceType,r=n.enter("imageReference");let a=n.enter("label");const l=n.createTracker(s);let c=l.move("![");const u=n.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return a(),n.stack=d,r(),i==="full"||!u||u!==f?c+=l.move(f+"]"):i==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function Hge(){return"!"}qU.peek=zge;function qU(e,t,n){let s=e.value||"",i="`",r=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(s);)i+="`";for(/[^ \r\n]/.test(s)&&(/^[ \r\n]/.test(s)&&/[ \r\n]$/.test(s)||/^`|`$/.test(s))&&(s=" "+s+" ");++r\u007F]/.test(e.url))}WU.peek=Vge;function WU(e,t,n,s){const i=n2(n),r=i==='"'?"Quote":"Apostrophe",a=n.createTracker(s);let l,c;if(YU(e,n)){const d=n.stack;n.stack=[],l=n.enter("autolink");let f=a.move("<");return f+=a.move(n.containerPhrasing(e,{before:f,after:">",...a.current()})),f+=a.move(">"),l(),n.stack=d,f}l=n.enter("link"),c=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(e,{before:u,after:"](",...a.current()})),u+=a.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(e.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(c=n.enter("destinationRaw"),u+=a.move(n.safe(e.url,{before:u,after:e.title?" ":")",...a.current()}))),c(),e.title&&(c=n.enter(`title${r}`),u+=a.move(" "+i),u+=a.move(n.safe(e.title,{before:u,after:i,...a.current()})),u+=a.move(i),c()),u+=a.move(")"),l(),u}function Vge(e,t,n){return YU(e,n)?"<":"["}XU.peek=Gge;function XU(e,t,n,s){const i=e.referenceType,r=n.enter("linkReference");let a=n.enter("label");const l=n.createTracker(s);let c=l.move("[");const u=n.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),a();const d=n.stack;n.stack=[],a=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return a(),n.stack=d,r(),i==="full"||!u||u!==f?c+=l.move(f+"]"):i==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function Gge(){return"["}function s2(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 Kge(e){const t=s2(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 qge(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 QU(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 Yge(e,t,n,s){const i=n.enter("list"),r=n.bulletCurrent;let a=e.ordered?qge(n):s2(n);const l=e.ordered?a==="."?")":".":Kge(n);let c=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&&(c=!0),QU(n)===a&&d){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+r);let a=r.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const l=n.createTracker(s);l.move(r+" ".repeat(a-r.length)),l.shift(a);const c=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,l.current()),d);return c(),u;function d(f,h,m){return h?(m?"":" ".repeat(a))+f:(m?r:r+" ".repeat(a-r.length))+f}}function Qge(e,t,n,s){const i=n.enter("paragraph"),r=n.enter("phrasing"),a=n.containerPhrasing(e,s);return r(),i(),a}const Zge=rg(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Jge(e,t,n,s){return(e.children.some(function(a){return Zge(a)})?n.containerPhrasing:n.containerFlow).call(n,e,s)}function e0e(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}ZU.peek=t0e;function ZU(e,t,n,s){const i=e0e(n),r=n.enter("strong"),a=n.createTracker(s),l=a.move(i+i);let c=a.move(n.containerPhrasing(e,{after:i,before:l,...a.current()}));const u=c.charCodeAt(0),d=By(s.before.charCodeAt(s.before.length-1),u,i);d.inside&&(c=vp(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=By(s.after.charCodeAt(0),f,i);h.inside&&(c=c.slice(0,-1)+vp(f));const m=a.move(i+i);return r(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+m}function t0e(e,t,n){return n.options.strong||"*"}function n0e(e,t,n,s){return n.safe(e.value,s)}function s0e(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 i0e(e,t,n){const s=(QU(n)+(n.options.ruleSpaces?" ":"")).repeat(s0e(n));return n.options.ruleSpaces?s.slice(0,-1):s}const JU={blockquote:kge,break:hM,code:Oge,definition:Lge,emphasis:zU,hardBreak:hM,heading:Uge,html:VU,image:GU,imageReference:KU,inlineCode:qU,link:WU,linkReference:XU,list:Yge,listItem:Xge,paragraph:Qge,root:Jge,strong:ZU,text:n0e,thematicBreak:i0e};function r0e(){return{enter:{table:a0e,tableData:mM,tableHeader:mM,tableRow:l0e},exit:{codeText:c0e,table:o0e,tableData:$v,tableHeader:$v,tableRow:$v}}}function a0e(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 o0e(e){this.exit(e),this.data.inTable=void 0}function l0e(e){this.enter({type:"tableRow",children:[]},e)}function $v(e){this.exit(e)}function mM(e){this.enter({type:"tableCell",children:[]},e)}function c0e(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,u0e));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function u0e(e,t){return t==="|"?t:e}function d0e(e){const t=e||{},n=t.tableCellPadding,s=t.tablePipeAlign,i=t.stringLength,r=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:c,tableRow:l}};function a(m,p,g,v){return u(d(m,g,v),m.align)}function l(m,p,g,v){const y=f(m,g,v),x=u([y]);return x.slice(0,x.indexOf(` -`))}function c(m,p,g,v){const y=g.enter("tableCell"),x=g.enter("phrasing"),E=g.containerPhrasing(m,{...v,before:r,after:r});return x(),y(),E}function u(m,p){return gge(m,{align:p,alignDelimiters:s,padding:n,stringLength:i})}function d(m,p,g){const v=m.children;let y=-1;const x=[],E=p.enter("table");for(;++y0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const E0e={tokenize:A0e,partial:!0};function v0e(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:T0e,continuation:{tokenize:N0e},exit:k0e}},text:{91:{name:"gfmFootnoteCall",tokenize:_0e},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:w0e,resolveTo:S0e}}}}function w0e(e,t,n){const s=this;let i=s.events.length;const r=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let a;for(;i--;){const c=s.events[i][1];if(c.type==="labelImage"){a=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!a||!a._balanced)return n(c);const u=ya(s.sliceSerialize({start:a.end,end:s.now()}));return u.codePointAt(0)!==94||!r.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function S0e(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 s={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const r={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},r.start),end:Object.assign({},r.end)},l=[e[n+1],e[n+2],["enter",s,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",r,t],["enter",a,t],["exit",a,t],["exit",r,t],e[e.length-2],e[e.length-1],["exit",s,t]];return e.splice(n,e.length-n+1,...l),e}function _0e(e,t,n){const s=this,i=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let r=0,a;return l;function l(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),c}function c(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(r>999||f===93&&!a||f===null||f===91||Bn(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return i.includes(ya(s.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return Bn(f)||(a=!0),r++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),r++,u):u(f)}}function T0e(e,t,n){const s=this,i=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let r,a=0,l;return c;function c(p){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(p){return p===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(p)}function d(p){if(a>999||p===93&&!l||p===null||p===91||Bn(p))return n(p);if(p===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return r=ya(s.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return Bn(p)||(l=!0),a++,e.consume(p),p===92?f:d}function f(p){return p===91||p===92||p===93?(e.consume(p),a++,d):d(p)}function h(p){return p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),i.includes(r)||i.push(r),sn(e,m,"gfmFootnoteDefinitionWhitespace")):n(p)}function m(p){return t(p)}}function N0e(e,t,n){return e.check(sg,t,e.attempt(E0e,t,n))}function k0e(e){e.exit("gfmFootnoteDefinition")}function A0e(e,t,n){const s=this;return sn(e,i,"gfmFootnoteDefinitionIndent",5);function i(r){const a=s.events[s.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(r):n(r)}}function C0e(e){let n=(e||{}).singleTilde;const s={name:"strikethrough",tokenize:r,resolveAll:i};return n==null&&(n=!0),{text:{126:s},insideSpan:{null:[s]},attentionMarkers:{null:[126]}};function i(a,l){let c=-1;for(;++c1?c(p):(a.consume(p),f++,m);if(f<2&&!n)return c(p);const v=a.exit("strikethroughSequenceTemporary"),y=hf(p);return v._open=!y||y===2&&!!g,v._close=!g||g===2&&!!y,l(p)}}}class I0e{constructor(){this.map=[]}add(t,n,s){R0e(this,t,n,s)}consume(t){if(this.map.sort(function(r,a){return r[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const s=[];for(;n>0;)n-=1,s.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];s.push(t.slice()),t.length=0;let i=s.pop();for(;i;){for(const r of i)t.push(r);i=s.pop()}this.map.length=0}}function R0e(e,t,n,s){let i=0;if(!(n===0&&s.length===0)){for(;i-1;){const D=s.events[M][1].type;if(D==="lineEnding"||D==="linePrefix")M--;else break}const L=M>-1?s.events[M][1].type:null,G=L==="tableHead"||L==="tableRow"?S:c;return G===S&&s.parser.lazy[s.now().line]?n(R):G(R)}function c(R){return e.enter("tableHead"),e.enter("tableRow"),u(R)}function u(R){return R===124||(a=!0,r+=1),d(R)}function d(R){return R===null?n(R):gt(R)?r>1?(r=0,s.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),m):n(R):Wt(R)?sn(e,d,"whitespace")(R):(r+=1,a&&(a=!1,i+=1),R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(R)))}function f(R){return R===null||R===124||Bn(R)?(e.exit("data"),d(R)):(e.consume(R),R===92?h:f)}function h(R){return R===92||R===124?(e.consume(R),f):f(R)}function m(R){return s.interrupt=!1,s.parser.lazy[s.now().line]?n(R):(e.enter("tableDelimiterRow"),a=!1,Wt(R)?sn(e,p,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):p(R))}function p(R){return R===45||R===58?v(R):R===124?(a=!0,e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),g):T(R)}function g(R){return Wt(R)?sn(e,v,"whitespace")(R):v(R)}function v(R){return R===58?(r+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),y):R===45?(r+=1,y(R)):R===null||gt(R)?w(R):T(R)}function y(R){return R===45?(e.enter("tableDelimiterFiller"),x(R)):T(R)}function x(R){return R===45?(e.consume(R),x):R===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(R))}function E(R){return Wt(R)?sn(e,w,"whitespace")(R):w(R)}function w(R){return R===124?p(R):R===null||gt(R)?!a||i!==r?T(R):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(R)):T(R)}function T(R){return n(R)}function S(R){return e.enter("tableRow"),k(R)}function k(R){return R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),k):R===null||gt(R)?(e.exit("tableRow"),t(R)):Wt(R)?sn(e,k,"whitespace")(R):(e.enter("data"),A(R))}function A(R){return R===null||R===124||Bn(R)?(e.exit("data"),k(R)):(e.consume(R),R===92?C:A)}function C(R){return R===92||R===124?(e.consume(R),A):A(R)}}function L0e(e,t){let n=-1,s=!0,i=0,r=[0,0,0,0],a=[0,0,0,0],l=!1,c=0,u,d,f;const h=new I0e;for(;++nn[2]+1){const p=n[2]+1,g=n[3]-n[2]-1;e.add(p,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return i!==void 0&&(r.end=Object.assign({},Gu(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function hM(e,t,n,s,i){const r=[],a=Gu(t.events,n);i&&(i.end=Object.assign({},a),r.push(["exit",i,t])),s.end=Object.assign({},a),r.push(["exit",s,t]),e.add(n+1,0,r)}function Gu(e,t){const n=e[t],s=n[0]==="enter"?"start":"end";return n[1][s]}const D0e={name:"tasklistCheck",tokenize:B0e};function P0e(){return{text:{91:D0e}}}function B0e(e,t,n){const s=this;return i;function i(c){return s.previous!==null||!s._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),r)}function r(c){return Bn(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),a):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),a):n(c)}function a(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):n(c)}function l(c){return gt(c)?t(c):Wt(c)?e.check({tokenize:U0e},t,n)(c):n(c)}}function U0e(e,t,n){return sn(e,s,"whitespace");function s(i){return i===null?n(i):t(i)}}function F0e(e){return lU([d0e(),v0e(),C0e(e),j0e(),P0e()])}const $0e={};function H0e(e){const t=this,n=e||$0e,s=t.data(),i=s.micromarkExtensions||(s.micromarkExtensions=[]),r=s.fromMarkdownExtensions||(s.fromMarkdownExtensions=[]),a=s.toMarkdownExtensions||(s.toMarkdownExtensions=[]);i.push(F0e(n)),r.push(o0e()),a.push(l0e(n))}const mM=function(e,t,n){const s=ig(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&&c.push(` -`.repeat(u)||" "),u=-1,c.push(d))}return c.join("")}function t7(e,t,n){return e.type==="element"?X0e(e,t,n):e.type==="text"?n.whitespace==="normal"?n7(e,n):Q0e(e):[]}function X0e(e,t,n){const s=s7(e,n),i=e.children||[];let r=-1,a=[];if(Y0e(e))return a;let l,c;for(N_(e)||yM(e)&&mM(t,e,yM)?c=` -`:q0e(e)?(l=2,c=2):e7(e)&&(l=1,c=1);++r]+>")+")",l={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(i)+e.IDENT_RE,relevance:0},m=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["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"],v=["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"],y=["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"],w={type:g,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},T={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[T,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:S.concat([{begin:/\(/,end:/\)/,keywords:w,contains:S.concat(["self"]),relevance:0}]),relevance:0},A={className:"function",begin:"("+a+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:m,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function ibe(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=sbe(e),s=n.keywords;return s.type=[...s.type,...t.type],s.literal=[...s.literal,...t.literal],s.built_in=[...s.built_in,...t.built_in],s._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function i7(e){const t=e.regex,n={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r=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"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(l);const c={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"],m=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),p={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"],v=["true","false"],y={match:/(\/[a-z._-]+)+/},x=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],E=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],w=["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"],T=["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:v,built_in:[...x,...E,"set","shopt",...w,...T]},contains:[m,e.SHEBANG(),p,f,r,a,y,l,c,u,d,n]}}function rbe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="("+s+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={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(i)+e.IDENT_RE,relevance:0},m=t.optional(i)+e.IDENT_RE+"\\s*\\(",v={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"},y=[f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:y.concat([{begin:/\(/,end:/\)/,keywords:v,contains:y.concat(["self"]),relevance:0}]),relevance:0},E={begin:"("+a+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:v,relevance:0},{begin:m,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:v,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:v}}}function abe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="(?!struct)("+s+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={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(i)+e.IDENT_RE,relevance:0},m=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["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"],v=["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"],y=["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"],w={type:g,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},T={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[T,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:S.concat([{begin:/\(/,end:/\)/,keywords:w,contains:S.concat(["self"]),relevance:0}]),relevance:0},A={className:"function",begin:"("+a+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:m,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function obe(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"],s=["default","false","null","true"],i=["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"],r=["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:i.concat(r),built_in:t,literal:s},l=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},m=e.inherit(h,{illegal:/\n/}),p={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,m]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},v=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},m]});h.contains=[g,p,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],m.contains=[v,p,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const y={variants:[u,g,p,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},x={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},E=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",w={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"}},y,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,x,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,x,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:"("+E+"\\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,x],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[y,c,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},w]}}const lbe=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_-]*/}}),cbe=["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"],ube=["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"],dbe=[...cbe,...ube],fbe=["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(),hbe=["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(),mbe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),pbe=["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 gbe(e){const t=e.regex,n=lbe(e),s={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",r=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",l=[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,s,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:":("+hbe.join("|")+")"},{begin:":(:)?("+mbe.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+pbe.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:r},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:fbe.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+dbe.join("|")+")\\b"}]}}function bbe(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 ybe(e){const r={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:r,illegal:"a7(e,t,n-1))}function Ebe(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",s=n+a7("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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:c,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,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:["(?:"+s+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,xM,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},xM,u]}}const EM="[A-Za-z$_][0-9A-Za-z$_]*",vbe=["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"],wbe=["true","false","null","undefined","NaN","Infinity"],o7=["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"],l7=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],c7=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Sbe=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],_be=[].concat(c7,o7,l7);function u7(e){const t=e.regex,n=(P,{after:$})=>{const I="",end:""},r=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,$)=>{const I=P[0].length+P.index,q=P.input[I];if(q==="<"||q===","){$.ignoreMatch();return}q===">"&&(n(P,{after:I})||$.ignoreMatch());let Q;const B=P.input.substring(I);if(Q=B.match(/^\s*=/)){$.ignoreMatch();return}if((Q=B.match(/^\s+extends\s+/))&&Q.index===0){$.ignoreMatch();return}}},l={$pattern:EM,keyword:vbe,literal:wbe,built_in:_be,"variable.language":Sbe},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\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:l,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},p={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"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},x={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:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,{match:/\$\d+/},f];h.contains=E.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(E)});const w=[].concat(x,h.contains),T=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:T},k={variants:[{match:[/class/,/\s+/,s,/\s+/,/extends/,/\s+/,t.concat(s,"(",t.concat(/\./,s),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,s],scope:{1:"keyword",3:"title.class"}}]},A={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:{_:[...o7,...l7]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,s,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function L(P){return t.concat("(?!",P.join("|"),")")}const G={match:t.concat(/\b/,L([...c7,"super","import"].map(P=>`${P}\\s*\\(`)),s,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(s,/(?![0-9A-Za-z$_(])/))),end:s,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},F={match:[/get|set/,/\s+/,s,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",O={match:[/const|var|let/,/\s+/,s,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:A},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,x,{match:/\$\d+/},f,A,{scope:"attr",match:s+t.lookahead(":"),relevance:0},O,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[x,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:l,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:r},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:s,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+s,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},G,M,k,F,{match:/\$[(.]/}]}}function d7(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],i={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:s},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var qu="[0-9](_*[0-9])*",_0=`\\.(${qu})`,T0="[0-9a-fA-F](_*[0-9a-fA-F])*",Tbe={className:"number",variants:[{begin:`(\\b(${qu})((${_0})|\\.)?|(${_0}))[eE][+-]?(${qu})[fFdD]?\\b`},{begin:`\\b(${qu})((${_0})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${_0})[fFdD]?\\b`},{begin:`\\b(${qu})[fFdD]\\b`},{begin:`\\b0[xX]((${T0})\\.?|(${T0})?\\.(${T0}))[pP][+-]?(${qu})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${T0})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Nbe(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+/}]}},s={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},r={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[r,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,r,i]}]};i.contains.push(a);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=Tbe,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,s,l,c,{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,l,c,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},l,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}const kbe=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_-]*/}}),Abe=["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"],Cbe=["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"],Ibe=[...Abe,...Cbe],Rbe=["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(),f7=["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(),h7=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Obe=["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(),jbe=f7.concat(h7).sort().reverse();function Mbe(e){const t=kbe(e),n=jbe,s="and or not only",i="[\\w-]+",r="("+i+"|@\\{"+i+"\\})",a=[],l=[],c=function(E){return{className:"string",begin:"~?"+E+".*?"+E}},u=function(E,w,T){return{className:E,begin:w,relevance:T}},d={$pattern:/[a-z-]+/,keyword:s,attribute:Rbe.join(" ")},f={begin:"\\(",end:"\\)",contains:l,keywords:d,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+i,10),u("variable","@\\{"+i+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=l.concat({begin:/\{/,end:/\}/,contains:a}),m={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},p={begin:r+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Obe.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},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:l,relevance:0}},v={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:h}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:r,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,u("keyword","all\\b"),u("variable","@\\{"+i+"\\}"),{begin:"\\b("+Ibe.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",r,0),u("selector-id","#"+r),u("selector-class","\\."+r,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+f7.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+h7.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},x={begin:i+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,v,x,p,y,m,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function Lbe(e){const t="\\[=*\\[",n="\\]=*\\]",s={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[s],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:i.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:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[s],relevance:5}])}}function m7(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},s={begin:"^[-\\*]{3,}",end:"$"},i={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}]},r={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}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),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 m=[n,c];return[u,d,f,h].forEach(y=>{y.contains=y.contains.concat(m)}),m=m.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:m},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:m}]}]},n,r,u,d,{className:"quote",begin:"^>\\s+",contains:m,end:"$"},i,s,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Dbe(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_]*/,l={"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"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function Pbe(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"],s=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(" ")},r={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},a={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},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,r,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,v,y="\\1")=>{const x=y==="\\1"?y:t.concat(y,v);return t.concat(t.concat("(?:",g,")"),v,/(?:\\.|[^\\\/])*?/,x,/(?:\\.|[^\\\/])*?/,y,s)},m=(g,v,y)=>t.concat(t.concat("(?:",g,")"),v,/(?:\\.|[^\\\/])*?/,y,s),p=[c,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:m("(?:m|qr)?",/\//,/\//)},{begin:m("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:m("m|qr",/\(/,/\)/)},{begin:m("m|qr",/\[/,/\]/)},{begin:m("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return r.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:p}}function Bbe(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,s=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),r=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+s},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={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(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(D,F)=>{F.data._beginMatch=D[1]||D[2]},"on:end":(D,F)=>{F.data._beginMatch!==D[1]&&F.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),m=`[ -]`,p={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},v=["false","null","true"],y=["__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"],x=["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"],w={keyword:y,literal:(D=>{const F=[];return D.forEach(N=>{F.push(N),N.toLowerCase()===N?F.push(N.toUpperCase()):F.push(N.toLowerCase())}),F})(v),built_in:x},T=D=>D.map(F=>F.replace(/\|\d+$/,"")),S={variants:[{match:[/new/,t.concat(m,"+"),t.concat("(?!",T(x).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(s,"\\b(?!\\()"),A={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(s,t.lookahead(":"),t.lookahead(/(?!::)/))},R={relevance:0,begin:/\(/,end:/\)/,keywords:w,contains:[C,a,A,e.C_BLOCK_COMMENT_MODE,p,g,S]},M={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",T(y).join("\\b|"),"|",T(x).join("\\b|"),"\\b)"),s,t.concat(m,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[R]};R.contains.push(M);const L=[C,A,e.C_BLOCK_COMMENT_MODE,p,g,S],G={begin:t.concat(/#\[\s*\\?/,t.either(i,r)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:v,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:v,keyword:["new","array"]},contains:["self",...L]},...L,{scope:"meta",variants:[{match:i},{match:r}]}]};return{case_insensitive:!1,keywords:w,contains:[G,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}]}},l,{scope:"variable.language",match:/\$this\b/},a,M,A,{match:[/const/,/\s/,s],scope:{1:"keyword",3:"variable.constant"}},S,{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:w,contains:["self",G,a,A,e.C_BLOCK_COMMENT_MODE,p,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]},p,g]}}function Ube(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 Fbe(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function g7(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),s=["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"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,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,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,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])*",m=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,p=`\\b|${s.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${m}))[eE][+-]?(${h})[jJ]?(?=${p})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${p})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${p})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${p})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${p})`},{begin:`\\b(${h})[jJ](?=${p})`}]},v={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},y={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,v,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[y]},{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,y,f]}]}}function $be(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Hbe(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,s=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]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=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:[i,s]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,s]},{scope:{1:"punctuation",2:"number"},match:[r,s]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,s]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function zbe(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(s,/(::\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"]},l={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],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",m="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${m}))?([eE][+-]?(${m})|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}]},S=[f,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:s,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},p,{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(c,u),relevance:0}].concat(c,u);d.contains=S,g.contains=S;const R=[{begin:/^\s*=>/,starts:{end:"$",contains:S}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:S}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(R).concat(u).concat(S)}}function Vbe(e){const t=e.regex,n=/(r#)?/,s=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),r={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",l=["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"],c=["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:l,literal:c,built_in:u},illegal:""},r]}}const Gbe=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_-]*/}}),Kbe=["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"],qbe=["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"],Ybe=[...Kbe,...qbe],Wbe=["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(),Xbe=["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(),Qbe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Zbe=["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 Jbe(e){const t=Gbe(e),n=Qbe,s=Xbe,i="@[a-z-]+",r="and or not only",l={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("+Ybe.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+s.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},l,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Zbe.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,l,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:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Wbe.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},l,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function eye(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function tye(e){const t=e.regex,n=e.COMMENT("--","$"),s={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},r=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],l=["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"],c=["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"],m=d,p=[...u,...c].filter(T=>!d.includes(T)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},v={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:t.concat(/\b/,t.either(...m),/\s*\(/),relevance:0,keywords:{built_in:m}};function x(T){return t.concat(/\b/,t.either(...T.map(S=>S.replace(/\s+/,"\\s+"))),/\b/)}const E={scope:"keyword",match:x(h),relevance:0};function w(T,{exceptions:S,when:k}={}){const A=k;return S=S||[],T.map(C=>C.match(/\|\d+$/)||S.includes(C)?C:A(C)?`${C}|0`:C)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:w(p,{when:T=>T.length<3}),literal:r,type:l,built_in:f},contains:[{scope:"type",match:x(a)},E,y,g,s,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,v]}}function b7(e){return e?typeof e=="string"?e:e.source:null}function Ih(e){return kn("(?=",e,")")}function kn(...e){return e.map(n=>b7(n)).join("")}function nye(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Ui(...e){return"("+(nye(e).capture?"":"?:")+e.map(s=>b7(s)).join("|")+")"}const s2=e=>kn(/\b/,e,/\w$/.test(e)?/\b/:/\B/),sye=["Protocol","Type"].map(s2),vM=["init","self"].map(s2),iye=["Any","Self"],Uv=["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"],wM=["false","nil","true"],rye=["assignment","associativity","higherThan","left","lowerThan","none","right"],aye=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],SM=["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"],y7=Ui(/[/=\-+!*%<>&|^~?]/,/[\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]/),x7=Ui(y7,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Fv=kn(y7,x7,"*"),E7=Ui(/[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]/),By=Ui(E7,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),ja=kn(E7,By,"*"),N0=kn(/[A-Z]/,By,"*"),oye=["attached","autoclosure",kn(/convention\(/,Ui("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",kn(/objc\(/,ja,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],lye=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function cye(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,Ui(...sye,...vM)],className:{2:"keyword"}},r={match:kn(/\./,Ui(...Uv)),relevance:0},a=Uv.filter(oe=>typeof oe=="string").concat(["_|0"]),l=Uv.filter(oe=>typeof oe!="string").concat(iye).map(s2),c={variants:[{className:"keyword",match:Ui(...l,...vM)}]},u={$pattern:Ui(/\b\w+/,/#\w+/),keyword:a.concat(aye),literal:wM},d=[i,r,c],f={match:kn(/\./,Ui(...SM)),relevance:0},h={className:"built_in",match:kn(/\b/,Ui(...SM),/(?=\()/)},m=[f,h],p={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:Fv},{match:`\\.(\\.|${x7})+`}]},v=[p,g],y="([0-9]_*)+",x="([0-9a-fA-F]_*)+",E={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},w=(oe="")=>({className:"subst",variants:[{match:kn(/\\/,oe,/[0\\tnr"']/)},{match:kn(/\\/,oe,/u\{[0-9a-fA-F]{1,8}\}/)}]}),T=(oe="")=>({className:"subst",match:kn(/\\/,oe,/[\t ]*(?:[\r\n]|\r\n)/)}),S=(oe="")=>({className:"subst",label:"interpol",begin:kn(/\\/,oe,/\(/),end:/\)/}),k=(oe="")=>({begin:kn(oe,/"""/),end:kn(/"""/,oe),contains:[w(oe),T(oe),S(oe)]}),A=(oe="")=>({begin:kn(oe,/"/),end:kn(/"/,oe),contains:[w(oe),S(oe)]}),C={className:"string",variants:[k(),k("#"),k("##"),k("###"),A(),A("#"),A("##"),A("###")]},R=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],M={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:R},L=oe=>{const Te=kn(oe,/\//),xe=kn(/\//,oe);return{begin:Te,end:xe,contains:[...R,{scope:"comment",begin:`#(?!.*${xe})`,end:/$/}]}},G={scope:"regexp",variants:[L("###"),L("##"),L("#"),M]},D={match:kn(/`/,ja,/`/)},F={className:"variable",match:/\$\d+/},N={className:"variable",match:`\\$${By}+`},O=[D,F,N],P={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:lye,contains:[...v,E,C]}]}},$={scope:"keyword",match:kn(/@/,Ui(...oye),Ih(Ui(/\(/,/\s+/)))},I={scope:"meta",match:kn(/@/,ja)},q=[P,$,I],Q={match:Ih(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:kn(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,By,"+")},{className:"type",match:N0,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:kn(/\s+&\s+/,Ih(N0)),relevance:0}]},B={begin://,keywords:u,contains:[...s,...d,...q,p,Q]};Q.contains.push(B);const ee={match:kn(ja,/\s*:/),keywords:"_|0",relevance:0},z={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",ee,...s,G,...d,...m,...v,E,C,...O,...q,Q]},K={begin://,keywords:"repeat each",contains:[...s,Q]},se={begin:Ui(Ih(kn(ja,/\s*:/)),Ih(kn(ja,/\s+/,ja,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:ja}]},W={begin:/\(/,end:/\)/,keywords:u,contains:[se,...s,...d,...v,E,C,...q,Q,z],endsParent:!0,illegal:/["']/},de={match:[/(func|macro)/,/\s+/,Ui(D.match,ja,Fv)],className:{1:"keyword",3:"title.function"},contains:[K,W,t],illegal:[/\[/,/%/]},ye={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[K,W,t],illegal:/\[|%/},we={match:[/operator/,/\s+/,Fv],className:{1:"keyword",3:"title"}},ue={begin:[/precedencegroup/,/\s+/,N0],className:{1:"keyword",3:"title"},contains:[Q],keywords:[...rye,...wM],end:/}/},he={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Re={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},pe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,ja,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[K,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:N0},...d],relevance:0}]};for(const oe of C.variants){const Te=oe.contains.find(Xe=>Xe.label==="interpol");Te.keywords=u;const xe=[...d,...m,...v,E,C,...O];Te.contains=[...xe,{begin:/\(/,end:/\)/,contains:["self",...xe]}]}return{name:"Swift",keywords:u,contains:[...s,de,ye,he,Re,pe,we,ue,{beginKeywords:"import",end:/$/,contains:[...s],relevance:0},G,...d,...m,...v,E,C,...O,...q,Q,z]}}const Uy="[A-Za-z$_][0-9A-Za-z$_]*",v7=["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"],w7=["true","false","null","undefined","NaN","Infinity"],S7=["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"],_7=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],T7=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],N7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],k7=[].concat(T7,S7,_7);function uye(e){const t=e.regex,n=(P,{after:$})=>{const I="",end:""},r=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,$)=>{const I=P[0].length+P.index,q=P.input[I];if(q==="<"||q===","){$.ignoreMatch();return}q===">"&&(n(P,{after:I})||$.ignoreMatch());let Q;const B=P.input.substring(I);if(Q=B.match(/^\s*=/)){$.ignoreMatch();return}if((Q=B.match(/^\s+extends\s+/))&&Q.index===0){$.ignoreMatch();return}}},l={$pattern:Uy,keyword:v7,literal:w7,built_in:k7,"variable.language":N7},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\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:l,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},p={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"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},x={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:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,{match:/\$\d+/},f];h.contains=E.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(E)});const w=[].concat(x,h.contains),T=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:T},k={variants:[{match:[/class/,/\s+/,s,/\s+/,/extends/,/\s+/,t.concat(s,"(",t.concat(/\./,s),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,s],scope:{1:"keyword",3:"title.class"}}]},A={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:{_:[...S7,..._7]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,s,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function L(P){return t.concat("(?!",P.join("|"),")")}const G={match:t.concat(/\b/,L([...T7,"super","import"].map(P=>`${P}\\s*\\(`)),s,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(s,/(?![0-9A-Za-z$_(])/))),end:s,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},F={match:[/get|set/,/\s+/,s,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",O={match:[/const|var|let/,/\s+/,s,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:A},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,x,{match:/\$\d+/},f,A,{scope:"attr",match:s+t.lookahead(":"),relevance:0},O,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[x,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:l,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:r},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:s,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+s,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},G,M,k,F,{match:/\$[(.]/}]}}function A7(e){const t=e.regex,n=uye(e),s=Uy,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:Uy,keyword:v7.concat(c),literal:w7,built_in:k7.concat(i),"variable.language":N7},d={className:"meta",begin:"@"+s},f=(g,v,y)=>{const x=g.contains.findIndex(E=>E.label===v);if(x===-1)throw new Error("can not find mode to replace");g.contains.splice(x,1,y)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),m=Object.assign({},h,{match:t.concat(s,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,m]),n.contains=n.contains.concat([d,r,a,m]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const p=n.contains.find(g=>g.label==="func.def");return p.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function dye(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},s={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,r=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(r,i),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(r,i),/ +/,t.either(a,l),/ *#/)}]},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,s,c,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 fye(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),s=["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"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},r={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={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/},c={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:s},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},r,a,i,e.QUOTE_STRING_MODE,c,u,l]}}function hye(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(r,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=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:[r,c,l,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[r,a,c,l]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{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 C7(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},r={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,i]},l=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"},m={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},p={begin:/\{/,end:/\}/,contains:[m],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[m],illegal:"\\n",relevance:0},v=[s,{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},p,g,r,a],y=[...v];return y.pop(),y.push(l),m.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:v}}const mye={arduino:ibe,bash:i7,c:rbe,cpp:abe,csharp:obe,css:gbe,diff:bbe,go:ybe,graphql:xbe,ini:r7,java:Ebe,javascript:u7,json:d7,kotlin:Nbe,less:Mbe,lua:Lbe,makefile:m7,markdown:p7,objectivec:Dbe,perl:Pbe,php:Bbe,"php-template":Ube,plaintext:Fbe,python:g7,"python-repl":$be,r:Hbe,ruby:zbe,rust:Vbe,scss:Jbe,shell:eye,sql:tye,swift:cye,typescript:A7,vbnet:dye,wasm:fye,xml:hye,yaml:C7};function I7(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],s=typeof n;(s==="object"||s==="function")&&!Object.isFrozen(n)&&I7(n)}),e}let _M=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function R7(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function _l(e,...t){const n=Object.create(null);for(const s in e)n[s]=e[s];return t.forEach(function(s){for(const i in s)n[i]=s[i]}),n}const pye="",TM=e=>!!e.scope,gye=(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((s,i)=>`${s}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`};class bye{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=R7(t)}openNode(t){if(!TM(t))return;const n=gye(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){TM(t)&&(this.buffer+=pye)}value(){return this.buffer}span(t){this.buffer+=``}}const NM=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class i2{constructor(){this.rootNode=NM(),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=NM({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(s=>this._walk(t,s)),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=>{i2._collapse(n)}))}}class yye extends i2{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const s=t.root;n&&(s.scope=`language:${n}`),this.add(s)}toHTML(){return new bye(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function vp(e){return e?typeof e=="string"?e:e.source:null}function O7(e){return du("(?=",e,")")}function xye(e){return du("(?:",e,")*")}function Eye(e){return du("(?:",e,")?")}function du(...e){return e.map(n=>vp(n)).join("")}function vye(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function r2(...e){return"("+(vye(e).capture?"":"?:")+e.map(s=>vp(s)).join("|")+")"}function j7(e){return new RegExp(e.toString()+"|").exec("").length-1}function wye(e,t){const n=e&&e.exec(t);return n&&n.index===0}const Sye=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function a2(e,{joinWith:t}){let n=0;return e.map(s=>{n+=1;const i=n;let r=vp(s),a="";for(;r.length>0;){const l=Sye.exec(r);if(!l){a+=r;break}a+=r.substring(0,l.index),r=r.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?a+="\\"+String(Number(l[1])+i):(a+=l[0],l[0]==="("&&n++)}return a}).map(s=>`(${s})`).join(t)}const _ye=/\b\B/,M7="[a-zA-Z]\\w*",o2="[a-zA-Z_]\\w*",L7="\\b\\d+(\\.\\d+)?",D7="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",P7="\\b(0b[01]+)",Tye="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Nye=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=du(t,/.*\b/,e.binary,/\b.*/)),_l({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,s)=>{n.index!==0&&s.ignoreMatch()}},e)},wp={begin:"\\\\[\\s\\S]",relevance:0},kye={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[wp]},Aye={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[wp]},Cye={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/},lx=function(e,t,n={}){const s=_l({scope:"comment",begin:e,end:t,contains:[]},n);s.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 i=r2("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 s.contains.push({begin:du(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s},Iye=lx("//","$"),Rye=lx("/\\*","\\*/"),Oye=lx("#","$"),jye={scope:"number",begin:L7,relevance:0},Mye={scope:"number",begin:D7,relevance:0},Lye={scope:"number",begin:P7,relevance:0},Dye={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[wp,{begin:/\[/,end:/\]/,relevance:0,contains:[wp]}]},Pye={scope:"title",begin:M7,relevance:0},Bye={scope:"title",begin:o2,relevance:0},Uye={begin:"\\.\\s*"+o2,relevance:0},Fye=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 k0=Object.freeze({__proto__:null,APOS_STRING_MODE:kye,BACKSLASH_ESCAPE:wp,BINARY_NUMBER_MODE:Lye,BINARY_NUMBER_RE:P7,COMMENT:lx,C_BLOCK_COMMENT_MODE:Rye,C_LINE_COMMENT_MODE:Iye,C_NUMBER_MODE:Mye,C_NUMBER_RE:D7,END_SAME_AS_BEGIN:Fye,HASH_COMMENT_MODE:Oye,IDENT_RE:M7,MATCH_NOTHING_RE:_ye,METHOD_GUARD:Uye,NUMBER_MODE:jye,NUMBER_RE:L7,PHRASAL_WORDS_MODE:Cye,QUOTE_STRING_MODE:Aye,REGEXP_MODE:Dye,RE_STARTERS_RE:Tye,SHEBANG:Nye,TITLE_MODE:Pye,UNDERSCORE_IDENT_RE:o2,UNDERSCORE_TITLE_MODE:Bye});function $ye(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Hye(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function zye(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$ye,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Vye(e,t){Array.isArray(e.illegal)&&(e.illegal=r2(...e.illegal))}function Gye(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 Kye(e,t){e.relevance===void 0&&(e.relevance=1)}const qye=(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(s=>{delete e[s]}),e.keywords=n.keywords,e.begin=du(n.beforeMatch,O7(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Yye=["of","and","for","in","not","or","if","then","parent","list","value"],Wye="keyword";function B7(e,t,n=Wye){const s=Object.create(null);return typeof e=="string"?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(r){Object.assign(s,B7(e[r],t,r))}),s;function i(r,a){t&&(a=a.map(l=>l.toLowerCase())),a.forEach(function(l){const c=l.split("|");s[c[0]]=[r,Xye(c[0],c[1])]})}}function Xye(e,t){return t?Number(t):Qye(e)?0:1}function Qye(e){return Yye.includes(e.toLowerCase())}const kM={},Lc=e=>{console.error(e)},AM=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Ru=(e,t)=>{kM[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),kM[`${e}/${t}`]=!0)},Fy=new Error;function U7(e,t,{key:n}){let s=0;const i=e[n],r={},a={};for(let l=1;l<=t.length;l++)a[l+s]=i[l],r[l+s]=!0,s+=j7(t[l-1]);e[n]=a,e[n]._emit=r,e[n]._multi=!0}function Zye(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Lc("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Fy;if(typeof e.beginScope!="object"||e.beginScope===null)throw Lc("beginScope must be object"),Fy;U7(e,e.begin,{key:"beginScope"}),e.begin=a2(e.begin,{joinWith:""})}}function Jye(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Lc("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Fy;if(typeof e.endScope!="object"||e.endScope===null)throw Lc("endScope must be object"),Fy;U7(e,e.end,{key:"endScope"}),e.end=a2(e.end,{joinWith:""})}}function e1e(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function t1e(e){e1e(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Zye(e),Jye(e)}function n1e(e){function t(a,l){return new RegExp(vp(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,l]),this.matchAt+=j7(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(c=>c[1]);this.matcherRe=t(a2(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(l);if(!c)return null;const u=c.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class s{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const c=new n;return this.rules.slice(l).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[l]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,c){this.rules.push([l,c]),c.type==="begin"&&this.count++}exec(l){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(l);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(l)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(a){const l=new s;return a.contains.forEach(c=>l.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&l.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&l.addRule(a.illegal,{type:"illegal"}),l}function r(a,l){const c=a;if(a.isCompiled)return c;[Hye,Gye,t1e,qye].forEach(d=>d(a,l)),e.compilerExtensions.forEach(d=>d(a,l)),a.__beforeBegin=null,[zye,Vye,Kye].forEach(d=>d(a,l)),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=B7(a.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),l&&(a.begin||(a.begin=/\B|\b/),c.beginRe=t(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=t(c.end)),c.terminatorEnd=vp(c.end)||"",a.endsWithParent&&l.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+l.terminatorEnd)),a.illegal&&(c.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return s1e(d==="self"?a:d)})),a.contains.forEach(function(d){r(d,c)}),a.starts&&r(a.starts,l),c.matcher=i(c),c}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=_l(e.classNameAliases||{}),r(e)}function F7(e){return e?e.endsWithParent||F7(e.starts):!1}function s1e(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return _l(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:F7(e)?_l(e,{starts:e.starts?_l(e.starts):null}):Object.isFrozen(e)?_l(e):e}var i1e="11.11.1";class r1e extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const $v=R7,CM=_l,IM=Symbol("nomatch"),a1e=7,$7=function(e){const t=Object.create(null),n=Object.create(null),s=[];let i=!0;const r="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:yye};function c(N){return l.noHighlightRe.test(N)}function u(N){let O=N.className+" ";O+=N.parentNode?N.parentNode.className:"";const P=l.languageDetectRe.exec(O);if(P){const $=A(P[1]);return $||(AM(r.replace("{}",P[1])),AM("Falling back to no-highlight mode for this block.",N)),$?P[1]:"no-highlight"}return O.split(/\s+/).find($=>c($)||A($))}function d(N,O,P){let $="",I="";typeof O=="object"?($=N,P=O.ignoreIllegals,I=O.language):(Ru("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ru("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),I=N,$=O),P===void 0&&(P=!0);const q={code:$,language:I};D("before:highlight",q);const Q=q.result?q.result:f(q.language,q.code,P);return Q.code=q.code,D("after:highlight",Q),Q}function f(N,O,P,$){const I=Object.create(null);function q(X,ae){return X.keywords[ae]}function Q(){if(!xe.keywords){Me.addText(ze);return}let X=0;xe.keywordPatternRe.lastIndex=0;let ae=xe.keywordPatternRe.exec(ze),te="";for(;ae;){te+=ze.substring(X,ae.index);const ge=pe.case_insensitive?ae[0].toLowerCase():ae[0],Ue=q(xe,ge);if(Ue){const[Ye,xt]=Ue;if(Me.addText(te),te="",I[ge]=(I[ge]||0)+1,I[ge]<=a1e&&(_e+=xt),Ye.startsWith("_"))te+=ae[0];else{const at=pe.classNameAliases[Ye]||Ye;z(ae[0],at)}}else te+=ae[0];X=xe.keywordPatternRe.lastIndex,ae=xe.keywordPatternRe.exec(ze)}te+=ze.substring(X),Me.addText(te)}function B(){if(ze==="")return;let X=null;if(typeof xe.subLanguage=="string"){if(!t[xe.subLanguage]){Me.addText(ze);return}X=f(xe.subLanguage,ze,!0,Xe[xe.subLanguage]),Xe[xe.subLanguage]=X._top}else X=m(ze,xe.subLanguage.length?xe.subLanguage:null);xe.relevance>0&&(_e+=X.relevance),Me.__addSublanguage(X._emitter,X.language)}function ee(){xe.subLanguage!=null?B():Q(),ze=""}function z(X,ae){X!==""&&(Me.startScope(ae),Me.addText(X),Me.endScope())}function K(X,ae){let te=1;const ge=ae.length-1;for(;te<=ge;){if(!X._emit[te]){te++;continue}const Ue=pe.classNameAliases[X[te]]||X[te],Ye=ae[te];Ue?z(Ye,Ue):(ze=Ye,Q(),ze=""),te++}}function se(X,ae){return X.scope&&typeof X.scope=="string"&&Me.openNode(pe.classNameAliases[X.scope]||X.scope),X.beginScope&&(X.beginScope._wrap?(z(ze,pe.classNameAliases[X.beginScope._wrap]||X.beginScope._wrap),ze=""):X.beginScope._multi&&(K(X.beginScope,ae),ze="")),xe=Object.create(X,{parent:{value:xe}}),xe}function W(X,ae,te){let ge=wye(X.endRe,te);if(ge){if(X["on:end"]){const Ue=new _M(X);X["on:end"](ae,Ue),Ue.isMatchIgnored&&(ge=!1)}if(ge){for(;X.endsParent&&X.parent;)X=X.parent;return X}}if(X.endsWithParent)return W(X.parent,ae,te)}function de(X){return xe.matcher.regexIndex===0?(ze+=X[0],1):(Ke=!0,0)}function ye(X){const ae=X[0],te=X.rule,ge=new _M(te),Ue=[te.__beforeBegin,te["on:begin"]];for(const Ye of Ue)if(Ye&&(Ye(X,ge),ge.isMatchIgnored))return de(ae);return te.skip?ze+=ae:(te.excludeBegin&&(ze+=ae),ee(),!te.returnBegin&&!te.excludeBegin&&(ze=ae)),se(te,X),te.returnBegin?0:ae.length}function we(X){const ae=X[0],te=O.substring(X.index),ge=W(xe,X,te);if(!ge)return IM;const Ue=xe;xe.endScope&&xe.endScope._wrap?(ee(),z(ae,xe.endScope._wrap)):xe.endScope&&xe.endScope._multi?(ee(),K(xe.endScope,X)):Ue.skip?ze+=ae:(Ue.returnEnd||Ue.excludeEnd||(ze+=ae),ee(),Ue.excludeEnd&&(ze=ae));do xe.scope&&Me.closeNode(),!xe.skip&&!xe.subLanguage&&(_e+=xe.relevance),xe=xe.parent;while(xe!==ge.parent);return ge.starts&&se(ge.starts,X),Ue.returnEnd?0:ae.length}function ue(){const X=[];for(let ae=xe;ae!==pe;ae=ae.parent)ae.scope&&X.unshift(ae.scope);X.forEach(ae=>Me.openNode(ae))}let he={};function Re(X,ae){const te=ae&&ae[0];if(ze+=X,te==null)return ee(),0;if(he.type==="begin"&&ae.type==="end"&&he.index===ae.index&&te===""){if(ze+=O.slice(ae.index,ae.index+1),!i){const ge=new Error(`0 width match regex (${N})`);throw ge.languageName=N,ge.badRule=he.rule,ge}return 1}if(he=ae,ae.type==="begin")return ye(ae);if(ae.type==="illegal"&&!P){const ge=new Error('Illegal lexeme "'+te+'" for mode "'+(xe.scope||"")+'"');throw ge.mode=xe,ge}else if(ae.type==="end"){const ge=we(ae);if(ge!==IM)return ge}if(ae.type==="illegal"&&te==="")return ze+=` -`,1;if(Fe>1e5&&Fe>ae.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ze+=te,te.length}const pe=A(N);if(!pe)throw Lc(r.replace("{}",N)),new Error('Unknown language: "'+N+'"');const oe=n1e(pe);let Te="",xe=$||oe;const Xe={},Me=new l.__emitter(l);ue();let ze="",_e=0,Pe=0,Fe=0,Ke=!1;try{if(pe.__emitTokens)pe.__emitTokens(O,Me);else{for(xe.matcher.considerAll();;){Fe++,Ke?Ke=!1:xe.matcher.considerAll(),xe.matcher.lastIndex=Pe;const X=xe.matcher.exec(O);if(!X)break;const ae=O.substring(Pe,X.index),te=Re(ae,X);Pe=X.index+te}Re(O.substring(Pe))}return Me.finalize(),Te=Me.toHTML(),{language:N,value:Te,relevance:_e,illegal:!1,_emitter:Me,_top:xe}}catch(X){if(X.message&&X.message.includes("Illegal"))return{language:N,value:$v(O),illegal:!0,relevance:0,_illegalBy:{message:X.message,index:Pe,context:O.slice(Pe-100,Pe+100),mode:X.mode,resultSoFar:Te},_emitter:Me};if(i)return{language:N,value:$v(O),illegal:!1,relevance:0,errorRaised:X,_emitter:Me,_top:xe};throw X}}function h(N){const O={value:$v(N),illegal:!1,relevance:0,_top:a,_emitter:new l.__emitter(l)};return O._emitter.addText(N),O}function m(N,O){O=O||l.languages||Object.keys(t);const P=h(N),$=O.filter(A).filter(R).map(ee=>f(ee,N,!1));$.unshift(P);const I=$.sort((ee,z)=>{if(ee.relevance!==z.relevance)return z.relevance-ee.relevance;if(ee.language&&z.language){if(A(ee.language).supersetOf===z.language)return 1;if(A(z.language).supersetOf===ee.language)return-1}return 0}),[q,Q]=I,B=q;return B.secondBest=Q,B}function p(N,O,P){const $=O&&n[O]||P;N.classList.add("hljs"),N.classList.add(`language-${$}`)}function g(N){let O=null;const P=u(N);if(c(P))return;if(D("before:highlightElement",{el:N,language:P}),N.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",N);return}if(N.children.length>0&&(l.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)),l.throwUnescapedHTML))throw new r1e("One of your code blocks includes unescaped HTML.",N.innerHTML);O=N;const $=O.textContent,I=P?d($,{language:P,ignoreIllegals:!0}):m($);N.innerHTML=I.value,N.dataset.highlighted="yes",p(N,P,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}),D("after:highlightElement",{el:N,result:I,text:$})}function v(N){l=CM(l,N)}const y=()=>{w(),Ru("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function x(){w(),Ru("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let E=!1;function w(){function N(){w()}if(document.readyState==="loading"){E||window.addEventListener("DOMContentLoaded",N,!1),E=!0;return}document.querySelectorAll(l.cssSelector).forEach(g)}function T(N,O){let P=null;try{P=O(e)}catch($){if(Lc("Language definition for '{}' could not be registered.".replace("{}",N)),i)Lc($);else throw $;P=a}P.name||(P.name=N),t[N]=P,P.rawDefinition=O.bind(null,e),P.aliases&&C(P.aliases,{languageName:N})}function S(N){delete t[N];for(const O of Object.keys(n))n[O]===N&&delete n[O]}function k(){return Object.keys(t)}function A(N){return N=(N||"").toLowerCase(),t[N]||t[n[N]]}function C(N,{languageName:O}){typeof N=="string"&&(N=[N]),N.forEach(P=>{n[P.toLowerCase()]=O})}function R(N){const O=A(N);return O&&!O.disableAutodetect}function M(N){N["before:highlightBlock"]&&!N["before:highlightElement"]&&(N["before:highlightElement"]=O=>{N["before:highlightBlock"](Object.assign({block:O.el},O))}),N["after:highlightBlock"]&&!N["after:highlightElement"]&&(N["after:highlightElement"]=O=>{N["after:highlightBlock"](Object.assign({block:O.el},O))})}function L(N){M(N),s.push(N)}function G(N){const O=s.indexOf(N);O!==-1&&s.splice(O,1)}function D(N,O){const P=N;s.forEach(function($){$[P]&&$[P](O)})}function F(N){return Ru("10.7.0","highlightBlock will be removed entirely in v12.0"),Ru("10.7.0","Please use highlightElement now."),g(N)}Object.assign(e,{highlight:d,highlightAuto:m,highlightAll:w,highlightElement:g,highlightBlock:F,configure:v,initHighlighting:y,initHighlightingOnLoad:x,registerLanguage:T,unregisterLanguage:S,listLanguages:k,getLanguage:A,registerAliases:C,autoDetection:R,inherit:CM,addPlugin:L,removePlugin:G}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString=i1e,e.regex={concat:du,lookahead:O7,either:r2,optional:Eye,anyNumberOfTimes:xye};for(const N in k0)typeof k0[N]=="object"&&I7(k0[N]);return Object.assign(e,k0),e},pf=$7({});pf.newInstance=()=>$7({});var o1e=pf;pf.HighlightJS=pf;pf.default=pf;const rr=Ef(o1e),RM={},l1e="hljs-";function c1e(e){const t=rr.newInstance();return e&&r(e),{highlight:n,highlightAuto:s,listLanguages:i,register:r,registerAlias:a,registered:l};function n(c,u,d){const f=d||RM,h=typeof f.prefix=="string"?f.prefix:l1e;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:u1e,classPrefix:h});const m=t.highlight(u,{ignoreIllegals:!0,language:c});if(m.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:m.errorRaised});const p=m._emitter.root,g=p.data;return g.language=m.language,g.relevance=m.relevance,p}function s(c,u){const f=(u||RM).subset||i();let h=-1,m=0,p;for(;++hm&&(m=v.data.relevance,p=v)}return p||{type:"root",children:[],data:{language:void 0,relevance:m}}}function i(){return t.listLanguages()}function r(c,u){if(typeof c=="string")t.registerLanguage(c,u);else{let d;for(d in c)Object.hasOwn(c,d)&&t.registerLanguage(d,c[d])}}function a(c,u){if(typeof c=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:c});else{let d;for(d in c)if(Object.hasOwn(c,d)){const f=c[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function l(c){return!!t.getLanguage(c)}}class u1e{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],s=n.children[n.children.length-1];s&&s.type==="text"?s.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const s=this.stack[this.stack.length-1],i=t.root.children;n?s.children.push({type:"element",tagName:"span",properties:{className:[n]},children:i}):s.children.push(...i)}openNode(t){const n=this,s=t.split(".").map(function(a,l){return l?a+"_".repeat(l):n.options.classPrefix+a}),i=this.stack[this.stack.length-1],r={type:"element",tagName:"span",properties:{className:s},children:[]};i.children.push(r),this.stack.push(r)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const d1e={};function OM(e){const t=e||d1e,n=t.aliases,s=t.detect||!1,i=t.languages||mye,r=t.plainText,a=t.prefix,l=t.subset;let c="hljs";const u=c1e(i);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");c=d===-1?a:a.slice(0,d)}return function(d,f){rg(d,"element",function(h,m,p){if(h.tagName!=="code"||!p||p.type!=="element"||p.tagName!=="pre")return;const g=f1e(h);if(g===!1||!g&&!s||g&&r&&r.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const v=W0e(h,{whitespace:"pre"});let y;try{y=g?u.highlight(g,v,{prefix:a}):u.highlightAuto(v,{prefix:a,subset:l})}catch(x){const E=x;if(g&&/Unknown language/.test(E.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[p,h],cause:E,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw E}!g&&y.data&&y.data.language&&h.properties.className.push("language-"+y.data.language),y.children.length>0&&(h.children=y.children)})}}function f1e(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let s;for(;++n-1&&r<=t.length){let a=0;for(;;){let l=n[a];if(l===void 0){const c=LM(t,n[a-1]);l=c===-1?t.length+1:c+1,n[a]=l}if(l>r)return{line:a+1,column:r-(a>0?n[a-1]:0)+1,offset:r};a++}}}function i(r){if(r&&typeof r.line=="number"&&typeof r.column=="number"&&!Number.isNaN(r.line)&&!Number.isNaN(r.column)){for(;n.length1?n[r.line-2]:0)+r.column-1;if(a=55296&&e<=57343}function B1e(e){return e>=56320&&e<=57343}function U1e(e,t){return(e-55296)*1024+9216+t}function q7(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function Y7(e){return e>=64976&&e<=65007||P1e.has(e)}var be;(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"})(be||(be={}));const F1e=65536;class $1e{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=F1e,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:s,col:i,offset:r}=this,a=i+n,l=r+n;return{code:t,startLine:s,endLine:s,startCol:a,endCol:a,startOffset:l,endOffset:l}}_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(B1e(n))return this.pos++,this._addGap(),U1e(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,V.EOF;return this._err(be.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 s=0;s=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,V.EOF;const s=this.html.charCodeAt(n);return s===V.CARRIAGE_RETURN?V.LINE_FEED:s}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,V.EOF;let t=this.html.charCodeAt(this.pos);return t===V.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,V.LINE_FEED):t===V.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,K7(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===V.LINE_FEED||t===V.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){q7(t)?this._err(be.controlCharacterInInputStream):Y7(t)&&this._err(be.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 H1e=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))),z1e=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 V1e(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=z1e.get(e))!==null&&t!==void 0?t:e}var ci;(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"})(ci||(ci={}));const G1e=32;var Tl;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Tl||(Tl={}));function A_(e){return e>=ci.ZERO&&e<=ci.NINE}function K1e(e){return e>=ci.UPPER_A&&e<=ci.UPPER_F||e>=ci.LOWER_A&&e<=ci.LOWER_F}function q1e(e){return e>=ci.UPPER_A&&e<=ci.UPPER_Z||e>=ci.LOWER_A&&e<=ci.LOWER_Z||A_(e)}function Y1e(e){return e===ci.EQUALS||q1e(e)}var ri;(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"})(ri||(ri={}));var go;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(go||(go={}));class W1e{constructor(t,n,s){this.decodeTree=t,this.emitCodePoint=n,this.errors=s,this.state=ri.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=go.Strict}startEntity(t){this.decodeMode=t,this.state=ri.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case ri.EntityStart:return t.charCodeAt(n)===ci.NUM?(this.state=ri.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=ri.NamedEntity,this.stateNamedEntity(t,n));case ri.NumericStart:return this.stateNumericStart(t,n);case ri.NumericDecimal:return this.stateNumericDecimal(t,n);case ri.NumericHex:return this.stateNumericHex(t,n);case ri.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|G1e)===ci.LOWER_X?(this.state=ri.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=ri.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,s,i){if(n!==s){const r=s-n;this.result=this.result*Math.pow(i,r)+Number.parseInt(t.substr(n,r),i),this.consumed+=r}}stateNumericHex(t,n){const s=n;for(;n>14;for(;n>14,r!==0){if(a===ci.SEMI)return this.emitNamedEntityData(this.treeIndex,r,this.consumed+this.excess);this.decodeMode!==go.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:s}=this,i=(s[n]&Tl.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,s){const{decodeTree:i}=this;return this.emitCodePoint(n===1?i[t]&~Tl.VALUE_LENGTH:i[t+1],s),n===3&&this.emitCodePoint(i[t+2],s),s}end(){var t;switch(this.state){case ri.NamedEntity:return this.result!==0&&(this.decodeMode!==go.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case ri.NumericDecimal:return this.emitNumericEntity(0,2);case ri.NumericHex:return this.emitNumericEntity(0,3);case ri.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case ri.EntityStart:return 0}}}function X1e(e,t,n,s){const i=(t&Tl.BRANCH_LENGTH)>>7,r=t&Tl.JUMP_TABLE;if(i===0)return r!==0&&s===r?n:-1;if(r){const c=s-r;return c<0||c>=i?-1:e[n+c]-1}let a=n,l=a+i-1;for(;a<=l;){const c=a+l>>>1,u=e[c];if(us)l=c-1;else return e[c+i]}return-1}var Ie;(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/"})(Ie||(Ie={}));var Dc;(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"})(Dc||(Dc={}));var $r;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})($r||($r={}));var ce;(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"})(ce||(ce={}));var _;(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"})(_||(_={}));const Q1e=new Map([[ce.A,_.A],[ce.ADDRESS,_.ADDRESS],[ce.ANNOTATION_XML,_.ANNOTATION_XML],[ce.APPLET,_.APPLET],[ce.AREA,_.AREA],[ce.ARTICLE,_.ARTICLE],[ce.ASIDE,_.ASIDE],[ce.B,_.B],[ce.BASE,_.BASE],[ce.BASEFONT,_.BASEFONT],[ce.BGSOUND,_.BGSOUND],[ce.BIG,_.BIG],[ce.BLOCKQUOTE,_.BLOCKQUOTE],[ce.BODY,_.BODY],[ce.BR,_.BR],[ce.BUTTON,_.BUTTON],[ce.CAPTION,_.CAPTION],[ce.CENTER,_.CENTER],[ce.CODE,_.CODE],[ce.COL,_.COL],[ce.COLGROUP,_.COLGROUP],[ce.DD,_.DD],[ce.DESC,_.DESC],[ce.DETAILS,_.DETAILS],[ce.DIALOG,_.DIALOG],[ce.DIR,_.DIR],[ce.DIV,_.DIV],[ce.DL,_.DL],[ce.DT,_.DT],[ce.EM,_.EM],[ce.EMBED,_.EMBED],[ce.FIELDSET,_.FIELDSET],[ce.FIGCAPTION,_.FIGCAPTION],[ce.FIGURE,_.FIGURE],[ce.FONT,_.FONT],[ce.FOOTER,_.FOOTER],[ce.FOREIGN_OBJECT,_.FOREIGN_OBJECT],[ce.FORM,_.FORM],[ce.FRAME,_.FRAME],[ce.FRAMESET,_.FRAMESET],[ce.H1,_.H1],[ce.H2,_.H2],[ce.H3,_.H3],[ce.H4,_.H4],[ce.H5,_.H5],[ce.H6,_.H6],[ce.HEAD,_.HEAD],[ce.HEADER,_.HEADER],[ce.HGROUP,_.HGROUP],[ce.HR,_.HR],[ce.HTML,_.HTML],[ce.I,_.I],[ce.IMG,_.IMG],[ce.IMAGE,_.IMAGE],[ce.INPUT,_.INPUT],[ce.IFRAME,_.IFRAME],[ce.KEYGEN,_.KEYGEN],[ce.LABEL,_.LABEL],[ce.LI,_.LI],[ce.LINK,_.LINK],[ce.LISTING,_.LISTING],[ce.MAIN,_.MAIN],[ce.MALIGNMARK,_.MALIGNMARK],[ce.MARQUEE,_.MARQUEE],[ce.MATH,_.MATH],[ce.MENU,_.MENU],[ce.META,_.META],[ce.MGLYPH,_.MGLYPH],[ce.MI,_.MI],[ce.MO,_.MO],[ce.MN,_.MN],[ce.MS,_.MS],[ce.MTEXT,_.MTEXT],[ce.NAV,_.NAV],[ce.NOBR,_.NOBR],[ce.NOFRAMES,_.NOFRAMES],[ce.NOEMBED,_.NOEMBED],[ce.NOSCRIPT,_.NOSCRIPT],[ce.OBJECT,_.OBJECT],[ce.OL,_.OL],[ce.OPTGROUP,_.OPTGROUP],[ce.OPTION,_.OPTION],[ce.P,_.P],[ce.PARAM,_.PARAM],[ce.PLAINTEXT,_.PLAINTEXT],[ce.PRE,_.PRE],[ce.RB,_.RB],[ce.RP,_.RP],[ce.RT,_.RT],[ce.RTC,_.RTC],[ce.RUBY,_.RUBY],[ce.S,_.S],[ce.SCRIPT,_.SCRIPT],[ce.SEARCH,_.SEARCH],[ce.SECTION,_.SECTION],[ce.SELECT,_.SELECT],[ce.SOURCE,_.SOURCE],[ce.SMALL,_.SMALL],[ce.SPAN,_.SPAN],[ce.STRIKE,_.STRIKE],[ce.STRONG,_.STRONG],[ce.STYLE,_.STYLE],[ce.SUB,_.SUB],[ce.SUMMARY,_.SUMMARY],[ce.SUP,_.SUP],[ce.TABLE,_.TABLE],[ce.TBODY,_.TBODY],[ce.TEMPLATE,_.TEMPLATE],[ce.TEXTAREA,_.TEXTAREA],[ce.TFOOT,_.TFOOT],[ce.TD,_.TD],[ce.TH,_.TH],[ce.THEAD,_.THEAD],[ce.TITLE,_.TITLE],[ce.TR,_.TR],[ce.TRACK,_.TRACK],[ce.TT,_.TT],[ce.U,_.U],[ce.UL,_.UL],[ce.SVG,_.SVG],[ce.VAR,_.VAR],[ce.WBR,_.WBR],[ce.XMP,_.XMP]]);function $f(e){var t;return(t=Q1e.get(e))!==null&&t!==void 0?t:_.UNKNOWN}const je=_,Z1e={[Ie.HTML]:new Set([je.ADDRESS,je.APPLET,je.AREA,je.ARTICLE,je.ASIDE,je.BASE,je.BASEFONT,je.BGSOUND,je.BLOCKQUOTE,je.BODY,je.BR,je.BUTTON,je.CAPTION,je.CENTER,je.COL,je.COLGROUP,je.DD,je.DETAILS,je.DIR,je.DIV,je.DL,je.DT,je.EMBED,je.FIELDSET,je.FIGCAPTION,je.FIGURE,je.FOOTER,je.FORM,je.FRAME,je.FRAMESET,je.H1,je.H2,je.H3,je.H4,je.H5,je.H6,je.HEAD,je.HEADER,je.HGROUP,je.HR,je.HTML,je.IFRAME,je.IMG,je.INPUT,je.LI,je.LINK,je.LISTING,je.MAIN,je.MARQUEE,je.MENU,je.META,je.NAV,je.NOEMBED,je.NOFRAMES,je.NOSCRIPT,je.OBJECT,je.OL,je.P,je.PARAM,je.PLAINTEXT,je.PRE,je.SCRIPT,je.SECTION,je.SELECT,je.SOURCE,je.STYLE,je.SUMMARY,je.TABLE,je.TBODY,je.TD,je.TEMPLATE,je.TEXTAREA,je.TFOOT,je.TH,je.THEAD,je.TITLE,je.TR,je.TRACK,je.UL,je.WBR,je.XMP]),[Ie.MATHML]:new Set([je.MI,je.MO,je.MN,je.MS,je.MTEXT,je.ANNOTATION_XML]),[Ie.SVG]:new Set([je.TITLE,je.FOREIGN_OBJECT,je.DESC]),[Ie.XLINK]:new Set,[Ie.XML]:new Set,[Ie.XMLNS]:new Set},C_=new Set([je.H1,je.H2,je.H3,je.H4,je.H5,je.H6]);ce.STYLE,ce.SCRIPT,ce.XMP,ce.IFRAME,ce.NOEMBED,ce.NOFRAMES,ce.PLAINTEXT;var Y;(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"})(Y||(Y={}));const As={DATA:Y.DATA,RCDATA:Y.RCDATA,RAWTEXT:Y.RAWTEXT,SCRIPT_DATA:Y.SCRIPT_DATA,PLAINTEXT:Y.PLAINTEXT,CDATA_SECTION:Y.CDATA_SECTION};function J1e(e){return e>=V.DIGIT_0&&e<=V.DIGIT_9}function Qh(e){return e>=V.LATIN_CAPITAL_A&&e<=V.LATIN_CAPITAL_Z}function exe(e){return e>=V.LATIN_SMALL_A&&e<=V.LATIN_SMALL_Z}function ol(e){return exe(e)||Qh(e)}function PM(e){return ol(e)||J1e(e)}function A0(e){return e+32}function X7(e){return e===V.SPACE||e===V.LINE_FEED||e===V.TABULATION||e===V.FORM_FEED}function BM(e){return X7(e)||e===V.SOLIDUS||e===V.GREATER_THAN_SIGN}function txe(e){return e===V.NULL?be.nullCharacterReference:e>1114111?be.characterReferenceOutsideUnicodeRange:K7(e)?be.surrogateCharacterReference:Y7(e)?be.noncharacterCharacterReference:q7(e)||e===V.CARRIAGE_RETURN?be.controlCharacterReference:null}class nxe{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=Y.DATA,this.returnState=Y.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new $1e(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new W1e(H1e,(s,i)=>{this.preprocessor.pos=this.entityStartPos+i-1,this._flushCodePointConsumedAsCharacterReference(s)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(be.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:s=>{this._err(be.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+s)},validateNumericCharacterReference:s=>{const i=txe(s);i&&this._err(i,1)}}:void 0)}_err(t,n=0){var s,i;(i=(s=this.handler).onParseError)===null||i===void 0||i.call(s,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,s){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||s==null||s()}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(be.endTagWithAttributes),t.selfClosing&&this._err(be.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 Gt.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case Gt.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case Gt.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:Gt.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=X7(t)?Gt.WHITESPACE_CHARACTER:t===V.NULL?Gt.NULL_CHARACTER:Gt.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Gt.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=Y.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?go.Attribute:go.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case Y.DATA:{this._stateData(t);break}case Y.RCDATA:{this._stateRcdata(t);break}case Y.RAWTEXT:{this._stateRawtext(t);break}case Y.SCRIPT_DATA:{this._stateScriptData(t);break}case Y.PLAINTEXT:{this._statePlaintext(t);break}case Y.TAG_OPEN:{this._stateTagOpen(t);break}case Y.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case Y.TAG_NAME:{this._stateTagName(t);break}case Y.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case Y.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case Y.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case Y.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case Y.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case Y.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case Y.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case Y.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case Y.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case Y.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case Y.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case Y.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case Y.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case Y.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case Y.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case Y.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case Y.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case Y.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case Y.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case Y.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case Y.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case Y.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case Y.BOGUS_COMMENT:{this._stateBogusComment(t);break}case Y.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case Y.COMMENT_START:{this._stateCommentStart(t);break}case Y.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case Y.COMMENT:{this._stateComment(t);break}case Y.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case Y.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case Y.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case Y.COMMENT_END:{this._stateCommentEnd(t);break}case Y.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case Y.DOCTYPE:{this._stateDoctype(t);break}case Y.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case Y.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case Y.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case Y.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case Y.CDATA_SECTION:{this._stateCdataSection(t);break}case Y.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case Y.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case Y.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case Y.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case V.LESS_THAN_SIGN:{this.state=Y.TAG_OPEN;break}case V.AMPERSAND:{this._startCharacterReference();break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitCodePoint(t);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case V.AMPERSAND:{this._startCharacterReference();break}case V.LESS_THAN_SIGN:{this.state=Y.RCDATA_LESS_THAN_SIGN;break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(ls);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case V.LESS_THAN_SIGN:{this.state=Y.RAWTEXT_LESS_THAN_SIGN;break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(ls);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_LESS_THAN_SIGN;break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(ls);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(ls);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(ol(t))this._createStartTagToken(),this.state=Y.TAG_NAME,this._stateTagName(t);else switch(t){case V.EXCLAMATION_MARK:{this.state=Y.MARKUP_DECLARATION_OPEN;break}case V.SOLIDUS:{this.state=Y.END_TAG_OPEN;break}case V.QUESTION_MARK:{this._err(be.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(t);break}case V.EOF:{this._err(be.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(be.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Y.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(ol(t))this._createEndTagToken(),this.state=Y.TAG_NAME,this._stateTagName(t);else switch(t){case V.GREATER_THAN_SIGN:{this._err(be.missingEndTagName),this.state=Y.DATA;break}case V.EOF:{this._err(be.eofBeforeTagName),this._emitChars("");break}case V.NULL:{this._err(be.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(ls);break}case V.EOF:{this._err(be.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===V.SOLIDUS?this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:ol(t)?(this._emitChars("<"),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){ol(t)?(this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case V.NULL:{this._err(be.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(ls);break}case V.EOF:{this._err(be.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===V.SOLIDUS?(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Zi.SCRIPT,!1)&&BM(this.preprocessor.peek(Zi.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 s=this._indexOf(t);this.items[s]=n,s===this.stackTop&&(this.current=n)}insertAfter(t,n,s){const i=this._indexOf(t)+1;this.items.splice(i,0,n),this.tagIDs.splice(i,0,s),this.stackTop++,i===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,i===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])!==Ie.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;s--)if(t.has(this.tagIDs[s])&&this.treeAdapter.getNamespaceURI(this.items[s])===n)return s;return-1}clearBackTo(t,n){const s=this._indexOfTagNames(t,n);this.shortenToLength(s+1)}clearBackToTableContext(){this.clearBackTo(oxe,Ie.HTML)}clearBackToTableBodyContext(){this.clearBackTo(axe,Ie.HTML)}clearBackToTableRowContext(){this.clearBackTo(rxe,Ie.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]===_.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]===_.HTML}hasInDynamicScope(t,n){for(let s=this.stackTop;s>=0;s--){const i=this.tagIDs[s];switch(this.treeAdapter.getNamespaceURI(this.items[s])){case Ie.HTML:{if(i===t)return!0;if(n.has(i))return!1;break}case Ie.SVG:{if($M.has(i))return!1;break}case Ie.MATHML:{if(FM.has(i))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,$y)}hasInListItemScope(t){return this.hasInDynamicScope(t,sxe)}hasInButtonScope(t){return this.hasInDynamicScope(t,ixe)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case Ie.HTML:{if(C_.has(n))return!0;if($y.has(n))return!1;break}case Ie.SVG:{if($M.has(n))return!1;break}case Ie.MATHML:{if(FM.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===Ie.HTML)switch(this.tagIDs[n]){case t:return!0;case _.TABLE:case _.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===Ie.HTML)switch(this.tagIDs[t]){case _.TBODY:case _.THEAD:case _.TFOOT:return!0;case _.TABLE:case _.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===Ie.HTML)switch(this.tagIDs[n]){case t:return!0;case _.OPTION:case _.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&Q7.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&UM.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&UM.has(this.currentTagId);)this.pop()}}const Hv=3;var Da;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Da||(Da={}));const HM={type:Da.Marker};class uxe{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const s=[],i=n.length,r=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let l=0;l[a.name,a.value]));let r=0;for(let a=0;ai.get(c.name)===c.value)&&(r+=1,r>=Hv&&this.entries.splice(l.idx,1))}}insertMarker(){this.entries.unshift(HM)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Da.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const s=this.entries.indexOf(this.bookmark);this.entries.splice(s,0,{type:Da.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(HM);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(s=>s.type===Da.Marker||this.treeAdapter.getTagName(s.element)===t);return n&&n.type===Da.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Da.Element&&n.element===t)}}const ll={createDocument(){return{nodeName:"#document",mode:$r.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 s=e.childNodes.indexOf(n);e.childNodes.splice(s,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,s){const i=e.childNodes.find(r=>r.nodeName==="#documentType");if(i)i.name=t,i.publicId=n,i.systemId=s;else{const r={nodeName:"#documentType",name:t,publicId:n,systemId:s,parentNode:null};ll.appendChild(e,r)}},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(ll.isTextNode(n)){n.value+=t;return}}ll.appendChild(e,ll.createTextNode(t))},insertTextBefore(e,t,n){const s=e.childNodes[e.childNodes.indexOf(n)-1];s&&ll.isTextNode(s)?s.value+=t:ll.insertBefore(e,ll.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(s=>s.name));for(let s=0;se.startsWith(n))}function gxe(e){return e.name===Z7&&e.publicId===null&&(e.systemId===null||e.systemId===dxe)}function bxe(e){if(e.name!==Z7)return $r.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===fxe)return $r.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),mxe.has(n))return $r.QUIRKS;let s=t===null?hxe:J7;if(zM(n,s))return $r.QUIRKS;if(s=t===null?eF:pxe,zM(n,s))return $r.LIMITED_QUIRKS}return $r.NO_QUIRKS}const VM={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},yxe="definitionurl",xxe="definitionURL",Exe=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])),vxe=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Ie.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Ie.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Ie.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Ie.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Ie.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Ie.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Ie.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Ie.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Ie.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Ie.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Ie.XMLNS}]]),wxe=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])),Sxe=new Set([_.B,_.BIG,_.BLOCKQUOTE,_.BODY,_.BR,_.CENTER,_.CODE,_.DD,_.DIV,_.DL,_.DT,_.EM,_.EMBED,_.H1,_.H2,_.H3,_.H4,_.H5,_.H6,_.HEAD,_.HR,_.I,_.IMG,_.LI,_.LISTING,_.MENU,_.META,_.NOBR,_.OL,_.P,_.PRE,_.RUBY,_.S,_.SMALL,_.SPAN,_.STRONG,_.STRIKE,_.SUB,_.SUP,_.TABLE,_.TT,_.U,_.UL,_.VAR]);function _xe(e){const t=e.tagID;return t===_.FONT&&e.attrs.some(({name:s})=>s===Dc.COLOR||s===Dc.SIZE||s===Dc.FACE)||Sxe.has(t)}function tF(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var s,i;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(i=(s=this.treeAdapter).onItemPop)===null||i===void 0||i.call(s,t,this.openElements.current),n){let r,a;this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,a=this.fragmentContextID):{current:r,currentTagId:a}=this.openElements,this._setContextModes(r,a)}}_setContextModes(t,n){const s=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===Ie.HTML;this.currentNotInHTML=!s,this.tokenizer.inForeignNode=!s&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,Ie.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=Z.TEXT}switchToPlaintextParsing(){this.insertionMode=Z.TEXT,this.originalInsertionMode=Z.IN_BODY,this.tokenizer.state=As.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)===ce.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Ie.HTML))switch(this.fragmentContextID){case _.TITLE:case _.TEXTAREA:{this.tokenizer.state=As.RCDATA;break}case _.STYLE:case _.XMP:case _.IFRAME:case _.NOEMBED:case _.NOFRAMES:case _.NOSCRIPT:{this.tokenizer.state=As.RAWTEXT;break}case _.SCRIPT:{this.tokenizer.state=As.SCRIPT_DATA;break}case _.PLAINTEXT:{this.tokenizer.state=As.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",s=t.publicId||"",i=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,s,i),t.location){const a=this.treeAdapter.getChildNodes(this.document).find(l=>this.treeAdapter.isDocumentTypeNode(l));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const s=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,s)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const s=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(s??this.document,t)}}_appendElement(t,n){const s=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(s,t.location)}_insertElement(t,n){const s=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(s,t.location),this.openElements.push(s,t.tagID)}_insertFakeElement(t,n){const s=this.treeAdapter.createElement(t,Ie.HTML,[]);this._attachElementToTree(s,null),this.openElements.push(s,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,Ie.HTML,t.attrs),s=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,s),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(ce.HTML,Ie.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,_.HTML)}_appendCommentNode(t,n){const s=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,s),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,t.location)}_insertCharacters(t){let n,s;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:s}=this._findFosterParentingLocation(),s?this.treeAdapter.insertTextBefore(n,t.chars,s):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const i=this.treeAdapter.getChildNodes(n),r=s?i.lastIndexOf(s):i.length,a=i[r-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine:c,endCol:u,endOffset:d}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:c,endCol:u,endOffset:d})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}_adoptNodes(t,n){for(let s=this.treeAdapter.getFirstChild(t);s;s=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(s),this.treeAdapter.appendChild(n,s)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const s=n.location,i=this.treeAdapter.getTagName(t),r=n.type===Gt.END_TAG&&i===n.tagName?{endTag:{...s},endLine:s.endLine,endCol:s.endCol,endOffset:s.endOffset}:{endLine:s.startLine,endCol:s.startCol,endOffset:s.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,r)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,s;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,s=this.fragmentContextID):{current:n,currentTagId:s}=this.openElements,t.tagID===_.SVG&&this.treeAdapter.getTagName(n)===ce.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===Ie.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===_.MGLYPH||t.tagID===_.MALIGNMARK)&&s!==void 0&&!this._isIntegrationPoint(s,n,Ie.HTML)}_processToken(t){switch(t.type){case Gt.CHARACTER:{this.onCharacter(t);break}case Gt.NULL_CHARACTER:{this.onNullCharacter(t);break}case Gt.COMMENT:{this.onComment(t);break}case Gt.DOCTYPE:{this.onDoctype(t);break}case Gt.START_TAG:{this._processStartTag(t);break}case Gt.END_TAG:{this.onEndTag(t);break}case Gt.EOF:{this.onEof(t);break}case Gt.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,s){const i=this.treeAdapter.getNamespaceURI(n),r=this.treeAdapter.getAttrList(n);return Axe(t,i,r,s)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(i=>i.type===Da.Marker||this.openElements.contains(i.element)),s=n===-1?t-1:n-1;for(let i=s;i>=0;i--){const r=this.activeFormattingElements.entries[i];this._insertElement(r.token,this.treeAdapter.getNamespaceURI(r.element)),r.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=Z.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(_.P),this.openElements.popUntilTagNamePopped(_.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case _.TR:{this.insertionMode=Z.IN_ROW;return}case _.TBODY:case _.THEAD:case _.TFOOT:{this.insertionMode=Z.IN_TABLE_BODY;return}case _.CAPTION:{this.insertionMode=Z.IN_CAPTION;return}case _.COLGROUP:{this.insertionMode=Z.IN_COLUMN_GROUP;return}case _.TABLE:{this.insertionMode=Z.IN_TABLE;return}case _.BODY:{this.insertionMode=Z.IN_BODY;return}case _.FRAMESET:{this.insertionMode=Z.IN_FRAMESET;return}case _.SELECT:{this._resetInsertionModeForSelect(t);return}case _.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case _.HTML:{this.insertionMode=this.headElement?Z.AFTER_HEAD:Z.BEFORE_HEAD;return}case _.TD:case _.TH:{if(t>0){this.insertionMode=Z.IN_CELL;return}break}case _.HEAD:{if(t>0){this.insertionMode=Z.IN_HEAD;return}break}}this.insertionMode=Z.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const s=this.openElements.tagIDs[n];if(s===_.TEMPLATE)break;if(s===_.TABLE){this.insertionMode=Z.IN_SELECT_IN_TABLE;return}}this.insertionMode=Z.IN_SELECT}_isElementCausesFosterParenting(t){return sF.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 _.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===Ie.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case _.TABLE:{const s=this.treeAdapter.getParentNode(n);return s?{parent:s,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 s=this.treeAdapter.getNamespaceURI(t);return Z1e[s].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){lve(this,t);return}switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Im(this,t);break}case Z.BEFORE_HEAD:{Rm(this,t);break}case Z.IN_HEAD:{Om(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{jm(this,t);break}case Z.AFTER_HEAD:{Mm(this,t);break}case Z.IN_BODY:case Z.IN_CAPTION:case Z.IN_CELL:case Z.IN_TEMPLATE:{rF(this,t);break}case Z.TEXT:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case Z.IN_TABLE:case Z.IN_TABLE_BODY:case Z.IN_ROW:{zv(this,t);break}case Z.IN_TABLE_TEXT:{dF(this,t);break}case Z.IN_COLUMN_GROUP:{Hy(this,t);break}case Z.AFTER_BODY:{zy(this,t);break}case Z.AFTER_AFTER_BODY:{wb(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){ove(this,t);return}switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Im(this,t);break}case Z.BEFORE_HEAD:{Rm(this,t);break}case Z.IN_HEAD:{Om(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{jm(this,t);break}case Z.AFTER_HEAD:{Mm(this,t);break}case Z.TEXT:{this._insertCharacters(t);break}case Z.IN_TABLE:case Z.IN_TABLE_BODY:case Z.IN_ROW:{zv(this,t);break}case Z.IN_COLUMN_GROUP:{Hy(this,t);break}case Z.AFTER_BODY:{zy(this,t);break}case Z.AFTER_AFTER_BODY:{wb(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){I_(this,t);return}switch(this.insertionMode){case Z.INITIAL:case Z.BEFORE_HTML:case Z.BEFORE_HEAD:case Z.IN_HEAD:case Z.IN_HEAD_NO_SCRIPT:case Z.AFTER_HEAD:case Z.IN_BODY:case Z.IN_TABLE:case Z.IN_CAPTION:case Z.IN_COLUMN_GROUP:case Z.IN_TABLE_BODY:case Z.IN_ROW:case Z.IN_CELL:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:case Z.IN_TEMPLATE:case Z.IN_FRAMESET:case Z.AFTER_FRAMESET:{I_(this,t);break}case Z.IN_TABLE_TEXT:{Oh(this,t);break}case Z.AFTER_BODY:{Uxe(this,t);break}case Z.AFTER_AFTER_BODY:case Z.AFTER_AFTER_FRAMESET:{Fxe(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case Z.INITIAL:{$xe(this,t);break}case Z.BEFORE_HEAD:case Z.IN_HEAD:case Z.IN_HEAD_NO_SCRIPT:case Z.AFTER_HEAD:{this._err(t,be.misplacedDoctype);break}case Z.IN_TABLE_TEXT:{Oh(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,be.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?cve(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Hxe(this,t);break}case Z.BEFORE_HEAD:{Vxe(this,t);break}case Z.IN_HEAD:{Sa(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{qxe(this,t);break}case Z.AFTER_HEAD:{Wxe(this,t);break}case Z.IN_BODY:{Oi(this,t);break}case Z.IN_TABLE:{gf(this,t);break}case Z.IN_TABLE_TEXT:{Oh(this,t);break}case Z.IN_CAPTION:{GEe(this,t);break}case Z.IN_COLUMN_GROUP:{h2(this,t);break}case Z.IN_TABLE_BODY:{dx(this,t);break}case Z.IN_ROW:{fx(this,t);break}case Z.IN_CELL:{YEe(this,t);break}case Z.IN_SELECT:{mF(this,t);break}case Z.IN_SELECT_IN_TABLE:{XEe(this,t);break}case Z.IN_TEMPLATE:{ZEe(this,t);break}case Z.AFTER_BODY:{eve(this,t);break}case Z.IN_FRAMESET:{tve(this,t);break}case Z.AFTER_FRAMESET:{sve(this,t);break}case Z.AFTER_AFTER_BODY:{rve(this,t);break}case Z.AFTER_AFTER_FRAMESET:{ave(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?uve(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{zxe(this,t);break}case Z.BEFORE_HEAD:{Gxe(this,t);break}case Z.IN_HEAD:{Kxe(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{Yxe(this,t);break}case Z.AFTER_HEAD:{Xxe(this,t);break}case Z.IN_BODY:{ux(this,t);break}case Z.TEXT:{LEe(this,t);break}case Z.IN_TABLE:{Sp(this,t);break}case Z.IN_TABLE_TEXT:{Oh(this,t);break}case Z.IN_CAPTION:{KEe(this,t);break}case Z.IN_COLUMN_GROUP:{qEe(this,t);break}case Z.IN_TABLE_BODY:{R_(this,t);break}case Z.IN_ROW:{hF(this,t);break}case Z.IN_CELL:{WEe(this,t);break}case Z.IN_SELECT:{pF(this,t);break}case Z.IN_SELECT_IN_TABLE:{QEe(this,t);break}case Z.IN_TEMPLATE:{JEe(this,t);break}case Z.AFTER_BODY:{bF(this,t);break}case Z.IN_FRAMESET:{nve(this,t);break}case Z.AFTER_FRAMESET:{ive(this,t);break}case Z.AFTER_AFTER_BODY:{wb(this,t);break}}}onEof(t){switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Im(this,t);break}case Z.BEFORE_HEAD:{Rm(this,t);break}case Z.IN_HEAD:{Om(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{jm(this,t);break}case Z.AFTER_HEAD:{Mm(this,t);break}case Z.IN_BODY:case Z.IN_TABLE:case Z.IN_CAPTION:case Z.IN_COLUMN_GROUP:case Z.IN_TABLE_BODY:case Z.IN_ROW:case Z.IN_CELL:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:{cF(this,t);break}case Z.TEXT:{DEe(this,t);break}case Z.IN_TABLE_TEXT:{Oh(this,t);break}case Z.IN_TEMPLATE:{gF(this,t);break}case Z.AFTER_BODY:case Z.IN_FRAMESET:case Z.AFTER_FRAMESET:case Z.AFTER_AFTER_BODY:case Z.AFTER_AFTER_FRAMESET:{f2(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===V.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 Z.IN_HEAD:case Z.IN_HEAD_NO_SCRIPT:case Z.AFTER_HEAD:case Z.TEXT:case Z.IN_COLUMN_GROUP:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:case Z.IN_FRAMESET:case Z.AFTER_FRAMESET:{this._insertCharacters(t);break}case Z.IN_BODY:case Z.IN_CAPTION:case Z.IN_CELL:case Z.IN_TEMPLATE:case Z.AFTER_BODY:case Z.AFTER_AFTER_BODY:case Z.AFTER_AFTER_FRAMESET:{iF(this,t);break}case Z.IN_TABLE:case Z.IN_TABLE_BODY:case Z.IN_ROW:{zv(this,t);break}case Z.IN_TABLE_TEXT:{uF(this,t);break}}}};function jxe(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):lF(e,t),n}function Mxe(e,t){let n=null,s=e.openElements.stackTop;for(;s>=0;s--){const i=e.openElements.items[s];if(i===t.element)break;e._isSpecialElement(i,e.openElements.tagIDs[s])&&(n=i)}return n||(e.openElements.shortenToLength(Math.max(s,0)),e.activeFormattingElements.removeEntry(t)),n}function Lxe(e,t,n){let s=t,i=e.openElements.getCommonAncestor(t);for(let r=0,a=i;a!==n;r++,a=i){i=e.openElements.getCommonAncestor(a);const l=e.activeFormattingElements.getElementEntry(a),c=l&&r>=Rxe;!l||c?(c&&e.activeFormattingElements.removeEntry(l),e.openElements.remove(a)):(a=Dxe(e,l),s===t&&(e.activeFormattingElements.bookmark=l),e.treeAdapter.detachNode(s),e.treeAdapter.appendChild(a,s),s=a)}return s}function Dxe(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),s=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,s),t.element=s,s}function Pxe(e,t,n){const s=e.treeAdapter.getTagName(t),i=$f(s);if(e._isElementCausesFosterParenting(i))e._fosterParentElement(n);else{const r=e.treeAdapter.getNamespaceURI(t);i===_.TEMPLATE&&r===Ie.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Bxe(e,t,n){const s=e.treeAdapter.getNamespaceURI(n.element),{token:i}=n,r=e.treeAdapter.createElement(i.tagName,s,i.attrs);e._adoptNodes(t,r),e.treeAdapter.appendChild(t,r),e.activeFormattingElements.insertElementAfterBookmark(r,i),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,r,i.tagID)}function d2(e,t){for(let n=0;n=n;s--)e._setEndLocation(e.openElements.items[s],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const s=e.openElements.items[0],i=e.treeAdapter.getNodeSourceCodeLocation(s);if(i&&!i.endTag&&(e._setEndLocation(s,t),e.openElements.stackTop>=1)){const r=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(r);a&&!a.endTag&&e._setEndLocation(r,t)}}}}function $xe(e,t){e._setDocumentType(t);const n=t.forceQuirks?$r.QUIRKS:bxe(t);gxe(t)||e._err(t,be.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Z.BEFORE_HTML}function Rh(e,t){e._err(t,be.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,$r.QUIRKS),e.insertionMode=Z.BEFORE_HTML,e._processToken(t)}function Hxe(e,t){t.tagID===_.HTML?(e._insertElement(t,Ie.HTML),e.insertionMode=Z.BEFORE_HEAD):Im(e,t)}function zxe(e,t){const n=t.tagID;(n===_.HTML||n===_.HEAD||n===_.BODY||n===_.BR)&&Im(e,t)}function Im(e,t){e._insertFakeRootElement(),e.insertionMode=Z.BEFORE_HEAD,e._processToken(t)}function Vxe(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.HEAD:{e._insertElement(t,Ie.HTML),e.headElement=e.openElements.current,e.insertionMode=Z.IN_HEAD;break}default:Rm(e,t)}}function Gxe(e,t){const n=t.tagID;n===_.HEAD||n===_.BODY||n===_.HTML||n===_.BR?Rm(e,t):e._err(t,be.endTagWithoutMatchingOpenElement)}function Rm(e,t){e._insertFakeElement(ce.HEAD,_.HEAD),e.headElement=e.openElements.current,e.insertionMode=Z.IN_HEAD,e._processToken(t)}function Sa(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:{e._appendElement(t,Ie.HTML),t.ackSelfClosing=!0;break}case _.TITLE:{e._switchToTextParsing(t,As.RCDATA);break}case _.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,As.RAWTEXT):(e._insertElement(t,Ie.HTML),e.insertionMode=Z.IN_HEAD_NO_SCRIPT);break}case _.NOFRAMES:case _.STYLE:{e._switchToTextParsing(t,As.RAWTEXT);break}case _.SCRIPT:{e._switchToTextParsing(t,As.SCRIPT_DATA);break}case _.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=Z.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(Z.IN_TEMPLATE);break}case _.HEAD:{e._err(t,be.misplacedStartTagForHeadElement);break}default:Om(e,t)}}function Kxe(e,t){switch(t.tagID){case _.HEAD:{e.openElements.pop(),e.insertionMode=Z.AFTER_HEAD;break}case _.BODY:case _.BR:case _.HTML:{Om(e,t);break}case _.TEMPLATE:{fu(e,t);break}default:e._err(t,be.endTagWithoutMatchingOpenElement)}}function fu(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==_.TEMPLATE&&e._err(t,be.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,be.endTagWithoutMatchingOpenElement)}function Om(e,t){e.openElements.pop(),e.insertionMode=Z.AFTER_HEAD,e._processToken(t)}function qxe(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.BASEFONT:case _.BGSOUND:case _.HEAD:case _.LINK:case _.META:case _.NOFRAMES:case _.STYLE:{Sa(e,t);break}case _.NOSCRIPT:{e._err(t,be.nestedNoscriptInHead);break}default:jm(e,t)}}function Yxe(e,t){switch(t.tagID){case _.NOSCRIPT:{e.openElements.pop(),e.insertionMode=Z.IN_HEAD;break}case _.BR:{jm(e,t);break}default:e._err(t,be.endTagWithoutMatchingOpenElement)}}function jm(e,t){const n=t.type===Gt.EOF?be.openElementsLeftAfterEof:be.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=Z.IN_HEAD,e._processToken(t)}function Wxe(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.BODY:{e._insertElement(t,Ie.HTML),e.framesetOk=!1,e.insertionMode=Z.IN_BODY;break}case _.FRAMESET:{e._insertElement(t,Ie.HTML),e.insertionMode=Z.IN_FRAMESET;break}case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:case _.NOFRAMES:case _.SCRIPT:case _.STYLE:case _.TEMPLATE:case _.TITLE:{e._err(t,be.abandonedHeadElementChild),e.openElements.push(e.headElement,_.HEAD),Sa(e,t),e.openElements.remove(e.headElement);break}case _.HEAD:{e._err(t,be.misplacedStartTagForHeadElement);break}default:Mm(e,t)}}function Xxe(e,t){switch(t.tagID){case _.BODY:case _.HTML:case _.BR:{Mm(e,t);break}case _.TEMPLATE:{fu(e,t);break}default:e._err(t,be.endTagWithoutMatchingOpenElement)}}function Mm(e,t){e._insertFakeElement(ce.BODY,_.BODY),e.insertionMode=Z.IN_BODY,cx(e,t)}function cx(e,t){switch(t.type){case Gt.CHARACTER:{rF(e,t);break}case Gt.WHITESPACE_CHARACTER:{iF(e,t);break}case Gt.COMMENT:{I_(e,t);break}case Gt.START_TAG:{Oi(e,t);break}case Gt.END_TAG:{ux(e,t);break}case Gt.EOF:{cF(e,t);break}}}function iF(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function rF(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function Qxe(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function Zxe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function Jxe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,Ie.HTML),e.insertionMode=Z.IN_FRAMESET)}function eEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ie.HTML)}function tEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&C_.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,Ie.HTML)}function nEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ie.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function sEe(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ie.HTML),n||(e.formElement=e.openElements.current))}function iEe(e,t){e.framesetOk=!1;const n=t.tagID;for(let s=e.openElements.stackTop;s>=0;s--){const i=e.openElements.tagIDs[s];if(n===_.LI&&i===_.LI||(n===_.DD||n===_.DT)&&(i===_.DD||i===_.DT)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(i!==_.ADDRESS&&i!==_.DIV&&i!==_.P&&e._isSpecialElement(e.openElements.items[s],i))break}e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ie.HTML)}function rEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ie.HTML),e.tokenizer.state=As.PLAINTEXT}function aEe(e,t){e.openElements.hasInScope(_.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(_.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML),e.framesetOk=!1}function oEe(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(ce.A);n&&(d2(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function lEe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function cEe(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(_.NOBR)&&(d2(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,Ie.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function uEe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function dEe(e,t){e.treeAdapter.getDocumentMode(e.document)!==$r.QUIRKS&&e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Ie.HTML),e.framesetOk=!1,e.insertionMode=Z.IN_TABLE}function aF(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Ie.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function oF(e){const t=W7(e,Dc.TYPE);return t!=null&&t.toLowerCase()===Cxe}function fEe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Ie.HTML),oF(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function hEe(e,t){e._appendElement(t,Ie.HTML),t.ackSelfClosing=!0}function mEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._appendElement(t,Ie.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function pEe(e,t){t.tagName=ce.IMG,t.tagID=_.IMG,aF(e,t)}function gEe(e,t){e._insertElement(t,Ie.HTML),e.skipNextNewLine=!0,e.tokenizer.state=As.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=Z.TEXT}function bEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,As.RAWTEXT)}function yEe(e,t){e.framesetOk=!1,e._switchToTextParsing(t,As.RAWTEXT)}function qM(e,t){e._switchToTextParsing(t,As.RAWTEXT)}function xEe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===Z.IN_TABLE||e.insertionMode===Z.IN_CAPTION||e.insertionMode===Z.IN_TABLE_BODY||e.insertionMode===Z.IN_ROW||e.insertionMode===Z.IN_CELL?Z.IN_SELECT_IN_TABLE:Z.IN_SELECT}function EEe(e,t){e.openElements.currentTagId===_.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML)}function vEe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,Ie.HTML)}function wEe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(_.RTC),e._insertElement(t,Ie.HTML)}function SEe(e,t){e._reconstructActiveFormattingElements(),tF(t),u2(t),t.selfClosing?e._appendElement(t,Ie.MATHML):e._insertElement(t,Ie.MATHML),t.ackSelfClosing=!0}function _Ee(e,t){e._reconstructActiveFormattingElements(),nF(t),u2(t),t.selfClosing?e._appendElement(t,Ie.SVG):e._insertElement(t,Ie.SVG),t.ackSelfClosing=!0}function YM(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Ie.HTML)}function Oi(e,t){switch(t.tagID){case _.I:case _.S:case _.B:case _.U:case _.EM:case _.TT:case _.BIG:case _.CODE:case _.FONT:case _.SMALL:case _.STRIKE:case _.STRONG:{lEe(e,t);break}case _.A:{oEe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{tEe(e,t);break}case _.P:case _.DL:case _.OL:case _.UL:case _.DIV:case _.DIR:case _.NAV:case _.MAIN:case _.MENU:case _.ASIDE:case _.CENTER:case _.FIGURE:case _.FOOTER:case _.HEADER:case _.HGROUP:case _.DIALOG:case _.DETAILS:case _.ADDRESS:case _.ARTICLE:case _.SEARCH:case _.SECTION:case _.SUMMARY:case _.FIELDSET:case _.BLOCKQUOTE:case _.FIGCAPTION:{eEe(e,t);break}case _.LI:case _.DD:case _.DT:{iEe(e,t);break}case _.BR:case _.IMG:case _.WBR:case _.AREA:case _.EMBED:case _.KEYGEN:{aF(e,t);break}case _.HR:{mEe(e,t);break}case _.RB:case _.RTC:{vEe(e,t);break}case _.RT:case _.RP:{wEe(e,t);break}case _.PRE:case _.LISTING:{nEe(e,t);break}case _.XMP:{bEe(e,t);break}case _.SVG:{_Ee(e,t);break}case _.HTML:{Qxe(e,t);break}case _.BASE:case _.LINK:case _.META:case _.STYLE:case _.TITLE:case _.SCRIPT:case _.BGSOUND:case _.BASEFONT:case _.TEMPLATE:{Sa(e,t);break}case _.BODY:{Zxe(e,t);break}case _.FORM:{sEe(e,t);break}case _.NOBR:{cEe(e,t);break}case _.MATH:{SEe(e,t);break}case _.TABLE:{dEe(e,t);break}case _.INPUT:{fEe(e,t);break}case _.PARAM:case _.TRACK:case _.SOURCE:{hEe(e,t);break}case _.IMAGE:{pEe(e,t);break}case _.BUTTON:{aEe(e,t);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{uEe(e,t);break}case _.IFRAME:{yEe(e,t);break}case _.SELECT:{xEe(e,t);break}case _.OPTION:case _.OPTGROUP:{EEe(e,t);break}case _.NOEMBED:case _.NOFRAMES:{qM(e,t);break}case _.FRAMESET:{Jxe(e,t);break}case _.TEXTAREA:{gEe(e,t);break}case _.NOSCRIPT:{e.options.scriptingEnabled?qM(e,t):YM(e,t);break}case _.PLAINTEXT:{rEe(e,t);break}case _.COL:case _.TH:case _.TD:case _.TR:case _.HEAD:case _.FRAME:case _.TBODY:case _.TFOOT:case _.THEAD:case _.CAPTION:case _.COLGROUP:break;default:YM(e,t)}}function TEe(e,t){if(e.openElements.hasInScope(_.BODY)&&(e.insertionMode=Z.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function NEe(e,t){e.openElements.hasInScope(_.BODY)&&(e.insertionMode=Z.AFTER_BODY,bF(e,t))}function kEe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function AEe(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(_.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(_.FORM):n&&e.openElements.remove(n))}function CEe(e){e.openElements.hasInButtonScope(_.P)||e._insertFakeElement(ce.P,_.P),e._closePElement()}function IEe(e){e.openElements.hasInListItemScope(_.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(_.LI),e.openElements.popUntilTagNamePopped(_.LI))}function REe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function OEe(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function jEe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function MEe(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(ce.BR,_.BR),e.openElements.pop(),e.framesetOk=!1}function lF(e,t){const n=t.tagName,s=t.tagID;for(let i=e.openElements.stackTop;i>0;i--){const r=e.openElements.items[i],a=e.openElements.tagIDs[i];if(s===a&&(s!==_.UNKNOWN||e.treeAdapter.getTagName(r)===n)){e.openElements.generateImpliedEndTagsWithExclusion(s),e.openElements.stackTop>=i&&e.openElements.shortenToLength(i);break}if(e._isSpecialElement(r,a))break}}function ux(e,t){switch(t.tagID){case _.A:case _.B:case _.I:case _.S:case _.U:case _.EM:case _.TT:case _.BIG:case _.CODE:case _.FONT:case _.NOBR:case _.SMALL:case _.STRIKE:case _.STRONG:{d2(e,t);break}case _.P:{CEe(e);break}case _.DL:case _.UL:case _.OL:case _.DIR:case _.DIV:case _.NAV:case _.PRE:case _.MAIN:case _.MENU:case _.ASIDE:case _.BUTTON:case _.CENTER:case _.FIGURE:case _.FOOTER:case _.HEADER:case _.HGROUP:case _.DIALOG:case _.ADDRESS:case _.ARTICLE:case _.DETAILS:case _.SEARCH:case _.SECTION:case _.SUMMARY:case _.LISTING:case _.FIELDSET:case _.BLOCKQUOTE:case _.FIGCAPTION:{kEe(e,t);break}case _.LI:{IEe(e);break}case _.DD:case _.DT:{REe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{OEe(e);break}case _.BR:{MEe(e);break}case _.BODY:{TEe(e,t);break}case _.HTML:{NEe(e,t);break}case _.FORM:{AEe(e);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{jEe(e,t);break}case _.TEMPLATE:{fu(e,t);break}default:lF(e,t)}}function cF(e,t){e.tmplInsertionModeStack.length>0?gF(e,t):f2(e,t)}function LEe(e,t){var n;t.tagID===_.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function DEe(e,t){e._err(t,be.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function zv(e,t){if(e.openElements.currentTagId!==void 0&&sF.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=Z.IN_TABLE_TEXT,t.type){case Gt.CHARACTER:{dF(e,t);break}case Gt.WHITESPACE_CHARACTER:{uF(e,t);break}}else og(e,t)}function PEe(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,Ie.HTML),e.insertionMode=Z.IN_CAPTION}function BEe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Ie.HTML),e.insertionMode=Z.IN_COLUMN_GROUP}function UEe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ce.COLGROUP,_.COLGROUP),e.insertionMode=Z.IN_COLUMN_GROUP,h2(e,t)}function FEe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Ie.HTML),e.insertionMode=Z.IN_TABLE_BODY}function $Ee(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ce.TBODY,_.TBODY),e.insertionMode=Z.IN_TABLE_BODY,dx(e,t)}function HEe(e,t){e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function zEe(e,t){oF(t)?e._appendElement(t,Ie.HTML):og(e,t),t.ackSelfClosing=!0}function VEe(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,Ie.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function gf(e,t){switch(t.tagID){case _.TD:case _.TH:case _.TR:{$Ee(e,t);break}case _.STYLE:case _.SCRIPT:case _.TEMPLATE:{Sa(e,t);break}case _.COL:{UEe(e,t);break}case _.FORM:{VEe(e,t);break}case _.TABLE:{HEe(e,t);break}case _.TBODY:case _.TFOOT:case _.THEAD:{FEe(e,t);break}case _.INPUT:{zEe(e,t);break}case _.CAPTION:{PEe(e,t);break}case _.COLGROUP:{BEe(e,t);break}default:og(e,t)}}function Sp(e,t){switch(t.tagID){case _.TABLE:{e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode());break}case _.TEMPLATE:{fu(e,t);break}case _.BODY:case _.CAPTION:case _.COL:case _.COLGROUP:case _.HTML:case _.TBODY:case _.TD:case _.TFOOT:case _.TH:case _.THEAD:case _.TR:break;default:og(e,t)}}function og(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,cx(e,t),e.fosterParentingEnabled=n}function uF(e,t){e.pendingCharacterTokens.push(t)}function dF(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function Oh(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===_.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===_.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===_.OPTGROUP&&e.openElements.pop();break}case _.OPTION:{e.openElements.currentTagId===_.OPTION&&e.openElements.pop();break}case _.SELECT:{e.openElements.hasInSelectScope(_.SELECT)&&(e.openElements.popUntilTagNamePopped(_.SELECT),e._resetInsertionMode());break}case _.TEMPLATE:{fu(e,t);break}}}function XEe(e,t){const n=t.tagID;n===_.CAPTION||n===_.TABLE||n===_.TBODY||n===_.TFOOT||n===_.THEAD||n===_.TR||n===_.TD||n===_.TH?(e.openElements.popUntilTagNamePopped(_.SELECT),e._resetInsertionMode(),e._processStartTag(t)):mF(e,t)}function QEe(e,t){const n=t.tagID;n===_.CAPTION||n===_.TABLE||n===_.TBODY||n===_.TFOOT||n===_.THEAD||n===_.TR||n===_.TD||n===_.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(_.SELECT),e._resetInsertionMode(),e.onEndTag(t)):pF(e,t)}function ZEe(e,t){switch(t.tagID){case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:case _.NOFRAMES:case _.SCRIPT:case _.STYLE:case _.TEMPLATE:case _.TITLE:{Sa(e,t);break}case _.CAPTION:case _.COLGROUP:case _.TBODY:case _.TFOOT:case _.THEAD:{e.tmplInsertionModeStack[0]=Z.IN_TABLE,e.insertionMode=Z.IN_TABLE,gf(e,t);break}case _.COL:{e.tmplInsertionModeStack[0]=Z.IN_COLUMN_GROUP,e.insertionMode=Z.IN_COLUMN_GROUP,h2(e,t);break}case _.TR:{e.tmplInsertionModeStack[0]=Z.IN_TABLE_BODY,e.insertionMode=Z.IN_TABLE_BODY,dx(e,t);break}case _.TD:case _.TH:{e.tmplInsertionModeStack[0]=Z.IN_ROW,e.insertionMode=Z.IN_ROW,fx(e,t);break}default:e.tmplInsertionModeStack[0]=Z.IN_BODY,e.insertionMode=Z.IN_BODY,Oi(e,t)}}function JEe(e,t){t.tagID===_.TEMPLATE&&fu(e,t)}function gF(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):f2(e,t)}function eve(e,t){t.tagID===_.HTML?Oi(e,t):zy(e,t)}function bF(e,t){var n;if(t.tagID===_.HTML){if(e.fragmentContext||(e.insertionMode=Z.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===_.HTML){e._setEndLocation(e.openElements.items[0],t);const s=e.openElements.items[1];s&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(s))===null||n===void 0)&&n.endTag)&&e._setEndLocation(s,t)}}else zy(e,t)}function zy(e,t){e.insertionMode=Z.IN_BODY,cx(e,t)}function tve(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.FRAMESET:{e._insertElement(t,Ie.HTML);break}case _.FRAME:{e._appendElement(t,Ie.HTML),t.ackSelfClosing=!0;break}case _.NOFRAMES:{Sa(e,t);break}}}function nve(e,t){t.tagID===_.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==_.FRAMESET&&(e.insertionMode=Z.AFTER_FRAMESET))}function sve(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.NOFRAMES:{Sa(e,t);break}}}function ive(e,t){t.tagID===_.HTML&&(e.insertionMode=Z.AFTER_AFTER_FRAMESET)}function rve(e,t){t.tagID===_.HTML?Oi(e,t):wb(e,t)}function wb(e,t){e.insertionMode=Z.IN_BODY,cx(e,t)}function ave(e,t){switch(t.tagID){case _.HTML:{Oi(e,t);break}case _.NOFRAMES:{Sa(e,t);break}}}function ove(e,t){t.chars=ls,e._insertCharacters(t)}function lve(e,t){e._insertCharacters(t),e.framesetOk=!1}function yF(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==Ie.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function cve(e,t){if(_xe(t))yF(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),s=e.treeAdapter.getNamespaceURI(n);s===Ie.MATHML?tF(t):s===Ie.SVG&&(Txe(t),nF(t)),u2(t),t.selfClosing?e._appendElement(t,s):e._insertElement(t,s),t.ackSelfClosing=!0}}function uve(e,t){if(t.tagID===_.P||t.tagID===_.BR){yF(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const s=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(s)===Ie.HTML){e._endTagOutsideForeignContent(t);break}const i=e.treeAdapter.getTagName(s);if(i.toLowerCase()===t.tagName){t.tagName=i,e.openElements.shortenToLength(n);break}}}ce.AREA,ce.BASE,ce.BASEFONT,ce.BGSOUND,ce.BR,ce.COL,ce.EMBED,ce.FRAME,ce.HR,ce.IMG,ce.INPUT,ce.KEYGEN,ce.LINK,ce.META,ce.PARAM,ce.SOURCE,ce.TRACK,ce.WBR;const dve=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,fve=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),WM={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function xF(e,t){const n=wve(e),s=MU("type",{handlers:{root:hve,element:mve,text:pve,comment:vF,doctype:gve,raw:yve},unknown:xve}),i={parser:n?new KM(WM):KM.getFragmentParser(void 0,WM),handle(l){s(l,i)},stitches:!1,options:t||{}};s(e,i),Hf(i,Xa());const r=n?i.parser.document:i.parser.getFragment(),a=S1e(r,{file:i.options.file});return i.stitches&&rg(a,"comment",function(l,c,u){const d=l;if(d.value.stitch&&u&&c!==void 0){const f=u.children;return f[c]=d.value.stitch,c}}),a.type==="root"&&a.children.length===1&&a.children[0].type===e.type?a.children[0]:a}function EF(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:Gt.CHARACTER,chars:e.value,location:lg(e)};Hf(t,Xa(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function gve(e,t){const n={type:Gt.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:lg(e)};Hf(t,Xa(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function bve(e,t){t.stitches=!0;const n=Sve(e);if("children"in e&&"children"in n){const s=xF({type:"root",children:e.children},t.options);n.children=s.children}vF({type:"comment",value:{stitch:n}},t)}function vF(e,t){const n=e.value,s={type:Gt.COMMENT,data:n,location:lg(e)};Hf(t,Xa(e)),t.parser.currentToken=s,t.parser._processToken(t.parser.currentToken)}function yve(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,wF(t,Xa(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(dve,"<$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 xve(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))bve(n,t);else{let s="";throw fve.has(n.type)&&(s=". 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"+s)}}function Hf(e,t){wF(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=As.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 wF(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 Eve(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===As.PLAINTEXT)return;Hf(t,Xa(e));const s=t.parser.openElements.current;let i="namespaceURI"in s?s.namespaceURI:vc.html;i===vc.html&&n==="svg"&&(i=vc.svg);const r=A1e({...e,children:[]},{space:i===vc.svg?"svg":"html"}),a={type:Gt.START_TAG,tagName:n,tagID:$f(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in r?r.attrs:[],location:lg(e)};t.parser.currentToken=a,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function vve(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&D1e.includes(n)||t.parser.tokenizer.state===As.PLAINTEXT)return;Hf(t,sx(e));const s={type:Gt.END_TAG,tagName:n,tagID:$f(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:lg(e)};t.parser.currentToken=s,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===As.RCDATA||t.parser.tokenizer.state===As.RAWTEXT||t.parser.tokenizer.state===As.SCRIPT_DATA)&&(t.parser.tokenizer.state=As.DATA)}function wve(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function lg(e){const t=Xa(e)||{line:void 0,column:void 0,offset:void 0},n=sx(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 Sve(e){return"children"in e?mf({...e,children:[]}):mf(e)}function _ve(e){return function(t,n){return xF(t,{...e,file:n})}}const SF=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function _F(e){if(!e)return!1;try{const t=e.toLowerCase();return SF.some(n=>t.includes(n))}catch{return!1}}function Tve(e){var s;const t=(s=e==null?void 0:e.properties)==null?void 0:s.href;if(!t)return!1;if(_F(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const i=n.map(r=>(r==null?void 0:r.value)||"").join("").toLowerCase();return SF.some(r=>i.includes(r))}return!1}function Nve({text:e,className:t,allowRawHtml:n=!0}){const[s,i]=b.useState(null),r=(c,u)=>{if(c.src)return c.src;if(u){const d=h=>{var m;if(!h)return null;if(h.type==="source"&&((m=h.properties)!=null&&m.src))return h.properties.src;if(h.children)for(const p of h.children){const g=d(p);if(g)return g}return null},f=d({children:u});if(f)return f}return""},a=c=>{try{const d=new URL(c).pathname.split("/");return d[d.length-1]||"video.mp4"}catch{return"video.mp4"}},l=c=>c?Array.isArray(c)?c.map(u=>(u==null?void 0:u.value)||"").join("")||"video":(c==null?void 0:c.value)||"video":"video";return o.jsxs("div",{className:t?`md ${t}`:"md",children:[o.jsx(Cpe,{remarkPlugins:[H0e],rehypePlugins:n?[_ve,OM]:[OM],components:{a:({node:c,...u})=>{const d=u.href;if(d&&(_F(d)||Tve(c))){const f=d,h=l(c==null?void 0:c.children);return o.jsxs("div",{className:"video-container",children:[o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${h}`,onClick:()=>i({src:f,title:h}),children:[o.jsx("video",{src:f,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(Rc,{})})]}),o.jsx("div",{className:"video-caption",children:o.jsx("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:h})})]})}return o.jsx("a",{...u,target:"_blank",rel:"noopener noreferrer"})},img:({node:c,src:u,alt:d,...f})=>{const h=o.jsx("img",{...f,src:u,alt:d??"",loading:"lazy"});return u?o.jsx(lP,{src:u,children:o.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${d||"图片"}`,children:[h,o.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:o.jsx(Rc,{})})]})}):h},video:({node:c,src:u,children:d,...f})=>{const h=r({src:u},d);return h?o.jsx("div",{className:"video-container",children:o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>i({src:h}),children:[o.jsx("video",{src:h,...f,playsInline:!0,className:"video-thumbnail",children:d}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(Rc,{})})]})}):o.jsx("video",{src:u,controls:!0,playsInline:!0,className:"video-inline",...f,children:d})}},children:e}),s&&o.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>i(null),children:o.jsxs("div",{className:"video-viewer",onClick:c=>c.stopPropagation(),children:[o.jsxs("div",{className:"video-viewer-header",children:[o.jsx("div",{className:"video-viewer-title",children:s.title||a(s.src)}),o.jsxs("nav",{className:"video-viewer-nav",children:[o.jsx("a",{href:s.src,download:s.title||a(s.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:o.jsx(A1,{})}),o.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>i(null),children:o.jsx(Ei,{})})]})]}),o.jsx("div",{className:"video-viewer-body",children:o.jsx("video",{src:s.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const zf=b.memo(Nve),XM=6,QM=7,kve={active:"可用",available:"可用",creating:"创建中",disabled:"已停用",enabled:"已启用",failed:"异常",inactive:"未启用",pending:"等待中",published:"已发布",ready:"就绪",released:"已发布",running:"运行中",success:"正常",unavailable:"不可用",unreleased:"未发布",updating:"更新中"};function O_(e){return kve[(e||"").trim().toLowerCase()]||"未知"}function ZM(e){const t=(e||"").toLowerCase();return["active","available","enabled","published","ready","released","success"].includes(t)?"is-positive":["creating","pending","running","updating"].includes(t)?"is-progress":["failed","unavailable"].includes(t)?"is-danger":"is-muted"}function Ave(e){if(!e)return"";const t=e.trim(),n=Number(t),s=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(s.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(s)}function Cve(e){const t=e.replace(/\r\n/g,` +`))}function c(m,p,g,v){const y=g.enter("tableCell"),x=g.enter("phrasing"),E=g.containerPhrasing(m,{...v,before:r,after:r});return x(),y(),E}function u(m,p){return Tge(m,{align:p,alignDelimiters:s,padding:n,stringLength:i})}function d(m,p,g){const v=m.children;let y=-1;const x=[],E=p.enter("table");for(;++y0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const C0e={tokenize:P0e,partial:!0};function I0e(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:M0e,continuation:{tokenize:L0e},exit:D0e}},text:{91:{name:"gfmFootnoteCall",tokenize:O0e},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:R0e,resolveTo:j0e}}}}function R0e(e,t,n){const s=this;let i=s.events.length;const r=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let a;for(;i--;){const c=s.events[i][1];if(c.type==="labelImage"){a=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!a||!a._balanced)return n(c);const u=ya(s.sliceSerialize({start:a.end,end:s.now()}));return u.codePointAt(0)!==94||!r.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function j0e(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 s={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const r={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},r.start),end:Object.assign({},r.end)},l=[e[n+1],e[n+2],["enter",s,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",r,t],["enter",a,t],["exit",a,t],["exit",r,t],e[e.length-2],e[e.length-1],["exit",s,t]];return e.splice(n,e.length-n+1,...l),e}function O0e(e,t,n){const s=this,i=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let r=0,a;return l;function l(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),c}function c(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(r>999||f===93&&!a||f===null||f===91||Pn(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return i.includes(ya(s.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return Pn(f)||(a=!0),r++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),r++,u):u(f)}}function M0e(e,t,n){const s=this,i=s.parser.gfmFootnotes||(s.parser.gfmFootnotes=[]);let r,a=0,l;return c;function c(p){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(p){return p===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(p)}function d(p){if(a>999||p===93&&!l||p===null||p===91||Pn(p))return n(p);if(p===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return r=ya(s.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return Pn(p)||(l=!0),a++,e.consume(p),p===92?f:d}function f(p){return p===91||p===92||p===93?(e.consume(p),a++,d):d(p)}function h(p){return p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),i.includes(r)||i.push(r),sn(e,m,"gfmFootnoteDefinitionWhitespace")):n(p)}function m(p){return t(p)}}function L0e(e,t,n){return e.check(ig,t,e.attempt(C0e,t,n))}function D0e(e){e.exit("gfmFootnoteDefinition")}function P0e(e,t,n){const s=this;return sn(e,i,"gfmFootnoteDefinitionIndent",5);function i(r){const a=s.events[s.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(r):n(r)}}function B0e(e){let n=(e||{}).singleTilde;const s={name:"strikethrough",tokenize:r,resolveAll:i};return n==null&&(n=!0),{text:{126:s},insideSpan:{null:[s]},attentionMarkers:{null:[126]}};function i(a,l){let c=-1;for(;++c1?c(p):(a.consume(p),f++,m);if(f<2&&!n)return c(p);const v=a.exit("strikethroughSequenceTemporary"),y=hf(p);return v._open=!y||y===2&&!!g,v._close=!g||g===2&&!!y,l(p)}}}class U0e{constructor(){this.map=[]}add(t,n,s){F0e(this,t,n,s)}consume(t){if(this.map.sort(function(r,a){return r[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const s=[];for(;n>0;)n-=1,s.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];s.push(t.slice()),t.length=0;let i=s.pop();for(;i;){for(const r of i)t.push(r);i=s.pop()}this.map.length=0}}function F0e(e,t,n,s){let i=0;if(!(n===0&&s.length===0)){for(;i-1;){const D=s.events[O][1].type;if(D==="lineEnding"||D==="linePrefix")O--;else break}const L=O>-1?s.events[O][1].type:null,G=L==="tableHead"||L==="tableRow"?S:c;return G===S&&s.parser.lazy[s.now().line]?n(I):G(I)}function c(I){return e.enter("tableHead"),e.enter("tableRow"),u(I)}function u(I){return I===124||(a=!0,r+=1),d(I)}function d(I){return I===null?n(I):mt(I)?r>1?(r=0,s.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),m):n(I):Kt(I)?sn(e,d,"whitespace")(I):(r+=1,a&&(a=!1,i+=1),I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),a=!0,d):(e.enter("data"),f(I)))}function f(I){return I===null||I===124||Pn(I)?(e.exit("data"),d(I)):(e.consume(I),I===92?h:f)}function h(I){return I===92||I===124?(e.consume(I),f):f(I)}function m(I){return s.interrupt=!1,s.parser.lazy[s.now().line]?n(I):(e.enter("tableDelimiterRow"),a=!1,Kt(I)?sn(e,p,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):p(I))}function p(I){return I===45||I===58?v(I):I===124?(a=!0,e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),g):T(I)}function g(I){return Kt(I)?sn(e,v,"whitespace")(I):v(I)}function v(I){return I===58?(r+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),y):I===45?(r+=1,y(I)):I===null||mt(I)?w(I):T(I)}function y(I){return I===45?(e.enter("tableDelimiterFiller"),x(I)):T(I)}function x(I){return I===45?(e.consume(I),x):I===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),E):(e.exit("tableDelimiterFiller"),E(I))}function E(I){return Kt(I)?sn(e,w,"whitespace")(I):w(I)}function w(I){return I===124?p(I):I===null||mt(I)?!a||i!==r?T(I):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(I)):T(I)}function T(I){return n(I)}function S(I){return e.enter("tableRow"),N(I)}function N(I){return I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),N):I===null||mt(I)?(e.exit("tableRow"),t(I)):Kt(I)?sn(e,N,"whitespace")(I):(e.enter("data"),A(I))}function A(I){return I===null||I===124||Pn(I)?(e.exit("data"),N(I)):(e.consume(I),I===92?C:A)}function C(I){return I===92||I===124?(e.consume(I),A):A(I)}}function V0e(e,t){let n=-1,s=!0,i=0,r=[0,0,0,0],a=[0,0,0,0],l=!1,c=0,u,d,f;const h=new U0e;for(;++nn[2]+1){const p=n[2]+1,g=n[3]-n[2]-1;e.add(p,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return i!==void 0&&(r.end=Object.assign({},Gu(t.events,i)),e.add(i,0,[["exit",r,t]]),r=void 0),r}function gM(e,t,n,s,i){const r=[],a=Gu(t.events,n);i&&(i.end=Object.assign({},a),r.push(["exit",i,t])),s.end=Object.assign({},a),r.push(["exit",s,t]),e.add(n+1,0,r)}function Gu(e,t){const n=e[t],s=n[0]==="enter"?"start":"end";return n[1][s]}const G0e={name:"tasklistCheck",tokenize:q0e};function K0e(){return{text:{91:G0e}}}function q0e(e,t,n){const s=this;return i;function i(c){return s.previous!==null||!s._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),r)}function r(c){return Pn(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),a):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),a):n(c)}function a(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):n(c)}function l(c){return mt(c)?t(c):Kt(c)?e.check({tokenize:Y0e},t,n)(c):n(c)}}function Y0e(e,t,n){return sn(e,s,"whitespace");function s(i){return i===null?n(i):t(i)}}function W0e(e){return gU([E0e(),I0e(),B0e(e),H0e(),K0e()])}const X0e={};function Q0e(e){const t=this,n=e||X0e,s=t.data(),i=s.micromarkExtensions||(s.micromarkExtensions=[]),r=s.fromMarkdownExtensions||(s.fromMarkdownExtensions=[]),a=s.toMarkdownExtensions||(s.toMarkdownExtensions=[]);i.push(W0e(n)),r.push(g0e()),a.push(b0e(n))}const bM=function(e,t,n){const s=rg(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&&c.push(` +`.repeat(u)||" "),u=-1,c.push(d))}return c.join("")}function c7(e,t,n){return e.type==="element"?rbe(e,t,n):e.type==="text"?n.whitespace==="normal"?u7(e,n):abe(e):[]}function rbe(e,t,n){const s=d7(e,n),i=e.children||[];let r=-1,a=[];if(sbe(e))return a;let l,c;for(C_(e)||vM(e)&&bM(t,e,vM)?c=` +`:nbe(e)?(l=2,c=2):l7(e)&&(l=1,c=1);++r]+>")+")",l={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(i)+e.IDENT_RE,relevance:0},m=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["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"],v=["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"],y=["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"],w={type:g,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},T={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[T,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],N={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:S.concat([{begin:/\(/,end:/\)/,keywords:w,contains:S.concat(["self"]),relevance:0}]),relevance:0},A={className:"function",begin:"("+a+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:m,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function hbe(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=fbe(e),s=n.keywords;return s.type=[...s.type,...t.type],s.literal=[...s.literal,...t.literal],s.built_in=[...s.built_in,...t.built_in],s._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function f7(e){const t=e.regex,n={},s={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},s]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r=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"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(l);const c={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"],m=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),p={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"],v=["true","false"],y={match:/(\/[a-z._-]+)+/},x=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],E=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],w=["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"],T=["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:v,built_in:[...x,...E,"set","shopt",...w,...T]},contains:[m,e.SHEBANG(),p,f,r,a,y,l,c,u,d,n]}}function mbe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="("+s+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={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(i)+e.IDENT_RE,relevance:0},m=t.optional(i)+e.IDENT_RE+"\\s*\\(",v={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"},y=[f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:y.concat([{begin:/\(/,end:/\)/,keywords:v,contains:y.concat(["self"]),relevance:0}]),relevance:0},E={begin:"("+a+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:v,relevance:0},{begin:m,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:v,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:v}}}function pbe(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),s="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="(?!struct)("+s+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={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(i)+e.IDENT_RE,relevance:0},m=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["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"],v=["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"],y=["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"],w={type:g,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},T={className:"function.dispatch",relevance:0,keywords:{_hint:y},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},S=[T,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],N={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:w,contains:S.concat([{begin:/\(/,end:/\)/,keywords:w,contains:S.concat(["self"]),relevance:0}]),relevance:0},A={className:"function",begin:"("+a+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:w,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:s,keywords:w,relevance:0},{begin:m,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:w,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:w,illegal:"",keywords:w,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:w},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function gbe(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"],s=["default","false","null","true"],i=["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"],r=["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:i.concat(r),built_in:t,literal:s},l=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},m=e.inherit(h,{illegal:/\n/}),p={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,m]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},v=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},m]});h.contains=[g,p,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],m.contains=[v,p,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const y={variants:[u,g,p,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},x={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},E=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",w={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"}},y,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,x,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,x,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:"("+E+"\\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,x],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[y,c,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},w]}}const bbe=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_-]*/}}),ybe=["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"],xbe=["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"],Ebe=[...ybe,...xbe],vbe=["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(),wbe=["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(),Sbe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),_be=["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 Tbe(e){const t=e.regex,n=bbe(e),s={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",r=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",l=[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,s,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:":("+wbe.join("|")+")"},{begin:":(:)?("+Sbe.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+_be.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:r},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:vbe.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Ebe.join("|")+")\\b"}]}}function Nbe(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 kbe(e){const r={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:r,illegal:"m7(e,t,n-1))}function Cbe(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",s=n+m7("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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:c,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,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:["(?:"+s+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,wM,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},wM,u]}}const SM="[A-Za-z$_][0-9A-Za-z$_]*",Ibe=["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"],Rbe=["true","false","null","undefined","NaN","Infinity"],p7=["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"],g7=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],b7=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],jbe=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Obe=[].concat(b7,p7,g7);function y7(e){const t=e.regex,n=(P,{after:$})=>{const R="",end:""},r=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,$)=>{const R=P[0].length+P.index,q=P.input[R];if(q==="<"||q===","){$.ignoreMatch();return}q===">"&&(n(P,{after:R})||$.ignoreMatch());let Q;const B=P.input.substring(R);if(Q=B.match(/^\s*=/)){$.ignoreMatch();return}if((Q=B.match(/^\s+extends\s+/))&&Q.index===0){$.ignoreMatch();return}}},l={$pattern:SM,keyword:Ibe,literal:Rbe,built_in:Obe,"variable.language":jbe},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\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:l,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},p={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"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},x={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:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,{match:/\$\d+/},f];h.contains=E.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(E)});const w=[].concat(x,h.contains),T=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:T},N={variants:[{match:[/class/,/\s+/,s,/\s+/,/extends/,/\s+/,t.concat(s,"(",t.concat(/\./,s),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,s],scope:{1:"keyword",3:"title.class"}}]},A={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:{_:[...p7,...g7]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},I={variants:[{match:[/function/,/\s+/,s,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},O={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function L(P){return t.concat("(?!",P.join("|"),")")}const G={match:t.concat(/\b/,L([...b7,"super","import"].map(P=>`${P}\\s*\\(`)),s,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(s,/(?![0-9A-Za-z$_(])/))),end:s,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},F={match:[/get|set/,/\s+/,s,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},k="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",j={match:[/const|var|let/,/\s+/,s,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(k)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:A},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,x,{match:/\$\d+/},f,A,{scope:"attr",match:s+t.lookahead(":"),relevance:0},j,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[x,e.REGEXP_MODE,{className:"function",begin:k,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:l,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:r},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:s,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+s,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},G,O,N,F,{match:/\$[(.]/}]}}function x7(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],i={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:s},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var qu="[0-9](_*[0-9])*",T0=`\\.(${qu})`,N0="[0-9a-fA-F](_*[0-9a-fA-F])*",Mbe={className:"number",variants:[{begin:`(\\b(${qu})((${T0})|\\.)?|(${T0}))[eE][+-]?(${qu})[fFdD]?\\b`},{begin:`\\b(${qu})((${T0})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${T0})[fFdD]?\\b`},{begin:`\\b(${qu})[fFdD]\\b`},{begin:`\\b0[xX]((${N0})\\.?|(${N0})?\\.(${N0}))[pP][+-]?(${qu})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${N0})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Lbe(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+/}]}},s={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},r={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[r,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,r,i]}]};i.contains.push(a);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},u=Mbe,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,s,l,c,{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,l,c,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},l,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},u]}}const Dbe=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_-]*/}}),Pbe=["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"],Bbe=["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"],Ube=[...Pbe,...Bbe],Fbe=["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(),E7=["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(),v7=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),$be=["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(),Hbe=E7.concat(v7).sort().reverse();function zbe(e){const t=Dbe(e),n=Hbe,s="and or not only",i="[\\w-]+",r="("+i+"|@\\{"+i+"\\})",a=[],l=[],c=function(E){return{className:"string",begin:"~?"+E+".*?"+E}},u=function(E,w,T){return{className:E,begin:w,relevance:T}},d={$pattern:/[a-z-]+/,keyword:s,attribute:Fbe.join(" ")},f={begin:"\\(",end:"\\)",contains:l,keywords:d,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+i,10),u("variable","@\\{"+i+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=l.concat({begin:/\{/,end:/\}/,contains:a}),m={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},p={begin:r+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$be.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},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:l,relevance:0}},v={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:h}},y={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:r,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,u("keyword","all\\b"),u("variable","@\\{"+i+"\\}"),{begin:"\\b("+Ube.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",r,0),u("selector-id","#"+r),u("selector-class","\\."+r,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+E7.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+v7.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},x={begin:i+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[y]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,v,x,p,y,m,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}function Vbe(e){const t="\\[=*\\[",n="\\]=*\\]",s={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[s],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:i.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:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[s],relevance:5}])}}function w7(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},s={begin:"^[-\\*]{3,}",end:"$"},i={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}]},r={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}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),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 m=[n,c];return[u,d,f,h].forEach(y=>{y.contains=y.contains.concat(m)}),m=m.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:m},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:m}]}]},n,r,u,d,{className:"quote",begin:"^>\\s+",contains:m,end:"$"},i,s,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function Gbe(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_]*/,l={"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"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function Kbe(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"],s=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(" ")},r={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},a={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},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,r,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,v,y="\\1")=>{const x=y==="\\1"?y:t.concat(y,v);return t.concat(t.concat("(?:",g,")"),v,/(?:\\.|[^\\\/])*?/,x,/(?:\\.|[^\\\/])*?/,y,s)},m=(g,v,y)=>t.concat(t.concat("(?:",g,")"),v,/(?:\\.|[^\\\/])*?/,y,s),p=[c,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:m("(?:m|qr)?",/\//,/\//)},{begin:m("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:m("m|qr",/\(/,/\)/)},{begin:m("m|qr",/\[/,/\]/)},{begin:m("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return r.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:p}}function qbe(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,s=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),r=t.concat(/[A-Z]+/,n),a={scope:"variable",match:"\\$+"+s},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={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(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(D,F)=>{F.data._beginMatch=D[1]||D[2]},"on:end":(D,F)=>{F.data._beginMatch!==D[1]&&F.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),m=`[ +]`,p={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},v=["false","null","true"],y=["__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"],x=["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"],w={keyword:y,literal:(D=>{const F=[];return D.forEach(k=>{F.push(k),k.toLowerCase()===k?F.push(k.toUpperCase()):F.push(k.toLowerCase())}),F})(v),built_in:x},T=D=>D.map(F=>F.replace(/\|\d+$/,"")),S={variants:[{match:[/new/,t.concat(m,"+"),t.concat("(?!",T(x).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},N=t.concat(s,"\\b(?!\\()"),A={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),N],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),N],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},C={scope:"attr",match:t.concat(s,t.lookahead(":"),t.lookahead(/(?!::)/))},I={relevance:0,begin:/\(/,end:/\)/,keywords:w,contains:[C,a,A,e.C_BLOCK_COMMENT_MODE,p,g,S]},O={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",T(y).join("\\b|"),"|",T(x).join("\\b|"),"\\b)"),s,t.concat(m,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[I]};I.contains.push(O);const L=[C,A,e.C_BLOCK_COMMENT_MODE,p,g,S],G={begin:t.concat(/#\[\s*\\?/,t.either(i,r)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:v,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:v,keyword:["new","array"]},contains:["self",...L]},...L,{scope:"meta",variants:[{match:i},{match:r}]}]};return{case_insensitive:!1,keywords:w,contains:[G,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}]}},l,{scope:"variable.language",match:/\$this\b/},a,O,A,{match:[/const/,/\s/,s],scope:{1:"keyword",3:"variable.constant"}},S,{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:w,contains:["self",G,a,A,e.C_BLOCK_COMMENT_MODE,p,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]},p,g]}}function Ybe(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 Wbe(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function _7(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),s=["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"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:s,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,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,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,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])*",m=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,p=`\\b|${s.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${m}))[eE][+-]?(${h})[jJ]?(?=${p})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${p})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${p})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${p})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${p})`},{begin:`\\b(${h})[jJ](?=${p})`}]},v={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},y={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,v,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[y]},{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,y,f]}]}}function Xbe(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Qbe(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,s=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]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=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:[i,s]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,s]},{scope:{1:"punctuation",2:"number"},match:[r,s]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,s]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function Zbe(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(s,/(::\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"]},l={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],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",m="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${m}))?([eE][+-]?(${m})|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}]},S=[f,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:s,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},p,{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(c,u),relevance:0}].concat(c,u);d.contains=S,g.contains=S;const I=[{begin:/^\s*=>/,starts:{end:"$",contains:S}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:S}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(I).concat(u).concat(S)}}function Jbe(e){const t=e.regex,n=/(r#)?/,s=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),r={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(32|64))?",l=["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"],c=["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:l,literal:c,built_in:u},illegal:""},r]}}const eye=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_-]*/}}),tye=["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"],nye=["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"],sye=[...tye,...nye],iye=["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(),rye=["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(),aye=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),oye=["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 lye(e){const t=eye(e),n=aye,s=rye,i="@[a-z-]+",r="and or not only",l={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("+sye.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+s.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},l,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oye.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,l,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:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:iye.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},l,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function cye(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function uye(e){const t=e.regex,n=e.COMMENT("--","$"),s={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},r=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],l=["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"],c=["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"],m=d,p=[...u,...c].filter(T=>!d.includes(T)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},v={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},y={match:t.concat(/\b/,t.either(...m),/\s*\(/),relevance:0,keywords:{built_in:m}};function x(T){return t.concat(/\b/,t.either(...T.map(S=>S.replace(/\s+/,"\\s+"))),/\b/)}const E={scope:"keyword",match:x(h),relevance:0};function w(T,{exceptions:S,when:N}={}){const A=N;return S=S||[],T.map(C=>C.match(/\|\d+$/)||S.includes(C)?C:A(C)?`${C}|0`:C)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:w(p,{when:T=>T.length<3}),literal:r,type:l,built_in:f},contains:[{scope:"type",match:x(a)},E,y,g,s,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,v]}}function T7(e){return e?typeof e=="string"?e:e.source:null}function Ih(e){return Nn("(?=",e,")")}function Nn(...e){return e.map(n=>T7(n)).join("")}function dye(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function $i(...e){return"("+(dye(e).capture?"":"?:")+e.map(s=>T7(s)).join("|")+")"}const a2=e=>Nn(/\b/,e,/\w$/.test(e)?/\b/:/\B/),fye=["Protocol","Type"].map(a2),_M=["init","self"].map(a2),hye=["Any","Self"],Hv=["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"],TM=["false","nil","true"],mye=["assignment","associativity","higherThan","left","lowerThan","none","right"],pye=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],NM=["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"],N7=$i(/[/=\-+!*%<>&|^~?]/,/[\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]/),k7=$i(N7,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),zv=Nn(N7,k7,"*"),A7=$i(/[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]/),Uy=$i(A7,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Oa=Nn(A7,Uy,"*"),k0=Nn(/[A-Z]/,Uy,"*"),gye=["attached","autoclosure",Nn(/convention\(/,$i("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Nn(/objc\(/,Oa,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],bye=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function yye(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,$i(...fye,..._M)],className:{2:"keyword"}},r={match:Nn(/\./,$i(...Hv)),relevance:0},a=Hv.filter(oe=>typeof oe=="string").concat(["_|0"]),l=Hv.filter(oe=>typeof oe!="string").concat(hye).map(a2),c={variants:[{className:"keyword",match:$i(...l,..._M)}]},u={$pattern:$i(/\b\w+/,/#\w+/),keyword:a.concat(pye),literal:TM},d=[i,r,c],f={match:Nn(/\./,$i(...NM)),relevance:0},h={className:"built_in",match:Nn(/\b/,$i(...NM),/(?=\()/)},m=[f,h],p={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:zv},{match:`\\.(\\.|${k7})+`}]},v=[p,g],y="([0-9]_*)+",x="([0-9a-fA-F]_*)+",E={className:"number",relevance:0,variants:[{match:`\\b(${y})(\\.(${y}))?([eE][+-]?(${y}))?\\b`},{match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(${y}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},w=(oe="")=>({className:"subst",variants:[{match:Nn(/\\/,oe,/[0\\tnr"']/)},{match:Nn(/\\/,oe,/u\{[0-9a-fA-F]{1,8}\}/)}]}),T=(oe="")=>({className:"subst",match:Nn(/\\/,oe,/[\t ]*(?:[\r\n]|\r\n)/)}),S=(oe="")=>({className:"subst",label:"interpol",begin:Nn(/\\/,oe,/\(/),end:/\)/}),N=(oe="")=>({begin:Nn(oe,/"""/),end:Nn(/"""/,oe),contains:[w(oe),T(oe),S(oe)]}),A=(oe="")=>({begin:Nn(oe,/"/),end:Nn(/"/,oe),contains:[w(oe),S(oe)]}),C={className:"string",variants:[N(),N("#"),N("##"),N("###"),A(),A("#"),A("##"),A("###")]},I=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:I},L=oe=>{const ve=Nn(oe,/\//),xe=Nn(/\//,oe);return{begin:ve,end:xe,contains:[...I,{scope:"comment",begin:`#(?!.*${xe})`,end:/$/}]}},G={scope:"regexp",variants:[L("###"),L("##"),L("#"),O]},D={match:Nn(/`/,Oa,/`/)},F={className:"variable",match:/\$\d+/},k={className:"variable",match:`\\$${Uy}+`},j=[D,F,k],P={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:bye,contains:[...v,E,C]}]}},$={scope:"keyword",match:Nn(/@/,$i(...gye),Ih($i(/\(/,/\s+/)))},R={scope:"meta",match:Nn(/@/,Oa)},q=[P,$,R],Q={match:Ih(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Nn(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Uy,"+")},{className:"type",match:k0,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Nn(/\s+&\s+/,Ih(k0)),relevance:0}]},B={begin://,keywords:u,contains:[...s,...d,...q,p,Q]};Q.contains.push(B);const ee={match:Nn(Oa,/\s*:/),keywords:"_|0",relevance:0},z={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",ee,...s,G,...d,...m,...v,E,C,...j,...q,Q]},K={begin://,keywords:"repeat each",contains:[...s,Q]},ne={begin:$i(Ih(Nn(Oa,/\s*:/)),Ih(Nn(Oa,/\s+/,Oa,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Oa}]},W={begin:/\(/,end:/\)/,keywords:u,contains:[ne,...s,...d,...v,E,C,...q,Q,z],endsParent:!0,illegal:/["']/},de={match:[/(func|macro)/,/\s+/,$i(D.match,Oa,zv)],className:{1:"keyword",3:"title.function"},contains:[K,W,t],illegal:[/\[/,/%/]},ye={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[K,W,t],illegal:/\[|%/},_e={match:[/operator/,/\s+/,zv],className:{1:"keyword",3:"title"}},ue={begin:[/precedencegroup/,/\s+/,k0],className:{1:"keyword",3:"title"},contains:[Q],keywords:[...mye,...TM],end:/}/},me={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Ce={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},pe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Oa,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[K,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:k0},...d],relevance:0}]};for(const oe of C.variants){const ve=oe.contains.find(Ze=>Ze.label==="interpol");ve.keywords=u;const xe=[...d,...m,...v,E,C,...j];ve.contains=[...xe,{begin:/\(/,end:/\)/,contains:["self",...xe]}]}return{name:"Swift",keywords:u,contains:[...s,de,ye,me,Ce,pe,_e,ue,{beginKeywords:"import",end:/$/,contains:[...s],relevance:0},G,...d,...m,...v,E,C,...j,...q,Q,z]}}const Fy="[A-Za-z$_][0-9A-Za-z$_]*",C7=["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"],I7=["true","false","null","undefined","NaN","Infinity"],R7=["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"],j7=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],O7=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],M7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],L7=[].concat(O7,R7,j7);function xye(e){const t=e.regex,n=(P,{after:$})=>{const R="",end:""},r=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,$)=>{const R=P[0].length+P.index,q=P.input[R];if(q==="<"||q===","){$.ignoreMatch();return}q===">"&&(n(P,{after:R})||$.ignoreMatch());let Q;const B=P.input.substring(R);if(Q=B.match(/^\s*=/)){$.ignoreMatch();return}if((Q=B.match(/^\s+extends\s+/))&&Q.index===0){$.ignoreMatch();return}}},l={$pattern:Fy,keyword:C7,literal:I7,built_in:L7,"variable.language":M7},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\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:l,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},p={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"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},x={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:s+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,{match:/\$\d+/},f];h.contains=E.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(E)});const w=[].concat(x,h.contains),T=w.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(w)}]),S={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:T},N={variants:[{match:[/class/,/\s+/,s,/\s+/,/extends/,/\s+/,t.concat(s,"(",t.concat(/\./,s),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,s],scope:{1:"keyword",3:"title.class"}}]},A={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:{_:[...R7,...j7]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},I={variants:[{match:[/function/,/\s+/,s,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[S],illegal:/%/},O={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function L(P){return t.concat("(?!",P.join("|"),")")}const G={match:t.concat(/\b/,L([...O7,"super","import"].map(P=>`${P}\\s*\\(`)),s,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},D={begin:t.concat(/\./,t.lookahead(t.concat(s,/(?![0-9A-Za-z$_(])/))),end:s,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},F={match:[/get|set/,/\s+/,s,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},S]},k="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",j={match:[/const|var|let/,/\s+/,s,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(k)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:T,CLASS_REFERENCE:A},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,p,g,v,x,{match:/\$\d+/},f,A,{scope:"attr",match:s+t.lookahead(":"),relevance:0},j,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[x,e.REGEXP_MODE,{className:"function",begin:k,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:l,contains:T}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:r},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[S,e.inherit(e.TITLE_MODE,{begin:s,className:"title.function"})]},{match:/\.\.\./,relevance:0},D,{match:"\\$"+s,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[S]},G,O,N,F,{match:/\$[(.]/}]}}function D7(e){const t=e.regex,n=xye(e),s=Fy,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:Fy,keyword:C7.concat(c),literal:I7,built_in:L7.concat(i),"variable.language":M7},d={className:"meta",begin:"@"+s},f=(g,v,y)=>{const x=g.contains.findIndex(E=>E.label===v);if(x===-1)throw new Error("can not find mode to replace");g.contains.splice(x,1,y)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),m=Object.assign({},h,{match:t.concat(s,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,m]),n.contains=n.contains.concat([d,r,a,m]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const p=n.contains.find(g=>g.label==="func.def");return p.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function Eye(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},s={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,r=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(r,i),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,t.either(r,i),/ +/,t.either(a,l),/ *#/)}]},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,s,c,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 vye(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),s=["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"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},r={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={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/},c={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:s},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},r,a,i,e.QUOTE_STRING_MODE,c,u,l]}}function wye(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(r,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=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:[r,c,l,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[r,a,c,l]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{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 P7(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},r={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,i]},l=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"},m={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},p={begin:/\{/,end:/\}/,contains:[m],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[m],illegal:"\\n",relevance:0},v=[s,{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},p,g,r,a],y=[...v];return y.pop(),y.push(l),m.contains=y,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:v}}const Sye={arduino:hbe,bash:f7,c:mbe,cpp:pbe,csharp:gbe,css:Tbe,diff:Nbe,go:kbe,graphql:Abe,ini:h7,java:Cbe,javascript:y7,json:x7,kotlin:Lbe,less:zbe,lua:Vbe,makefile:w7,markdown:S7,objectivec:Gbe,perl:Kbe,php:qbe,"php-template":Ybe,plaintext:Wbe,python:_7,"python-repl":Xbe,r:Qbe,ruby:Zbe,rust:Jbe,scss:lye,shell:cye,sql:uye,swift:yye,typescript:D7,vbnet:Eye,wasm:vye,xml:wye,yaml:P7};function B7(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],s=typeof n;(s==="object"||s==="function")&&!Object.isFrozen(n)&&B7(n)}),e}let kM=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function U7(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function _l(e,...t){const n=Object.create(null);for(const s in e)n[s]=e[s];return t.forEach(function(s){for(const i in s)n[i]=s[i]}),n}const _ye="",AM=e=>!!e.scope,Tye=(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((s,i)=>`${s}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`};class Nye{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=U7(t)}openNode(t){if(!AM(t))return;const n=Tye(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){AM(t)&&(this.buffer+=_ye)}value(){return this.buffer}span(t){this.buffer+=``}}const CM=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class o2{constructor(){this.rootNode=CM(),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=CM({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(s=>this._walk(t,s)),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=>{o2._collapse(n)}))}}class kye extends o2{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const s=t.root;n&&(s.scope=`language:${n}`),this.add(s)}toHTML(){return new Nye(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function wp(e){return e?typeof e=="string"?e:e.source:null}function F7(e){return du("(?=",e,")")}function Aye(e){return du("(?:",e,")*")}function Cye(e){return du("(?:",e,")?")}function du(...e){return e.map(n=>wp(n)).join("")}function Iye(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function l2(...e){return"("+(Iye(e).capture?"":"?:")+e.map(s=>wp(s)).join("|")+")"}function $7(e){return new RegExp(e.toString()+"|").exec("").length-1}function Rye(e,t){const n=e&&e.exec(t);return n&&n.index===0}const jye=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function c2(e,{joinWith:t}){let n=0;return e.map(s=>{n+=1;const i=n;let r=wp(s),a="";for(;r.length>0;){const l=jye.exec(r);if(!l){a+=r;break}a+=r.substring(0,l.index),r=r.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?a+="\\"+String(Number(l[1])+i):(a+=l[0],l[0]==="("&&n++)}return a}).map(s=>`(${s})`).join(t)}const Oye=/\b\B/,H7="[a-zA-Z]\\w*",u2="[a-zA-Z_]\\w*",z7="\\b\\d+(\\.\\d+)?",V7="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",G7="\\b(0b[01]+)",Mye="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Lye=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=du(t,/.*\b/,e.binary,/\b.*/)),_l({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,s)=>{n.index!==0&&s.ignoreMatch()}},e)},Sp={begin:"\\\\[\\s\\S]",relevance:0},Dye={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Sp]},Pye={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Sp]},Bye={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/},dx=function(e,t,n={}){const s=_l({scope:"comment",begin:e,end:t,contains:[]},n);s.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 i=l2("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 s.contains.push({begin:du(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s},Uye=dx("//","$"),Fye=dx("/\\*","\\*/"),$ye=dx("#","$"),Hye={scope:"number",begin:z7,relevance:0},zye={scope:"number",begin:V7,relevance:0},Vye={scope:"number",begin:G7,relevance:0},Gye={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Sp,{begin:/\[/,end:/\]/,relevance:0,contains:[Sp]}]},Kye={scope:"title",begin:H7,relevance:0},qye={scope:"title",begin:u2,relevance:0},Yye={begin:"\\.\\s*"+u2,relevance:0},Wye=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 A0=Object.freeze({__proto__:null,APOS_STRING_MODE:Dye,BACKSLASH_ESCAPE:Sp,BINARY_NUMBER_MODE:Vye,BINARY_NUMBER_RE:G7,COMMENT:dx,C_BLOCK_COMMENT_MODE:Fye,C_LINE_COMMENT_MODE:Uye,C_NUMBER_MODE:zye,C_NUMBER_RE:V7,END_SAME_AS_BEGIN:Wye,HASH_COMMENT_MODE:$ye,IDENT_RE:H7,MATCH_NOTHING_RE:Oye,METHOD_GUARD:Yye,NUMBER_MODE:Hye,NUMBER_RE:z7,PHRASAL_WORDS_MODE:Bye,QUOTE_STRING_MODE:Pye,REGEXP_MODE:Gye,RE_STARTERS_RE:Mye,SHEBANG:Lye,TITLE_MODE:Kye,UNDERSCORE_IDENT_RE:u2,UNDERSCORE_TITLE_MODE:qye});function Xye(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Qye(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Zye(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Xye,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Jye(e,t){Array.isArray(e.illegal)&&(e.illegal=l2(...e.illegal))}function e1e(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 t1e(e,t){e.relevance===void 0&&(e.relevance=1)}const n1e=(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(s=>{delete e[s]}),e.keywords=n.keywords,e.begin=du(n.beforeMatch,F7(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},s1e=["of","and","for","in","not","or","if","then","parent","list","value"],i1e="keyword";function K7(e,t,n=i1e){const s=Object.create(null);return typeof e=="string"?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(r){Object.assign(s,K7(e[r],t,r))}),s;function i(r,a){t&&(a=a.map(l=>l.toLowerCase())),a.forEach(function(l){const c=l.split("|");s[c[0]]=[r,r1e(c[0],c[1])]})}}function r1e(e,t){return t?Number(t):a1e(e)?0:1}function a1e(e){return s1e.includes(e.toLowerCase())}const IM={},Lc=e=>{console.error(e)},RM=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Ru=(e,t)=>{IM[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),IM[`${e}/${t}`]=!0)},$y=new Error;function q7(e,t,{key:n}){let s=0;const i=e[n],r={},a={};for(let l=1;l<=t.length;l++)a[l+s]=i[l],r[l+s]=!0,s+=$7(t[l-1]);e[n]=a,e[n]._emit=r,e[n]._multi=!0}function o1e(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Lc("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),$y;if(typeof e.beginScope!="object"||e.beginScope===null)throw Lc("beginScope must be object"),$y;q7(e,e.begin,{key:"beginScope"}),e.begin=c2(e.begin,{joinWith:""})}}function l1e(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Lc("skip, excludeEnd, returnEnd not compatible with endScope: {}"),$y;if(typeof e.endScope!="object"||e.endScope===null)throw Lc("endScope must be object"),$y;q7(e,e.end,{key:"endScope"}),e.end=c2(e.end,{joinWith:""})}}function c1e(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function u1e(e){c1e(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),o1e(e),l1e(e)}function d1e(e){function t(a,l){return new RegExp(wp(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,l]),this.matchAt+=$7(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(c=>c[1]);this.matcherRe=t(c2(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(l);if(!c)return null;const u=c.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class s{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const c=new n;return this.rules.slice(l).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[l]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,c){this.rules.push([l,c]),c.type==="begin"&&this.count++}exec(l){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(l);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(l)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(a){const l=new s;return a.contains.forEach(c=>l.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&l.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&l.addRule(a.illegal,{type:"illegal"}),l}function r(a,l){const c=a;if(a.isCompiled)return c;[Qye,e1e,u1e,n1e].forEach(d=>d(a,l)),e.compilerExtensions.forEach(d=>d(a,l)),a.__beforeBegin=null,[Zye,Jye,t1e].forEach(d=>d(a,l)),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=K7(a.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),l&&(a.begin||(a.begin=/\B|\b/),c.beginRe=t(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=t(c.end)),c.terminatorEnd=wp(c.end)||"",a.endsWithParent&&l.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+l.terminatorEnd)),a.illegal&&(c.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return f1e(d==="self"?a:d)})),a.contains.forEach(function(d){r(d,c)}),a.starts&&r(a.starts,l),c.matcher=i(c),c}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=_l(e.classNameAliases||{}),r(e)}function Y7(e){return e?e.endsWithParent||Y7(e.starts):!1}function f1e(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return _l(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Y7(e)?_l(e,{starts:e.starts?_l(e.starts):null}):Object.isFrozen(e)?_l(e):e}var h1e="11.11.1";class m1e extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const Vv=U7,jM=_l,OM=Symbol("nomatch"),p1e=7,W7=function(e){const t=Object.create(null),n=Object.create(null),s=[];let i=!0;const r="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:kye};function c(k){return l.noHighlightRe.test(k)}function u(k){let j=k.className+" ";j+=k.parentNode?k.parentNode.className:"";const P=l.languageDetectRe.exec(j);if(P){const $=A(P[1]);return $||(RM(r.replace("{}",P[1])),RM("Falling back to no-highlight mode for this block.",k)),$?P[1]:"no-highlight"}return j.split(/\s+/).find($=>c($)||A($))}function d(k,j,P){let $="",R="";typeof j=="object"?($=k,P=j.ignoreIllegals,R=j.language):(Ru("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ru("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),R=k,$=j),P===void 0&&(P=!0);const q={code:$,language:R};D("before:highlight",q);const Q=q.result?q.result:f(q.language,q.code,P);return Q.code=q.code,D("after:highlight",Q),Q}function f(k,j,P,$){const R=Object.create(null);function q(X,ie){return X.keywords[ie]}function Q(){if(!xe.keywords){De.addText(Ve);return}let X=0;xe.keywordPatternRe.lastIndex=0;let ie=xe.keywordPatternRe.exec(Ve),se="";for(;ie;){se+=Ve.substring(X,ie.index);const ge=pe.case_insensitive?ie[0].toLowerCase():ie[0],Pe=q(xe,ge);if(Pe){const[Ye,bt]=Pe;if(De.addText(se),se="",R[ge]=(R[ge]||0)+1,R[ge]<=p1e&&(Se+=bt),Ye.startsWith("_"))se+=ie[0];else{const ot=pe.classNameAliases[Ye]||Ye;z(ie[0],ot)}}else se+=ie[0];X=xe.keywordPatternRe.lastIndex,ie=xe.keywordPatternRe.exec(Ve)}se+=Ve.substring(X),De.addText(se)}function B(){if(Ve==="")return;let X=null;if(typeof xe.subLanguage=="string"){if(!t[xe.subLanguage]){De.addText(Ve);return}X=f(xe.subLanguage,Ve,!0,Ze[xe.subLanguage]),Ze[xe.subLanguage]=X._top}else X=m(Ve,xe.subLanguage.length?xe.subLanguage:null);xe.relevance>0&&(Se+=X.relevance),De.__addSublanguage(X._emitter,X.language)}function ee(){xe.subLanguage!=null?B():Q(),Ve=""}function z(X,ie){X!==""&&(De.startScope(ie),De.addText(X),De.endScope())}function K(X,ie){let se=1;const ge=ie.length-1;for(;se<=ge;){if(!X._emit[se]){se++;continue}const Pe=pe.classNameAliases[X[se]]||X[se],Ye=ie[se];Pe?z(Ye,Pe):(Ve=Ye,Q(),Ve=""),se++}}function ne(X,ie){return X.scope&&typeof X.scope=="string"&&De.openNode(pe.classNameAliases[X.scope]||X.scope),X.beginScope&&(X.beginScope._wrap?(z(Ve,pe.classNameAliases[X.beginScope._wrap]||X.beginScope._wrap),Ve=""):X.beginScope._multi&&(K(X.beginScope,ie),Ve="")),xe=Object.create(X,{parent:{value:xe}}),xe}function W(X,ie,se){let ge=Rye(X.endRe,se);if(ge){if(X["on:end"]){const Pe=new kM(X);X["on:end"](ie,Pe),Pe.isMatchIgnored&&(ge=!1)}if(ge){for(;X.endsParent&&X.parent;)X=X.parent;return X}}if(X.endsWithParent)return W(X.parent,ie,se)}function de(X){return xe.matcher.regexIndex===0?(Ve+=X[0],1):(Ge=!0,0)}function ye(X){const ie=X[0],se=X.rule,ge=new kM(se),Pe=[se.__beforeBegin,se["on:begin"]];for(const Ye of Pe)if(Ye&&(Ye(X,ge),ge.isMatchIgnored))return de(ie);return se.skip?Ve+=ie:(se.excludeBegin&&(Ve+=ie),ee(),!se.returnBegin&&!se.excludeBegin&&(Ve=ie)),ne(se,X),se.returnBegin?0:ie.length}function _e(X){const ie=X[0],se=j.substring(X.index),ge=W(xe,X,se);if(!ge)return OM;const Pe=xe;xe.endScope&&xe.endScope._wrap?(ee(),z(ie,xe.endScope._wrap)):xe.endScope&&xe.endScope._multi?(ee(),K(xe.endScope,X)):Pe.skip?Ve+=ie:(Pe.returnEnd||Pe.excludeEnd||(Ve+=ie),ee(),Pe.excludeEnd&&(Ve=ie));do xe.scope&&De.closeNode(),!xe.skip&&!xe.subLanguage&&(Se+=xe.relevance),xe=xe.parent;while(xe!==ge.parent);return ge.starts&&ne(ge.starts,X),Pe.returnEnd?0:ie.length}function ue(){const X=[];for(let ie=xe;ie!==pe;ie=ie.parent)ie.scope&&X.unshift(ie.scope);X.forEach(ie=>De.openNode(ie))}let me={};function Ce(X,ie){const se=ie&&ie[0];if(Ve+=X,se==null)return ee(),0;if(me.type==="begin"&&ie.type==="end"&&me.index===ie.index&&se===""){if(Ve+=j.slice(ie.index,ie.index+1),!i){const ge=new Error(`0 width match regex (${k})`);throw ge.languageName=k,ge.badRule=me.rule,ge}return 1}if(me=ie,ie.type==="begin")return ye(ie);if(ie.type==="illegal"&&!P){const ge=new Error('Illegal lexeme "'+se+'" for mode "'+(xe.scope||"")+'"');throw ge.mode=xe,ge}else if(ie.type==="end"){const ge=_e(ie);if(ge!==OM)return ge}if(ie.type==="illegal"&&se==="")return Ve+=` +`,1;if(He>1e5&&He>ie.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ve+=se,se.length}const pe=A(k);if(!pe)throw Lc(r.replace("{}",k)),new Error('Unknown language: "'+k+'"');const oe=d1e(pe);let ve="",xe=$||oe;const Ze={},De=new l.__emitter(l);ue();let Ve="",Se=0,Fe=0,He=0,Ge=!1;try{if(pe.__emitTokens)pe.__emitTokens(j,De);else{for(xe.matcher.considerAll();;){He++,Ge?Ge=!1:xe.matcher.considerAll(),xe.matcher.lastIndex=Fe;const X=xe.matcher.exec(j);if(!X)break;const ie=j.substring(Fe,X.index),se=Ce(ie,X);Fe=X.index+se}Ce(j.substring(Fe))}return De.finalize(),ve=De.toHTML(),{language:k,value:ve,relevance:Se,illegal:!1,_emitter:De,_top:xe}}catch(X){if(X.message&&X.message.includes("Illegal"))return{language:k,value:Vv(j),illegal:!0,relevance:0,_illegalBy:{message:X.message,index:Fe,context:j.slice(Fe-100,Fe+100),mode:X.mode,resultSoFar:ve},_emitter:De};if(i)return{language:k,value:Vv(j),illegal:!1,relevance:0,errorRaised:X,_emitter:De,_top:xe};throw X}}function h(k){const j={value:Vv(k),illegal:!1,relevance:0,_top:a,_emitter:new l.__emitter(l)};return j._emitter.addText(k),j}function m(k,j){j=j||l.languages||Object.keys(t);const P=h(k),$=j.filter(A).filter(I).map(ee=>f(ee,k,!1));$.unshift(P);const R=$.sort((ee,z)=>{if(ee.relevance!==z.relevance)return z.relevance-ee.relevance;if(ee.language&&z.language){if(A(ee.language).supersetOf===z.language)return 1;if(A(z.language).supersetOf===ee.language)return-1}return 0}),[q,Q]=R,B=q;return B.secondBest=Q,B}function p(k,j,P){const $=j&&n[j]||P;k.classList.add("hljs"),k.classList.add(`language-${$}`)}function g(k){let j=null;const P=u(k);if(c(P))return;if(D("before:highlightElement",{el:k,language:P}),k.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",k);return}if(k.children.length>0&&(l.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(k)),l.throwUnescapedHTML))throw new m1e("One of your code blocks includes unescaped HTML.",k.innerHTML);j=k;const $=j.textContent,R=P?d($,{language:P,ignoreIllegals:!0}):m($);k.innerHTML=R.value,k.dataset.highlighted="yes",p(k,P,R.language),k.result={language:R.language,re:R.relevance,relevance:R.relevance},R.secondBest&&(k.secondBest={language:R.secondBest.language,relevance:R.secondBest.relevance}),D("after:highlightElement",{el:k,result:R,text:$})}function v(k){l=jM(l,k)}const y=()=>{w(),Ru("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function x(){w(),Ru("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let E=!1;function w(){function k(){w()}if(document.readyState==="loading"){E||window.addEventListener("DOMContentLoaded",k,!1),E=!0;return}document.querySelectorAll(l.cssSelector).forEach(g)}function T(k,j){let P=null;try{P=j(e)}catch($){if(Lc("Language definition for '{}' could not be registered.".replace("{}",k)),i)Lc($);else throw $;P=a}P.name||(P.name=k),t[k]=P,P.rawDefinition=j.bind(null,e),P.aliases&&C(P.aliases,{languageName:k})}function S(k){delete t[k];for(const j of Object.keys(n))n[j]===k&&delete n[j]}function N(){return Object.keys(t)}function A(k){return k=(k||"").toLowerCase(),t[k]||t[n[k]]}function C(k,{languageName:j}){typeof k=="string"&&(k=[k]),k.forEach(P=>{n[P.toLowerCase()]=j})}function I(k){const j=A(k);return j&&!j.disableAutodetect}function O(k){k["before:highlightBlock"]&&!k["before:highlightElement"]&&(k["before:highlightElement"]=j=>{k["before:highlightBlock"](Object.assign({block:j.el},j))}),k["after:highlightBlock"]&&!k["after:highlightElement"]&&(k["after:highlightElement"]=j=>{k["after:highlightBlock"](Object.assign({block:j.el},j))})}function L(k){O(k),s.push(k)}function G(k){const j=s.indexOf(k);j!==-1&&s.splice(j,1)}function D(k,j){const P=k;s.forEach(function($){$[P]&&$[P](j)})}function F(k){return Ru("10.7.0","highlightBlock will be removed entirely in v12.0"),Ru("10.7.0","Please use highlightElement now."),g(k)}Object.assign(e,{highlight:d,highlightAuto:m,highlightAll:w,highlightElement:g,highlightBlock:F,configure:v,initHighlighting:y,initHighlightingOnLoad:x,registerLanguage:T,unregisterLanguage:S,listLanguages:N,getLanguage:A,registerAliases:C,autoDetection:I,inherit:jM,addPlugin:L,removePlugin:G}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString=h1e,e.regex={concat:du,lookahead:F7,either:l2,optional:Cye,anyNumberOfTimes:Aye};for(const k in A0)typeof A0[k]=="object"&&B7(A0[k]);return Object.assign(e,A0),e},pf=W7({});pf.newInstance=()=>W7({});var g1e=pf;pf.HighlightJS=pf;pf.default=pf;const ar=Ef(g1e),MM={},b1e="hljs-";function y1e(e){const t=ar.newInstance();return e&&r(e),{highlight:n,highlightAuto:s,listLanguages:i,register:r,registerAlias:a,registered:l};function n(c,u,d){const f=d||MM,h=typeof f.prefix=="string"?f.prefix:b1e;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:x1e,classPrefix:h});const m=t.highlight(u,{ignoreIllegals:!0,language:c});if(m.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:m.errorRaised});const p=m._emitter.root,g=p.data;return g.language=m.language,g.relevance=m.relevance,p}function s(c,u){const f=(u||MM).subset||i();let h=-1,m=0,p;for(;++hm&&(m=v.data.relevance,p=v)}return p||{type:"root",children:[],data:{language:void 0,relevance:m}}}function i(){return t.listLanguages()}function r(c,u){if(typeof c=="string")t.registerLanguage(c,u);else{let d;for(d in c)Object.hasOwn(c,d)&&t.registerLanguage(d,c[d])}}function a(c,u){if(typeof c=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:c});else{let d;for(d in c)if(Object.hasOwn(c,d)){const f=c[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function l(c){return!!t.getLanguage(c)}}class x1e{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],s=n.children[n.children.length-1];s&&s.type==="text"?s.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const s=this.stack[this.stack.length-1],i=t.root.children;n?s.children.push({type:"element",tagName:"span",properties:{className:[n]},children:i}):s.children.push(...i)}openNode(t){const n=this,s=t.split(".").map(function(a,l){return l?a+"_".repeat(l):n.options.classPrefix+a}),i=this.stack[this.stack.length-1],r={type:"element",tagName:"span",properties:{className:s},children:[]};i.children.push(r),this.stack.push(r)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const E1e={};function LM(e){const t=e||E1e,n=t.aliases,s=t.detect||!1,i=t.languages||Sye,r=t.plainText,a=t.prefix,l=t.subset;let c="hljs";const u=y1e(i);if(n&&u.registerAlias(n),a){const d=a.indexOf("-");c=d===-1?a:a.slice(0,d)}return function(d,f){ag(d,"element",function(h,m,p){if(h.tagName!=="code"||!p||p.type!=="element"||p.tagName!=="pre")return;const g=v1e(h);if(g===!1||!g&&!s||g&&r&&r.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const v=ibe(h,{whitespace:"pre"});let y;try{y=g?u.highlight(g,v,{prefix:a}):u.highlightAuto(v,{prefix:a,subset:l})}catch(x){const E=x;if(g&&/Unknown language/.test(E.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[p,h],cause:E,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw E}!g&&y.data&&y.data.language&&h.properties.className.push("language-"+y.data.language),y.children.length>0&&(h.children=y.children)})}}function v1e(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let s;for(;++n-1&&r<=t.length){let a=0;for(;;){let l=n[a];if(l===void 0){const c=BM(t,n[a-1]);l=c===-1?t.length+1:c+1,n[a]=l}if(l>r)return{line:a+1,column:r-(a>0?n[a-1]:0)+1,offset:r};a++}}}function i(r){if(r&&typeof r.line=="number"&&typeof r.column=="number"&&!Number.isNaN(r.line)&&!Number.isNaN(r.column)){for(;n.length1?n[r.line-2]:0)+r.column-1;if(a=55296&&e<=57343}function q1e(e){return e>=56320&&e<=57343}function Y1e(e,t){return(e-55296)*1024+9216+t}function tF(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function nF(e){return e>=64976&&e<=65007||K1e.has(e)}var be;(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"})(be||(be={}));const W1e=65536;class X1e{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=W1e,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:s,col:i,offset:r}=this,a=i+n,l=r+n;return{code:t,startLine:s,endLine:s,startCol:a,endCol:a,startOffset:l,endOffset:l}}_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(q1e(n))return this.pos++,this._addGap(),Y1e(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,V.EOF;return this._err(be.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 s=0;s=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,V.EOF;const s=this.html.charCodeAt(n);return s===V.CARRIAGE_RETURN?V.LINE_FEED:s}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,V.EOF;let t=this.html.charCodeAt(this.pos);return t===V.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,V.LINE_FEED):t===V.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,eF(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===V.LINE_FEED||t===V.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){tF(t)?this._err(be.controlCharacterInInputStream):nF(t)&&this._err(be.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 Q1e=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))),Z1e=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 J1e(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=Z1e.get(e))!==null&&t!==void 0?t:e}var fi;(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"})(fi||(fi={}));const exe=32;var Tl;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Tl||(Tl={}));function R_(e){return e>=fi.ZERO&&e<=fi.NINE}function txe(e){return e>=fi.UPPER_A&&e<=fi.UPPER_F||e>=fi.LOWER_A&&e<=fi.LOWER_F}function nxe(e){return e>=fi.UPPER_A&&e<=fi.UPPER_Z||e>=fi.LOWER_A&&e<=fi.LOWER_Z||R_(e)}function sxe(e){return e===fi.EQUALS||nxe(e)}var li;(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"})(li||(li={}));var go;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(go||(go={}));class ixe{constructor(t,n,s){this.decodeTree=t,this.emitCodePoint=n,this.errors=s,this.state=li.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=go.Strict}startEntity(t){this.decodeMode=t,this.state=li.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case li.EntityStart:return t.charCodeAt(n)===fi.NUM?(this.state=li.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=li.NamedEntity,this.stateNamedEntity(t,n));case li.NumericStart:return this.stateNumericStart(t,n);case li.NumericDecimal:return this.stateNumericDecimal(t,n);case li.NumericHex:return this.stateNumericHex(t,n);case li.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|exe)===fi.LOWER_X?(this.state=li.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=li.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,s,i){if(n!==s){const r=s-n;this.result=this.result*Math.pow(i,r)+Number.parseInt(t.substr(n,r),i),this.consumed+=r}}stateNumericHex(t,n){const s=n;for(;n>14;for(;n>14,r!==0){if(a===fi.SEMI)return this.emitNamedEntityData(this.treeIndex,r,this.consumed+this.excess);this.decodeMode!==go.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:s}=this,i=(s[n]&Tl.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,s){const{decodeTree:i}=this;return this.emitCodePoint(n===1?i[t]&~Tl.VALUE_LENGTH:i[t+1],s),n===3&&this.emitCodePoint(i[t+2],s),s}end(){var t;switch(this.state){case li.NamedEntity:return this.result!==0&&(this.decodeMode!==go.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case li.NumericDecimal:return this.emitNumericEntity(0,2);case li.NumericHex:return this.emitNumericEntity(0,3);case li.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case li.EntityStart:return 0}}}function rxe(e,t,n,s){const i=(t&Tl.BRANCH_LENGTH)>>7,r=t&Tl.JUMP_TABLE;if(i===0)return r!==0&&s===r?n:-1;if(r){const c=s-r;return c<0||c>=i?-1:e[n+c]-1}let a=n,l=a+i-1;for(;a<=l;){const c=a+l>>>1,u=e[c];if(us)l=c-1;else return e[c+i]}return-1}var Re;(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/"})(Re||(Re={}));var Dc;(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"})(Dc||(Dc={}));var $r;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})($r||($r={}));var ce;(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"})(ce||(ce={}));var _;(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"})(_||(_={}));const axe=new Map([[ce.A,_.A],[ce.ADDRESS,_.ADDRESS],[ce.ANNOTATION_XML,_.ANNOTATION_XML],[ce.APPLET,_.APPLET],[ce.AREA,_.AREA],[ce.ARTICLE,_.ARTICLE],[ce.ASIDE,_.ASIDE],[ce.B,_.B],[ce.BASE,_.BASE],[ce.BASEFONT,_.BASEFONT],[ce.BGSOUND,_.BGSOUND],[ce.BIG,_.BIG],[ce.BLOCKQUOTE,_.BLOCKQUOTE],[ce.BODY,_.BODY],[ce.BR,_.BR],[ce.BUTTON,_.BUTTON],[ce.CAPTION,_.CAPTION],[ce.CENTER,_.CENTER],[ce.CODE,_.CODE],[ce.COL,_.COL],[ce.COLGROUP,_.COLGROUP],[ce.DD,_.DD],[ce.DESC,_.DESC],[ce.DETAILS,_.DETAILS],[ce.DIALOG,_.DIALOG],[ce.DIR,_.DIR],[ce.DIV,_.DIV],[ce.DL,_.DL],[ce.DT,_.DT],[ce.EM,_.EM],[ce.EMBED,_.EMBED],[ce.FIELDSET,_.FIELDSET],[ce.FIGCAPTION,_.FIGCAPTION],[ce.FIGURE,_.FIGURE],[ce.FONT,_.FONT],[ce.FOOTER,_.FOOTER],[ce.FOREIGN_OBJECT,_.FOREIGN_OBJECT],[ce.FORM,_.FORM],[ce.FRAME,_.FRAME],[ce.FRAMESET,_.FRAMESET],[ce.H1,_.H1],[ce.H2,_.H2],[ce.H3,_.H3],[ce.H4,_.H4],[ce.H5,_.H5],[ce.H6,_.H6],[ce.HEAD,_.HEAD],[ce.HEADER,_.HEADER],[ce.HGROUP,_.HGROUP],[ce.HR,_.HR],[ce.HTML,_.HTML],[ce.I,_.I],[ce.IMG,_.IMG],[ce.IMAGE,_.IMAGE],[ce.INPUT,_.INPUT],[ce.IFRAME,_.IFRAME],[ce.KEYGEN,_.KEYGEN],[ce.LABEL,_.LABEL],[ce.LI,_.LI],[ce.LINK,_.LINK],[ce.LISTING,_.LISTING],[ce.MAIN,_.MAIN],[ce.MALIGNMARK,_.MALIGNMARK],[ce.MARQUEE,_.MARQUEE],[ce.MATH,_.MATH],[ce.MENU,_.MENU],[ce.META,_.META],[ce.MGLYPH,_.MGLYPH],[ce.MI,_.MI],[ce.MO,_.MO],[ce.MN,_.MN],[ce.MS,_.MS],[ce.MTEXT,_.MTEXT],[ce.NAV,_.NAV],[ce.NOBR,_.NOBR],[ce.NOFRAMES,_.NOFRAMES],[ce.NOEMBED,_.NOEMBED],[ce.NOSCRIPT,_.NOSCRIPT],[ce.OBJECT,_.OBJECT],[ce.OL,_.OL],[ce.OPTGROUP,_.OPTGROUP],[ce.OPTION,_.OPTION],[ce.P,_.P],[ce.PARAM,_.PARAM],[ce.PLAINTEXT,_.PLAINTEXT],[ce.PRE,_.PRE],[ce.RB,_.RB],[ce.RP,_.RP],[ce.RT,_.RT],[ce.RTC,_.RTC],[ce.RUBY,_.RUBY],[ce.S,_.S],[ce.SCRIPT,_.SCRIPT],[ce.SEARCH,_.SEARCH],[ce.SECTION,_.SECTION],[ce.SELECT,_.SELECT],[ce.SOURCE,_.SOURCE],[ce.SMALL,_.SMALL],[ce.SPAN,_.SPAN],[ce.STRIKE,_.STRIKE],[ce.STRONG,_.STRONG],[ce.STYLE,_.STYLE],[ce.SUB,_.SUB],[ce.SUMMARY,_.SUMMARY],[ce.SUP,_.SUP],[ce.TABLE,_.TABLE],[ce.TBODY,_.TBODY],[ce.TEMPLATE,_.TEMPLATE],[ce.TEXTAREA,_.TEXTAREA],[ce.TFOOT,_.TFOOT],[ce.TD,_.TD],[ce.TH,_.TH],[ce.THEAD,_.THEAD],[ce.TITLE,_.TITLE],[ce.TR,_.TR],[ce.TRACK,_.TRACK],[ce.TT,_.TT],[ce.U,_.U],[ce.UL,_.UL],[ce.SVG,_.SVG],[ce.VAR,_.VAR],[ce.WBR,_.WBR],[ce.XMP,_.XMP]]);function $f(e){var t;return(t=axe.get(e))!==null&&t!==void 0?t:_.UNKNOWN}const Le=_,oxe={[Re.HTML]:new Set([Le.ADDRESS,Le.APPLET,Le.AREA,Le.ARTICLE,Le.ASIDE,Le.BASE,Le.BASEFONT,Le.BGSOUND,Le.BLOCKQUOTE,Le.BODY,Le.BR,Le.BUTTON,Le.CAPTION,Le.CENTER,Le.COL,Le.COLGROUP,Le.DD,Le.DETAILS,Le.DIR,Le.DIV,Le.DL,Le.DT,Le.EMBED,Le.FIELDSET,Le.FIGCAPTION,Le.FIGURE,Le.FOOTER,Le.FORM,Le.FRAME,Le.FRAMESET,Le.H1,Le.H2,Le.H3,Le.H4,Le.H5,Le.H6,Le.HEAD,Le.HEADER,Le.HGROUP,Le.HR,Le.HTML,Le.IFRAME,Le.IMG,Le.INPUT,Le.LI,Le.LINK,Le.LISTING,Le.MAIN,Le.MARQUEE,Le.MENU,Le.META,Le.NAV,Le.NOEMBED,Le.NOFRAMES,Le.NOSCRIPT,Le.OBJECT,Le.OL,Le.P,Le.PARAM,Le.PLAINTEXT,Le.PRE,Le.SCRIPT,Le.SECTION,Le.SELECT,Le.SOURCE,Le.STYLE,Le.SUMMARY,Le.TABLE,Le.TBODY,Le.TD,Le.TEMPLATE,Le.TEXTAREA,Le.TFOOT,Le.TH,Le.THEAD,Le.TITLE,Le.TR,Le.TRACK,Le.UL,Le.WBR,Le.XMP]),[Re.MATHML]:new Set([Le.MI,Le.MO,Le.MN,Le.MS,Le.MTEXT,Le.ANNOTATION_XML]),[Re.SVG]:new Set([Le.TITLE,Le.FOREIGN_OBJECT,Le.DESC]),[Re.XLINK]:new Set,[Re.XML]:new Set,[Re.XMLNS]:new Set},j_=new Set([Le.H1,Le.H2,Le.H3,Le.H4,Le.H5,Le.H6]);ce.STYLE,ce.SCRIPT,ce.XMP,ce.IFRAME,ce.NOEMBED,ce.NOFRAMES,ce.PLAINTEXT;var Y;(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"})(Y||(Y={}));const Rs={DATA:Y.DATA,RCDATA:Y.RCDATA,RAWTEXT:Y.RAWTEXT,SCRIPT_DATA:Y.SCRIPT_DATA,PLAINTEXT:Y.PLAINTEXT,CDATA_SECTION:Y.CDATA_SECTION};function lxe(e){return e>=V.DIGIT_0&&e<=V.DIGIT_9}function Qh(e){return e>=V.LATIN_CAPITAL_A&&e<=V.LATIN_CAPITAL_Z}function cxe(e){return e>=V.LATIN_SMALL_A&&e<=V.LATIN_SMALL_Z}function ol(e){return cxe(e)||Qh(e)}function FM(e){return ol(e)||lxe(e)}function C0(e){return e+32}function iF(e){return e===V.SPACE||e===V.LINE_FEED||e===V.TABULATION||e===V.FORM_FEED}function $M(e){return iF(e)||e===V.SOLIDUS||e===V.GREATER_THAN_SIGN}function uxe(e){return e===V.NULL?be.nullCharacterReference:e>1114111?be.characterReferenceOutsideUnicodeRange:eF(e)?be.surrogateCharacterReference:nF(e)?be.noncharacterCharacterReference:tF(e)||e===V.CARRIAGE_RETURN?be.controlCharacterReference:null}class dxe{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=Y.DATA,this.returnState=Y.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new X1e(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new ixe(Q1e,(s,i)=>{this.preprocessor.pos=this.entityStartPos+i-1,this._flushCodePointConsumedAsCharacterReference(s)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(be.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:s=>{this._err(be.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+s)},validateNumericCharacterReference:s=>{const i=uxe(s);i&&this._err(i,1)}}:void 0)}_err(t,n=0){var s,i;(i=(s=this.handler).onParseError)===null||i===void 0||i.call(s,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,s){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||s==null||s()}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(be.endTagWithAttributes),t.selfClosing&&this._err(be.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 Ht.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case Ht.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case Ht.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:Ht.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=iF(t)?Ht.WHITESPACE_CHARACTER:t===V.NULL?Ht.NULL_CHARACTER:Ht.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Ht.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=Y.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?go.Attribute:go.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Y.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case Y.DATA:{this._stateData(t);break}case Y.RCDATA:{this._stateRcdata(t);break}case Y.RAWTEXT:{this._stateRawtext(t);break}case Y.SCRIPT_DATA:{this._stateScriptData(t);break}case Y.PLAINTEXT:{this._statePlaintext(t);break}case Y.TAG_OPEN:{this._stateTagOpen(t);break}case Y.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case Y.TAG_NAME:{this._stateTagName(t);break}case Y.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case Y.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case Y.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case Y.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case Y.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case Y.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case Y.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case Y.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case Y.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case Y.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case Y.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case Y.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case Y.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case Y.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case Y.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case Y.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case Y.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case Y.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case Y.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case Y.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case Y.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case Y.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case Y.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case Y.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case Y.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case Y.BOGUS_COMMENT:{this._stateBogusComment(t);break}case Y.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case Y.COMMENT_START:{this._stateCommentStart(t);break}case Y.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case Y.COMMENT:{this._stateComment(t);break}case Y.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case Y.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case Y.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case Y.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case Y.COMMENT_END:{this._stateCommentEnd(t);break}case Y.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case Y.DOCTYPE:{this._stateDoctype(t);break}case Y.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case Y.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case Y.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case Y.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case Y.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case Y.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case Y.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case Y.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case Y.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case Y.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case Y.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case Y.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case Y.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case Y.CDATA_SECTION:{this._stateCdataSection(t);break}case Y.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case Y.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case Y.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case Y.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case V.LESS_THAN_SIGN:{this.state=Y.TAG_OPEN;break}case V.AMPERSAND:{this._startCharacterReference();break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitCodePoint(t);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case V.AMPERSAND:{this._startCharacterReference();break}case V.LESS_THAN_SIGN:{this.state=Y.RCDATA_LESS_THAN_SIGN;break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(cs);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case V.LESS_THAN_SIGN:{this.state=Y.RAWTEXT_LESS_THAN_SIGN;break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(cs);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case V.LESS_THAN_SIGN:{this.state=Y.SCRIPT_DATA_LESS_THAN_SIGN;break}case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(cs);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case V.NULL:{this._err(be.unexpectedNullCharacter),this._emitChars(cs);break}case V.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(ol(t))this._createStartTagToken(),this.state=Y.TAG_NAME,this._stateTagName(t);else switch(t){case V.EXCLAMATION_MARK:{this.state=Y.MARKUP_DECLARATION_OPEN;break}case V.SOLIDUS:{this.state=Y.END_TAG_OPEN;break}case V.QUESTION_MARK:{this._err(be.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Y.BOGUS_COMMENT,this._stateBogusComment(t);break}case V.EOF:{this._err(be.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(be.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Y.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(ol(t))this._createEndTagToken(),this.state=Y.TAG_NAME,this._stateTagName(t);else switch(t){case V.GREATER_THAN_SIGN:{this._err(be.missingEndTagName),this.state=Y.DATA;break}case V.EOF:{this._err(be.eofBeforeTagName),this._emitChars("");break}case V.NULL:{this._err(be.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_ESCAPED,this._emitChars(cs);break}case V.EOF:{this._err(be.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===V.SOLIDUS?this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:ol(t)?(this._emitChars("<"),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=Y.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){ol(t)?(this.state=Y.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case V.NULL:{this._err(be.unexpectedNullCharacter),this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(cs);break}case V.EOF:{this._err(be.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===V.SOLIDUS?(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Y.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Ji.SCRIPT,!1)&&$M(this.preprocessor.peek(Ji.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 s=this._indexOf(t);this.items[s]=n,s===this.stackTop&&(this.current=n)}insertAfter(t,n,s){const i=this._indexOf(t)+1;this.items.splice(i,0,n),this.tagIDs.splice(i,0,s),this.stackTop++,i===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,i===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])!==Re.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;s--)if(t.has(this.tagIDs[s])&&this.treeAdapter.getNamespaceURI(this.items[s])===n)return s;return-1}clearBackTo(t,n){const s=this._indexOfTagNames(t,n);this.shortenToLength(s+1)}clearBackToTableContext(){this.clearBackTo(gxe,Re.HTML)}clearBackToTableBodyContext(){this.clearBackTo(pxe,Re.HTML)}clearBackToTableRowContext(){this.clearBackTo(mxe,Re.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]===_.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]===_.HTML}hasInDynamicScope(t,n){for(let s=this.stackTop;s>=0;s--){const i=this.tagIDs[s];switch(this.treeAdapter.getNamespaceURI(this.items[s])){case Re.HTML:{if(i===t)return!0;if(n.has(i))return!1;break}case Re.SVG:{if(VM.has(i))return!1;break}case Re.MATHML:{if(zM.has(i))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,Hy)}hasInListItemScope(t){return this.hasInDynamicScope(t,fxe)}hasInButtonScope(t){return this.hasInDynamicScope(t,hxe)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case Re.HTML:{if(j_.has(n))return!0;if(Hy.has(n))return!1;break}case Re.SVG:{if(VM.has(n))return!1;break}case Re.MATHML:{if(zM.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===Re.HTML)switch(this.tagIDs[n]){case t:return!0;case _.TABLE:case _.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===Re.HTML)switch(this.tagIDs[t]){case _.TBODY:case _.THEAD:case _.TFOOT:return!0;case _.TABLE:case _.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===Re.HTML)switch(this.tagIDs[n]){case t:return!0;case _.OPTION:case _.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&rF.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&HM.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&HM.has(this.currentTagId);)this.pop()}}const Gv=3;var Da;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Da||(Da={}));const GM={type:Da.Marker};class xxe{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const s=[],i=n.length,r=this.treeAdapter.getTagName(t),a=this.treeAdapter.getNamespaceURI(t);for(let l=0;l[a.name,a.value]));let r=0;for(let a=0;ai.get(c.name)===c.value)&&(r+=1,r>=Gv&&this.entries.splice(l.idx,1))}}insertMarker(){this.entries.unshift(GM)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Da.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const s=this.entries.indexOf(this.bookmark);this.entries.splice(s,0,{type:Da.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(GM);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(s=>s.type===Da.Marker||this.treeAdapter.getTagName(s.element)===t);return n&&n.type===Da.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Da.Element&&n.element===t)}}const ll={createDocument(){return{nodeName:"#document",mode:$r.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 s=e.childNodes.indexOf(n);e.childNodes.splice(s,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,s){const i=e.childNodes.find(r=>r.nodeName==="#documentType");if(i)i.name=t,i.publicId=n,i.systemId=s;else{const r={nodeName:"#documentType",name:t,publicId:n,systemId:s,parentNode:null};ll.appendChild(e,r)}},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(ll.isTextNode(n)){n.value+=t;return}}ll.appendChild(e,ll.createTextNode(t))},insertTextBefore(e,t,n){const s=e.childNodes[e.childNodes.indexOf(n)-1];s&&ll.isTextNode(s)?s.value+=t:ll.insertBefore(e,ll.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(s=>s.name));for(let s=0;se.startsWith(n))}function Txe(e){return e.name===aF&&e.publicId===null&&(e.systemId===null||e.systemId===Exe)}function Nxe(e){if(e.name!==aF)return $r.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===vxe)return $r.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),Sxe.has(n))return $r.QUIRKS;let s=t===null?wxe:oF;if(KM(n,s))return $r.QUIRKS;if(s=t===null?lF:_xe,KM(n,s))return $r.LIMITED_QUIRKS}return $r.NO_QUIRKS}const qM={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},kxe="definitionurl",Axe="definitionURL",Cxe=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])),Ixe=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Re.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Re.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Re.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Re.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Re.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Re.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Re.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Re.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Re.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Re.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Re.XMLNS}]]),Rxe=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])),jxe=new Set([_.B,_.BIG,_.BLOCKQUOTE,_.BODY,_.BR,_.CENTER,_.CODE,_.DD,_.DIV,_.DL,_.DT,_.EM,_.EMBED,_.H1,_.H2,_.H3,_.H4,_.H5,_.H6,_.HEAD,_.HR,_.I,_.IMG,_.LI,_.LISTING,_.MENU,_.META,_.NOBR,_.OL,_.P,_.PRE,_.RUBY,_.S,_.SMALL,_.SPAN,_.STRONG,_.STRIKE,_.SUB,_.SUP,_.TABLE,_.TT,_.U,_.UL,_.VAR]);function Oxe(e){const t=e.tagID;return t===_.FONT&&e.attrs.some(({name:s})=>s===Dc.COLOR||s===Dc.SIZE||s===Dc.FACE)||jxe.has(t)}function cF(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var s,i;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(i=(s=this.treeAdapter).onItemPop)===null||i===void 0||i.call(s,t,this.openElements.current),n){let r,a;this.openElements.stackTop===0&&this.fragmentContext?(r=this.fragmentContext,a=this.fragmentContextID):{current:r,currentTagId:a}=this.openElements,this._setContextModes(r,a)}}_setContextModes(t,n){const s=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===Re.HTML;this.currentNotInHTML=!s,this.tokenizer.inForeignNode=!s&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,Re.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=Z.TEXT}switchToPlaintextParsing(){this.insertionMode=Z.TEXT,this.originalInsertionMode=Z.IN_BODY,this.tokenizer.state=Rs.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)===ce.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==Re.HTML))switch(this.fragmentContextID){case _.TITLE:case _.TEXTAREA:{this.tokenizer.state=Rs.RCDATA;break}case _.STYLE:case _.XMP:case _.IFRAME:case _.NOEMBED:case _.NOFRAMES:case _.NOSCRIPT:{this.tokenizer.state=Rs.RAWTEXT;break}case _.SCRIPT:{this.tokenizer.state=Rs.SCRIPT_DATA;break}case _.PLAINTEXT:{this.tokenizer.state=Rs.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",s=t.publicId||"",i=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,s,i),t.location){const a=this.treeAdapter.getChildNodes(this.document).find(l=>this.treeAdapter.isDocumentTypeNode(l));a&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const s=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,s)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const s=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(s??this.document,t)}}_appendElement(t,n){const s=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(s,t.location)}_insertElement(t,n){const s=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(s,t.location),this.openElements.push(s,t.tagID)}_insertFakeElement(t,n){const s=this.treeAdapter.createElement(t,Re.HTML,[]);this._attachElementToTree(s,null),this.openElements.push(s,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,Re.HTML,t.attrs),s=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,s),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(ce.HTML,Re.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,_.HTML)}_appendCommentNode(t,n){const s=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,s),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,t.location)}_insertCharacters(t){let n,s;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:s}=this._findFosterParentingLocation(),s?this.treeAdapter.insertTextBefore(n,t.chars,s):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const i=this.treeAdapter.getChildNodes(n),r=s?i.lastIndexOf(s):i.length,a=i[r-1];if(this.treeAdapter.getNodeSourceCodeLocation(a)){const{endLine:c,endCol:u,endOffset:d}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(a,{endLine:c,endCol:u,endOffset:d})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(a,t.location)}_adoptNodes(t,n){for(let s=this.treeAdapter.getFirstChild(t);s;s=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(s),this.treeAdapter.appendChild(n,s)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const s=n.location,i=this.treeAdapter.getTagName(t),r=n.type===Ht.END_TAG&&i===n.tagName?{endTag:{...s},endLine:s.endLine,endCol:s.endCol,endOffset:s.endOffset}:{endLine:s.startLine,endCol:s.startCol,endOffset:s.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,r)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,s;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,s=this.fragmentContextID):{current:n,currentTagId:s}=this.openElements,t.tagID===_.SVG&&this.treeAdapter.getTagName(n)===ce.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===Re.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===_.MGLYPH||t.tagID===_.MALIGNMARK)&&s!==void 0&&!this._isIntegrationPoint(s,n,Re.HTML)}_processToken(t){switch(t.type){case Ht.CHARACTER:{this.onCharacter(t);break}case Ht.NULL_CHARACTER:{this.onNullCharacter(t);break}case Ht.COMMENT:{this.onComment(t);break}case Ht.DOCTYPE:{this.onDoctype(t);break}case Ht.START_TAG:{this._processStartTag(t);break}case Ht.END_TAG:{this.onEndTag(t);break}case Ht.EOF:{this.onEof(t);break}case Ht.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,s){const i=this.treeAdapter.getNamespaceURI(n),r=this.treeAdapter.getAttrList(n);return Pxe(t,i,r,s)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(i=>i.type===Da.Marker||this.openElements.contains(i.element)),s=n===-1?t-1:n-1;for(let i=s;i>=0;i--){const r=this.activeFormattingElements.entries[i];this._insertElement(r.token,this.treeAdapter.getNamespaceURI(r.element)),r.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=Z.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(_.P),this.openElements.popUntilTagNamePopped(_.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case _.TR:{this.insertionMode=Z.IN_ROW;return}case _.TBODY:case _.THEAD:case _.TFOOT:{this.insertionMode=Z.IN_TABLE_BODY;return}case _.CAPTION:{this.insertionMode=Z.IN_CAPTION;return}case _.COLGROUP:{this.insertionMode=Z.IN_COLUMN_GROUP;return}case _.TABLE:{this.insertionMode=Z.IN_TABLE;return}case _.BODY:{this.insertionMode=Z.IN_BODY;return}case _.FRAMESET:{this.insertionMode=Z.IN_FRAMESET;return}case _.SELECT:{this._resetInsertionModeForSelect(t);return}case _.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case _.HTML:{this.insertionMode=this.headElement?Z.AFTER_HEAD:Z.BEFORE_HEAD;return}case _.TD:case _.TH:{if(t>0){this.insertionMode=Z.IN_CELL;return}break}case _.HEAD:{if(t>0){this.insertionMode=Z.IN_HEAD;return}break}}this.insertionMode=Z.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const s=this.openElements.tagIDs[n];if(s===_.TEMPLATE)break;if(s===_.TABLE){this.insertionMode=Z.IN_SELECT_IN_TABLE;return}}this.insertionMode=Z.IN_SELECT}_isElementCausesFosterParenting(t){return dF.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 _.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===Re.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case _.TABLE:{const s=this.treeAdapter.getParentNode(n);return s?{parent:s,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 s=this.treeAdapter.getNamespaceURI(t);return oxe[s].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){bve(this,t);return}switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Rm(this,t);break}case Z.BEFORE_HEAD:{jm(this,t);break}case Z.IN_HEAD:{Om(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{Mm(this,t);break}case Z.AFTER_HEAD:{Lm(this,t);break}case Z.IN_BODY:case Z.IN_CAPTION:case Z.IN_CELL:case Z.IN_TEMPLATE:{hF(this,t);break}case Z.TEXT:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case Z.IN_TABLE:case Z.IN_TABLE_BODY:case Z.IN_ROW:{Kv(this,t);break}case Z.IN_TABLE_TEXT:{xF(this,t);break}case Z.IN_COLUMN_GROUP:{zy(this,t);break}case Z.AFTER_BODY:{Vy(this,t);break}case Z.AFTER_AFTER_BODY:{Sb(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){gve(this,t);return}switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Rm(this,t);break}case Z.BEFORE_HEAD:{jm(this,t);break}case Z.IN_HEAD:{Om(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{Mm(this,t);break}case Z.AFTER_HEAD:{Lm(this,t);break}case Z.TEXT:{this._insertCharacters(t);break}case Z.IN_TABLE:case Z.IN_TABLE_BODY:case Z.IN_ROW:{Kv(this,t);break}case Z.IN_COLUMN_GROUP:{zy(this,t);break}case Z.AFTER_BODY:{Vy(this,t);break}case Z.AFTER_AFTER_BODY:{Sb(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){O_(this,t);return}switch(this.insertionMode){case Z.INITIAL:case Z.BEFORE_HTML:case Z.BEFORE_HEAD:case Z.IN_HEAD:case Z.IN_HEAD_NO_SCRIPT:case Z.AFTER_HEAD:case Z.IN_BODY:case Z.IN_TABLE:case Z.IN_CAPTION:case Z.IN_COLUMN_GROUP:case Z.IN_TABLE_BODY:case Z.IN_ROW:case Z.IN_CELL:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:case Z.IN_TEMPLATE:case Z.IN_FRAMESET:case Z.AFTER_FRAMESET:{O_(this,t);break}case Z.IN_TABLE_TEXT:{jh(this,t);break}case Z.AFTER_BODY:{Yxe(this,t);break}case Z.AFTER_AFTER_BODY:case Z.AFTER_AFTER_FRAMESET:{Wxe(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case Z.INITIAL:{Xxe(this,t);break}case Z.BEFORE_HEAD:case Z.IN_HEAD:case Z.IN_HEAD_NO_SCRIPT:case Z.AFTER_HEAD:{this._err(t,be.misplacedDoctype);break}case Z.IN_TABLE_TEXT:{jh(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,be.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?yve(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Qxe(this,t);break}case Z.BEFORE_HEAD:{Jxe(this,t);break}case Z.IN_HEAD:{Sa(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{nEe(this,t);break}case Z.AFTER_HEAD:{iEe(this,t);break}case Z.IN_BODY:{Li(this,t);break}case Z.IN_TABLE:{gf(this,t);break}case Z.IN_TABLE_TEXT:{jh(this,t);break}case Z.IN_CAPTION:{eve(this,t);break}case Z.IN_COLUMN_GROUP:{g2(this,t);break}case Z.IN_TABLE_BODY:{mx(this,t);break}case Z.IN_ROW:{px(this,t);break}case Z.IN_CELL:{sve(this,t);break}case Z.IN_SELECT:{wF(this,t);break}case Z.IN_SELECT_IN_TABLE:{rve(this,t);break}case Z.IN_TEMPLATE:{ove(this,t);break}case Z.AFTER_BODY:{cve(this,t);break}case Z.IN_FRAMESET:{uve(this,t);break}case Z.AFTER_FRAMESET:{fve(this,t);break}case Z.AFTER_AFTER_BODY:{mve(this,t);break}case Z.AFTER_AFTER_FRAMESET:{pve(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?xve(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Zxe(this,t);break}case Z.BEFORE_HEAD:{eEe(this,t);break}case Z.IN_HEAD:{tEe(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{sEe(this,t);break}case Z.AFTER_HEAD:{rEe(this,t);break}case Z.IN_BODY:{hx(this,t);break}case Z.TEXT:{VEe(this,t);break}case Z.IN_TABLE:{_p(this,t);break}case Z.IN_TABLE_TEXT:{jh(this,t);break}case Z.IN_CAPTION:{tve(this,t);break}case Z.IN_COLUMN_GROUP:{nve(this,t);break}case Z.IN_TABLE_BODY:{M_(this,t);break}case Z.IN_ROW:{vF(this,t);break}case Z.IN_CELL:{ive(this,t);break}case Z.IN_SELECT:{SF(this,t);break}case Z.IN_SELECT_IN_TABLE:{ave(this,t);break}case Z.IN_TEMPLATE:{lve(this,t);break}case Z.AFTER_BODY:{TF(this,t);break}case Z.IN_FRAMESET:{dve(this,t);break}case Z.AFTER_FRAMESET:{hve(this,t);break}case Z.AFTER_AFTER_BODY:{Sb(this,t);break}}}onEof(t){switch(this.insertionMode){case Z.INITIAL:{Rh(this,t);break}case Z.BEFORE_HTML:{Rm(this,t);break}case Z.BEFORE_HEAD:{jm(this,t);break}case Z.IN_HEAD:{Om(this,t);break}case Z.IN_HEAD_NO_SCRIPT:{Mm(this,t);break}case Z.AFTER_HEAD:{Lm(this,t);break}case Z.IN_BODY:case Z.IN_TABLE:case Z.IN_CAPTION:case Z.IN_COLUMN_GROUP:case Z.IN_TABLE_BODY:case Z.IN_ROW:case Z.IN_CELL:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:{bF(this,t);break}case Z.TEXT:{GEe(this,t);break}case Z.IN_TABLE_TEXT:{jh(this,t);break}case Z.IN_TEMPLATE:{_F(this,t);break}case Z.AFTER_BODY:case Z.IN_FRAMESET:case Z.AFTER_FRAMESET:case Z.AFTER_AFTER_BODY:case Z.AFTER_AFTER_FRAMESET:{p2(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===V.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 Z.IN_HEAD:case Z.IN_HEAD_NO_SCRIPT:case Z.AFTER_HEAD:case Z.TEXT:case Z.IN_COLUMN_GROUP:case Z.IN_SELECT:case Z.IN_SELECT_IN_TABLE:case Z.IN_FRAMESET:case Z.AFTER_FRAMESET:{this._insertCharacters(t);break}case Z.IN_BODY:case Z.IN_CAPTION:case Z.IN_CELL:case Z.IN_TEMPLATE:case Z.AFTER_BODY:case Z.AFTER_AFTER_BODY:case Z.AFTER_AFTER_FRAMESET:{fF(this,t);break}case Z.IN_TABLE:case Z.IN_TABLE_BODY:case Z.IN_ROW:{Kv(this,t);break}case Z.IN_TABLE_TEXT:{yF(this,t);break}}}};function Hxe(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):gF(e,t),n}function zxe(e,t){let n=null,s=e.openElements.stackTop;for(;s>=0;s--){const i=e.openElements.items[s];if(i===t.element)break;e._isSpecialElement(i,e.openElements.tagIDs[s])&&(n=i)}return n||(e.openElements.shortenToLength(Math.max(s,0)),e.activeFormattingElements.removeEntry(t)),n}function Vxe(e,t,n){let s=t,i=e.openElements.getCommonAncestor(t);for(let r=0,a=i;a!==n;r++,a=i){i=e.openElements.getCommonAncestor(a);const l=e.activeFormattingElements.getElementEntry(a),c=l&&r>=Fxe;!l||c?(c&&e.activeFormattingElements.removeEntry(l),e.openElements.remove(a)):(a=Gxe(e,l),s===t&&(e.activeFormattingElements.bookmark=l),e.treeAdapter.detachNode(s),e.treeAdapter.appendChild(a,s),s=a)}return s}function Gxe(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),s=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,s),t.element=s,s}function Kxe(e,t,n){const s=e.treeAdapter.getTagName(t),i=$f(s);if(e._isElementCausesFosterParenting(i))e._fosterParentElement(n);else{const r=e.treeAdapter.getNamespaceURI(t);i===_.TEMPLATE&&r===Re.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function qxe(e,t,n){const s=e.treeAdapter.getNamespaceURI(n.element),{token:i}=n,r=e.treeAdapter.createElement(i.tagName,s,i.attrs);e._adoptNodes(t,r),e.treeAdapter.appendChild(t,r),e.activeFormattingElements.insertElementAfterBookmark(r,i),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,r,i.tagID)}function m2(e,t){for(let n=0;n=n;s--)e._setEndLocation(e.openElements.items[s],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const s=e.openElements.items[0],i=e.treeAdapter.getNodeSourceCodeLocation(s);if(i&&!i.endTag&&(e._setEndLocation(s,t),e.openElements.stackTop>=1)){const r=e.openElements.items[1],a=e.treeAdapter.getNodeSourceCodeLocation(r);a&&!a.endTag&&e._setEndLocation(r,t)}}}}function Xxe(e,t){e._setDocumentType(t);const n=t.forceQuirks?$r.QUIRKS:Nxe(t);Txe(t)||e._err(t,be.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Z.BEFORE_HTML}function Rh(e,t){e._err(t,be.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,$r.QUIRKS),e.insertionMode=Z.BEFORE_HTML,e._processToken(t)}function Qxe(e,t){t.tagID===_.HTML?(e._insertElement(t,Re.HTML),e.insertionMode=Z.BEFORE_HEAD):Rm(e,t)}function Zxe(e,t){const n=t.tagID;(n===_.HTML||n===_.HEAD||n===_.BODY||n===_.BR)&&Rm(e,t)}function Rm(e,t){e._insertFakeRootElement(),e.insertionMode=Z.BEFORE_HEAD,e._processToken(t)}function Jxe(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.HEAD:{e._insertElement(t,Re.HTML),e.headElement=e.openElements.current,e.insertionMode=Z.IN_HEAD;break}default:jm(e,t)}}function eEe(e,t){const n=t.tagID;n===_.HEAD||n===_.BODY||n===_.HTML||n===_.BR?jm(e,t):e._err(t,be.endTagWithoutMatchingOpenElement)}function jm(e,t){e._insertFakeElement(ce.HEAD,_.HEAD),e.headElement=e.openElements.current,e.insertionMode=Z.IN_HEAD,e._processToken(t)}function Sa(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:{e._appendElement(t,Re.HTML),t.ackSelfClosing=!0;break}case _.TITLE:{e._switchToTextParsing(t,Rs.RCDATA);break}case _.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,Rs.RAWTEXT):(e._insertElement(t,Re.HTML),e.insertionMode=Z.IN_HEAD_NO_SCRIPT);break}case _.NOFRAMES:case _.STYLE:{e._switchToTextParsing(t,Rs.RAWTEXT);break}case _.SCRIPT:{e._switchToTextParsing(t,Rs.SCRIPT_DATA);break}case _.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=Z.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(Z.IN_TEMPLATE);break}case _.HEAD:{e._err(t,be.misplacedStartTagForHeadElement);break}default:Om(e,t)}}function tEe(e,t){switch(t.tagID){case _.HEAD:{e.openElements.pop(),e.insertionMode=Z.AFTER_HEAD;break}case _.BODY:case _.BR:case _.HTML:{Om(e,t);break}case _.TEMPLATE:{fu(e,t);break}default:e._err(t,be.endTagWithoutMatchingOpenElement)}}function fu(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==_.TEMPLATE&&e._err(t,be.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,be.endTagWithoutMatchingOpenElement)}function Om(e,t){e.openElements.pop(),e.insertionMode=Z.AFTER_HEAD,e._processToken(t)}function nEe(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.BASEFONT:case _.BGSOUND:case _.HEAD:case _.LINK:case _.META:case _.NOFRAMES:case _.STYLE:{Sa(e,t);break}case _.NOSCRIPT:{e._err(t,be.nestedNoscriptInHead);break}default:Mm(e,t)}}function sEe(e,t){switch(t.tagID){case _.NOSCRIPT:{e.openElements.pop(),e.insertionMode=Z.IN_HEAD;break}case _.BR:{Mm(e,t);break}default:e._err(t,be.endTagWithoutMatchingOpenElement)}}function Mm(e,t){const n=t.type===Ht.EOF?be.openElementsLeftAfterEof:be.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=Z.IN_HEAD,e._processToken(t)}function iEe(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.BODY:{e._insertElement(t,Re.HTML),e.framesetOk=!1,e.insertionMode=Z.IN_BODY;break}case _.FRAMESET:{e._insertElement(t,Re.HTML),e.insertionMode=Z.IN_FRAMESET;break}case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:case _.NOFRAMES:case _.SCRIPT:case _.STYLE:case _.TEMPLATE:case _.TITLE:{e._err(t,be.abandonedHeadElementChild),e.openElements.push(e.headElement,_.HEAD),Sa(e,t),e.openElements.remove(e.headElement);break}case _.HEAD:{e._err(t,be.misplacedStartTagForHeadElement);break}default:Lm(e,t)}}function rEe(e,t){switch(t.tagID){case _.BODY:case _.HTML:case _.BR:{Lm(e,t);break}case _.TEMPLATE:{fu(e,t);break}default:e._err(t,be.endTagWithoutMatchingOpenElement)}}function Lm(e,t){e._insertFakeElement(ce.BODY,_.BODY),e.insertionMode=Z.IN_BODY,fx(e,t)}function fx(e,t){switch(t.type){case Ht.CHARACTER:{hF(e,t);break}case Ht.WHITESPACE_CHARACTER:{fF(e,t);break}case Ht.COMMENT:{O_(e,t);break}case Ht.START_TAG:{Li(e,t);break}case Ht.END_TAG:{hx(e,t);break}case Ht.EOF:{bF(e,t);break}}}function fF(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function hF(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function aEe(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function oEe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function lEe(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,Re.HTML),e.insertionMode=Z.IN_FRAMESET)}function cEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Re.HTML)}function uEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&j_.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,Re.HTML)}function dEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Re.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function fEe(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Re.HTML),n||(e.formElement=e.openElements.current))}function hEe(e,t){e.framesetOk=!1;const n=t.tagID;for(let s=e.openElements.stackTop;s>=0;s--){const i=e.openElements.tagIDs[s];if(n===_.LI&&i===_.LI||(n===_.DD||n===_.DT)&&(i===_.DD||i===_.DT)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(i!==_.ADDRESS&&i!==_.DIV&&i!==_.P&&e._isSpecialElement(e.openElements.items[s],i))break}e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Re.HTML)}function mEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Re.HTML),e.tokenizer.state=Rs.PLAINTEXT}function pEe(e,t){e.openElements.hasInScope(_.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(_.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML),e.framesetOk=!1}function gEe(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(ce.A);n&&(m2(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function bEe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function yEe(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(_.NOBR)&&(m2(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,Re.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function xEe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function EEe(e,t){e.treeAdapter.getDocumentMode(e.document)!==$r.QUIRKS&&e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._insertElement(t,Re.HTML),e.framesetOk=!1,e.insertionMode=Z.IN_TABLE}function mF(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Re.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function pF(e){const t=sF(e,Dc.TYPE);return t!=null&&t.toLowerCase()===Bxe}function vEe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,Re.HTML),pF(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function wEe(e,t){e._appendElement(t,Re.HTML),t.ackSelfClosing=!0}function SEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._appendElement(t,Re.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function _Ee(e,t){t.tagName=ce.IMG,t.tagID=_.IMG,mF(e,t)}function TEe(e,t){e._insertElement(t,Re.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Rs.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=Z.TEXT}function NEe(e,t){e.openElements.hasInButtonScope(_.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Rs.RAWTEXT)}function kEe(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Rs.RAWTEXT)}function XM(e,t){e._switchToTextParsing(t,Rs.RAWTEXT)}function AEe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===Z.IN_TABLE||e.insertionMode===Z.IN_CAPTION||e.insertionMode===Z.IN_TABLE_BODY||e.insertionMode===Z.IN_ROW||e.insertionMode===Z.IN_CELL?Z.IN_SELECT_IN_TABLE:Z.IN_SELECT}function CEe(e,t){e.openElements.currentTagId===_.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML)}function IEe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,Re.HTML)}function REe(e,t){e.openElements.hasInScope(_.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(_.RTC),e._insertElement(t,Re.HTML)}function jEe(e,t){e._reconstructActiveFormattingElements(),cF(t),h2(t),t.selfClosing?e._appendElement(t,Re.MATHML):e._insertElement(t,Re.MATHML),t.ackSelfClosing=!0}function OEe(e,t){e._reconstructActiveFormattingElements(),uF(t),h2(t),t.selfClosing?e._appendElement(t,Re.SVG):e._insertElement(t,Re.SVG),t.ackSelfClosing=!0}function QM(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,Re.HTML)}function Li(e,t){switch(t.tagID){case _.I:case _.S:case _.B:case _.U:case _.EM:case _.TT:case _.BIG:case _.CODE:case _.FONT:case _.SMALL:case _.STRIKE:case _.STRONG:{bEe(e,t);break}case _.A:{gEe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{uEe(e,t);break}case _.P:case _.DL:case _.OL:case _.UL:case _.DIV:case _.DIR:case _.NAV:case _.MAIN:case _.MENU:case _.ASIDE:case _.CENTER:case _.FIGURE:case _.FOOTER:case _.HEADER:case _.HGROUP:case _.DIALOG:case _.DETAILS:case _.ADDRESS:case _.ARTICLE:case _.SEARCH:case _.SECTION:case _.SUMMARY:case _.FIELDSET:case _.BLOCKQUOTE:case _.FIGCAPTION:{cEe(e,t);break}case _.LI:case _.DD:case _.DT:{hEe(e,t);break}case _.BR:case _.IMG:case _.WBR:case _.AREA:case _.EMBED:case _.KEYGEN:{mF(e,t);break}case _.HR:{SEe(e,t);break}case _.RB:case _.RTC:{IEe(e,t);break}case _.RT:case _.RP:{REe(e,t);break}case _.PRE:case _.LISTING:{dEe(e,t);break}case _.XMP:{NEe(e,t);break}case _.SVG:{OEe(e,t);break}case _.HTML:{aEe(e,t);break}case _.BASE:case _.LINK:case _.META:case _.STYLE:case _.TITLE:case _.SCRIPT:case _.BGSOUND:case _.BASEFONT:case _.TEMPLATE:{Sa(e,t);break}case _.BODY:{oEe(e,t);break}case _.FORM:{fEe(e,t);break}case _.NOBR:{yEe(e,t);break}case _.MATH:{jEe(e,t);break}case _.TABLE:{EEe(e,t);break}case _.INPUT:{vEe(e,t);break}case _.PARAM:case _.TRACK:case _.SOURCE:{wEe(e,t);break}case _.IMAGE:{_Ee(e,t);break}case _.BUTTON:{pEe(e,t);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{xEe(e,t);break}case _.IFRAME:{kEe(e,t);break}case _.SELECT:{AEe(e,t);break}case _.OPTION:case _.OPTGROUP:{CEe(e,t);break}case _.NOEMBED:case _.NOFRAMES:{XM(e,t);break}case _.FRAMESET:{lEe(e,t);break}case _.TEXTAREA:{TEe(e,t);break}case _.NOSCRIPT:{e.options.scriptingEnabled?XM(e,t):QM(e,t);break}case _.PLAINTEXT:{mEe(e,t);break}case _.COL:case _.TH:case _.TD:case _.TR:case _.HEAD:case _.FRAME:case _.TBODY:case _.TFOOT:case _.THEAD:case _.CAPTION:case _.COLGROUP:break;default:QM(e,t)}}function MEe(e,t){if(e.openElements.hasInScope(_.BODY)&&(e.insertionMode=Z.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function LEe(e,t){e.openElements.hasInScope(_.BODY)&&(e.insertionMode=Z.AFTER_BODY,TF(e,t))}function DEe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function PEe(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(_.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(_.FORM):n&&e.openElements.remove(n))}function BEe(e){e.openElements.hasInButtonScope(_.P)||e._insertFakeElement(ce.P,_.P),e._closePElement()}function UEe(e){e.openElements.hasInListItemScope(_.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(_.LI),e.openElements.popUntilTagNamePopped(_.LI))}function FEe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function $Ee(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function HEe(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function zEe(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(ce.BR,_.BR),e.openElements.pop(),e.framesetOk=!1}function gF(e,t){const n=t.tagName,s=t.tagID;for(let i=e.openElements.stackTop;i>0;i--){const r=e.openElements.items[i],a=e.openElements.tagIDs[i];if(s===a&&(s!==_.UNKNOWN||e.treeAdapter.getTagName(r)===n)){e.openElements.generateImpliedEndTagsWithExclusion(s),e.openElements.stackTop>=i&&e.openElements.shortenToLength(i);break}if(e._isSpecialElement(r,a))break}}function hx(e,t){switch(t.tagID){case _.A:case _.B:case _.I:case _.S:case _.U:case _.EM:case _.TT:case _.BIG:case _.CODE:case _.FONT:case _.NOBR:case _.SMALL:case _.STRIKE:case _.STRONG:{m2(e,t);break}case _.P:{BEe(e);break}case _.DL:case _.UL:case _.OL:case _.DIR:case _.DIV:case _.NAV:case _.PRE:case _.MAIN:case _.MENU:case _.ASIDE:case _.BUTTON:case _.CENTER:case _.FIGURE:case _.FOOTER:case _.HEADER:case _.HGROUP:case _.DIALOG:case _.ADDRESS:case _.ARTICLE:case _.DETAILS:case _.SEARCH:case _.SECTION:case _.SUMMARY:case _.LISTING:case _.FIELDSET:case _.BLOCKQUOTE:case _.FIGCAPTION:{DEe(e,t);break}case _.LI:{UEe(e);break}case _.DD:case _.DT:{FEe(e,t);break}case _.H1:case _.H2:case _.H3:case _.H4:case _.H5:case _.H6:{$Ee(e);break}case _.BR:{zEe(e);break}case _.BODY:{MEe(e,t);break}case _.HTML:{LEe(e,t);break}case _.FORM:{PEe(e);break}case _.APPLET:case _.OBJECT:case _.MARQUEE:{HEe(e,t);break}case _.TEMPLATE:{fu(e,t);break}default:gF(e,t)}}function bF(e,t){e.tmplInsertionModeStack.length>0?_F(e,t):p2(e,t)}function VEe(e,t){var n;t.tagID===_.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function GEe(e,t){e._err(t,be.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function Kv(e,t){if(e.openElements.currentTagId!==void 0&&dF.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=Z.IN_TABLE_TEXT,t.type){case Ht.CHARACTER:{xF(e,t);break}case Ht.WHITESPACE_CHARACTER:{yF(e,t);break}}else lg(e,t)}function KEe(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,Re.HTML),e.insertionMode=Z.IN_CAPTION}function qEe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Re.HTML),e.insertionMode=Z.IN_COLUMN_GROUP}function YEe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ce.COLGROUP,_.COLGROUP),e.insertionMode=Z.IN_COLUMN_GROUP,g2(e,t)}function WEe(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,Re.HTML),e.insertionMode=Z.IN_TABLE_BODY}function XEe(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(ce.TBODY,_.TBODY),e.insertionMode=Z.IN_TABLE_BODY,mx(e,t)}function QEe(e,t){e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function ZEe(e,t){pF(t)?e._appendElement(t,Re.HTML):lg(e,t),t.ackSelfClosing=!0}function JEe(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,Re.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function gf(e,t){switch(t.tagID){case _.TD:case _.TH:case _.TR:{XEe(e,t);break}case _.STYLE:case _.SCRIPT:case _.TEMPLATE:{Sa(e,t);break}case _.COL:{YEe(e,t);break}case _.FORM:{JEe(e,t);break}case _.TABLE:{QEe(e,t);break}case _.TBODY:case _.TFOOT:case _.THEAD:{WEe(e,t);break}case _.INPUT:{ZEe(e,t);break}case _.CAPTION:{KEe(e,t);break}case _.COLGROUP:{qEe(e,t);break}default:lg(e,t)}}function _p(e,t){switch(t.tagID){case _.TABLE:{e.openElements.hasInTableScope(_.TABLE)&&(e.openElements.popUntilTagNamePopped(_.TABLE),e._resetInsertionMode());break}case _.TEMPLATE:{fu(e,t);break}case _.BODY:case _.CAPTION:case _.COL:case _.COLGROUP:case _.HTML:case _.TBODY:case _.TD:case _.TFOOT:case _.TH:case _.THEAD:case _.TR:break;default:lg(e,t)}}function lg(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,fx(e,t),e.fosterParentingEnabled=n}function yF(e,t){e.pendingCharacterTokens.push(t)}function xF(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function jh(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===_.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===_.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===_.OPTGROUP&&e.openElements.pop();break}case _.OPTION:{e.openElements.currentTagId===_.OPTION&&e.openElements.pop();break}case _.SELECT:{e.openElements.hasInSelectScope(_.SELECT)&&(e.openElements.popUntilTagNamePopped(_.SELECT),e._resetInsertionMode());break}case _.TEMPLATE:{fu(e,t);break}}}function rve(e,t){const n=t.tagID;n===_.CAPTION||n===_.TABLE||n===_.TBODY||n===_.TFOOT||n===_.THEAD||n===_.TR||n===_.TD||n===_.TH?(e.openElements.popUntilTagNamePopped(_.SELECT),e._resetInsertionMode(),e._processStartTag(t)):wF(e,t)}function ave(e,t){const n=t.tagID;n===_.CAPTION||n===_.TABLE||n===_.TBODY||n===_.TFOOT||n===_.THEAD||n===_.TR||n===_.TD||n===_.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(_.SELECT),e._resetInsertionMode(),e.onEndTag(t)):SF(e,t)}function ove(e,t){switch(t.tagID){case _.BASE:case _.BASEFONT:case _.BGSOUND:case _.LINK:case _.META:case _.NOFRAMES:case _.SCRIPT:case _.STYLE:case _.TEMPLATE:case _.TITLE:{Sa(e,t);break}case _.CAPTION:case _.COLGROUP:case _.TBODY:case _.TFOOT:case _.THEAD:{e.tmplInsertionModeStack[0]=Z.IN_TABLE,e.insertionMode=Z.IN_TABLE,gf(e,t);break}case _.COL:{e.tmplInsertionModeStack[0]=Z.IN_COLUMN_GROUP,e.insertionMode=Z.IN_COLUMN_GROUP,g2(e,t);break}case _.TR:{e.tmplInsertionModeStack[0]=Z.IN_TABLE_BODY,e.insertionMode=Z.IN_TABLE_BODY,mx(e,t);break}case _.TD:case _.TH:{e.tmplInsertionModeStack[0]=Z.IN_ROW,e.insertionMode=Z.IN_ROW,px(e,t);break}default:e.tmplInsertionModeStack[0]=Z.IN_BODY,e.insertionMode=Z.IN_BODY,Li(e,t)}}function lve(e,t){t.tagID===_.TEMPLATE&&fu(e,t)}function _F(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(_.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):p2(e,t)}function cve(e,t){t.tagID===_.HTML?Li(e,t):Vy(e,t)}function TF(e,t){var n;if(t.tagID===_.HTML){if(e.fragmentContext||(e.insertionMode=Z.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===_.HTML){e._setEndLocation(e.openElements.items[0],t);const s=e.openElements.items[1];s&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(s))===null||n===void 0)&&n.endTag)&&e._setEndLocation(s,t)}}else Vy(e,t)}function Vy(e,t){e.insertionMode=Z.IN_BODY,fx(e,t)}function uve(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.FRAMESET:{e._insertElement(t,Re.HTML);break}case _.FRAME:{e._appendElement(t,Re.HTML),t.ackSelfClosing=!0;break}case _.NOFRAMES:{Sa(e,t);break}}}function dve(e,t){t.tagID===_.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==_.FRAMESET&&(e.insertionMode=Z.AFTER_FRAMESET))}function fve(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.NOFRAMES:{Sa(e,t);break}}}function hve(e,t){t.tagID===_.HTML&&(e.insertionMode=Z.AFTER_AFTER_FRAMESET)}function mve(e,t){t.tagID===_.HTML?Li(e,t):Sb(e,t)}function Sb(e,t){e.insertionMode=Z.IN_BODY,fx(e,t)}function pve(e,t){switch(t.tagID){case _.HTML:{Li(e,t);break}case _.NOFRAMES:{Sa(e,t);break}}}function gve(e,t){t.chars=cs,e._insertCharacters(t)}function bve(e,t){e._insertCharacters(t),e.framesetOk=!1}function NF(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==Re.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function yve(e,t){if(Oxe(t))NF(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),s=e.treeAdapter.getNamespaceURI(n);s===Re.MATHML?cF(t):s===Re.SVG&&(Mxe(t),uF(t)),h2(t),t.selfClosing?e._appendElement(t,s):e._insertElement(t,s),t.ackSelfClosing=!0}}function xve(e,t){if(t.tagID===_.P||t.tagID===_.BR){NF(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const s=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(s)===Re.HTML){e._endTagOutsideForeignContent(t);break}const i=e.treeAdapter.getTagName(s);if(i.toLowerCase()===t.tagName){t.tagName=i,e.openElements.shortenToLength(n);break}}}ce.AREA,ce.BASE,ce.BASEFONT,ce.BGSOUND,ce.BR,ce.COL,ce.EMBED,ce.FRAME,ce.HR,ce.IMG,ce.INPUT,ce.KEYGEN,ce.LINK,ce.META,ce.PARAM,ce.SOURCE,ce.TRACK,ce.WBR;const Eve=/<(\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\t\n\f\r />])/gi,vve=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),ZM={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function kF(e,t){const n=Rve(e),s=HU("type",{handlers:{root:wve,element:Sve,text:_ve,comment:CF,doctype:Tve,raw:kve},unknown:Ave}),i={parser:n?new WM(ZM):WM.getFragmentParser(void 0,ZM),handle(l){s(l,i)},stitches:!1,options:t||{}};s(e,i),Hf(i,Xa());const r=n?i.parser.document:i.parser.getFragment(),a=j1e(r,{file:i.options.file});return i.stitches&&ag(a,"comment",function(l,c,u){const d=l;if(d.value.stitch&&u&&c!==void 0){const f=u.children;return f[c]=d.value.stitch,c}}),a.type==="root"&&a.children.length===1&&a.children[0].type===e.type?a.children[0]:a}function AF(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:Ht.CHARACTER,chars:e.value,location:cg(e)};Hf(t,Xa(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function Tve(e,t){const n={type:Ht.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:cg(e)};Hf(t,Xa(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function Nve(e,t){t.stitches=!0;const n=jve(e);if("children"in e&&"children"in n){const s=kF({type:"root",children:e.children},t.options);n.children=s.children}CF({type:"comment",value:{stitch:n}},t)}function CF(e,t){const n=e.value,s={type:Ht.COMMENT,data:n,location:cg(e)};Hf(t,Xa(e)),t.parser.currentToken=s,t.parser._processToken(t.parser.currentToken)}function kve(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,IF(t,Xa(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(Eve,"<$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 Ave(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))Nve(n,t);else{let s="";throw vve.has(n.type)&&(s=". 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"+s)}}function Hf(e,t){IF(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=Rs.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 IF(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 Cve(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===Rs.PLAINTEXT)return;Hf(t,Xa(e));const s=t.parser.openElements.current;let i="namespaceURI"in s?s.namespaceURI:vc.html;i===vc.html&&n==="svg"&&(i=vc.svg);const r=P1e({...e,children:[]},{space:i===vc.svg?"svg":"html"}),a={type:Ht.START_TAG,tagName:n,tagID:$f(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in r?r.attrs:[],location:cg(e)};t.parser.currentToken=a,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function Ive(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&G1e.includes(n)||t.parser.tokenizer.state===Rs.PLAINTEXT)return;Hf(t,ax(e));const s={type:Ht.END_TAG,tagName:n,tagID:$f(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:cg(e)};t.parser.currentToken=s,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===Rs.RCDATA||t.parser.tokenizer.state===Rs.RAWTEXT||t.parser.tokenizer.state===Rs.SCRIPT_DATA)&&(t.parser.tokenizer.state=Rs.DATA)}function Rve(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function cg(e){const t=Xa(e)||{line:void 0,column:void 0,offset:void 0},n=ax(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 jve(e){return"children"in e?mf({...e,children:[]}):mf(e)}function Ove(e){return function(t,n){return kF(t,{...e,file:n})}}const RF=[".mp4",".webm",".mov",".m4v",".ogg",".avi"];function jF(e){if(!e)return!1;try{const t=e.toLowerCase();return RF.some(n=>t.includes(n))}catch{return!1}}function Mve(e){var s;const t=(s=e==null?void 0:e.properties)==null?void 0:s.href;if(!t)return!1;if(jF(t))return!0;const n=e==null?void 0:e.children;if(n&&Array.isArray(n)){const i=n.map(r=>(r==null?void 0:r.value)||"").join("").toLowerCase();return RF.some(r=>i.includes(r))}return!1}function Lve({text:e,className:t,allowRawHtml:n=!0}){const[s,i]=b.useState(null),r=(c,u)=>{if(c.src)return c.src;if(u){const d=h=>{var m;if(!h)return null;if(h.type==="source"&&((m=h.properties)!=null&&m.src))return h.properties.src;if(h.children)for(const p of h.children){const g=d(p);if(g)return g}return null},f=d({children:u});if(f)return f}return""},a=c=>{try{const d=new URL(c).pathname.split("/");return d[d.length-1]||"video.mp4"}catch{return"video.mp4"}},l=c=>c?Array.isArray(c)?c.map(u=>(u==null?void 0:u.value)||"").join("")||"video":(c==null?void 0:c.value)||"video":"video";return o.jsxs("div",{className:t?`md ${t}`:"md",children:[o.jsx(Bpe,{remarkPlugins:[Q0e],rehypePlugins:n?[Ove,LM]:[LM],components:{a:({node:c,...u})=>{const d=u.href;if(d&&(jF(d)||Mve(c))){const f=d,h=l(c==null?void 0:c.children);return o.jsxs("div",{className:"video-container",children:[o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":`点击播放视频: ${h}`,onClick:()=>i({src:f,title:h}),children:[o.jsx("video",{src:f,playsInline:!0,className:"video-thumbnail",preload:"metadata"}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(Rc,{})})]}),o.jsx("div",{className:"video-caption",children:o.jsx("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"video-link-text",children:h})})]})}return o.jsx("a",{...u,target:"_blank",rel:"noopener noreferrer"})},img:({node:c,src:u,alt:d,...f})=>{const h=o.jsx("img",{...f,src:u,alt:d??"",loading:"lazy"});return u?o.jsx(hP,{src:u,children:o.jsxs("button",{type:"button",className:"image-preview-trigger","aria-label":`放大预览:${d||"图片"}`,children:[h,o.jsx("span",{className:"image-preview-hint","aria-hidden":"true",children:o.jsx(Rc,{})})]})}):h},video:({node:c,src:u,children:d,...f})=>{const h=r({src:u},d);return h?o.jsx("div",{className:"video-container",children:o.jsxs("button",{type:"button",className:"video-preview-trigger","aria-label":"点击放大视频",onClick:()=>i({src:h}),children:[o.jsx("video",{src:h,...f,playsInline:!0,className:"video-thumbnail",children:d}),o.jsx("span",{className:"video-preview-hint","aria-hidden":"true",children:o.jsx(Rc,{})})]})}):o.jsx("video",{src:u,controls:!0,playsInline:!0,className:"video-inline",...f,children:d})}},children:e}),s&&o.jsx("div",{className:"video-viewer-backdrop",role:"dialog","aria-modal":"true","aria-label":"视频预览",onClick:()=>i(null),children:o.jsxs("div",{className:"video-viewer",onClick:c=>c.stopPropagation(),children:[o.jsxs("div",{className:"video-viewer-header",children:[o.jsx("div",{className:"video-viewer-title",children:s.title||a(s.src)}),o.jsxs("nav",{className:"video-viewer-nav",children:[o.jsx("a",{href:s.src,download:s.title||a(s.src),"aria-label":"下载视频",title:"下载视频",className:"video-viewer-download",children:o.jsx(C1,{})}),o.jsx("button",{type:"button",className:"video-viewer-close","aria-label":"关闭",onClick:()=>i(null),children:o.jsx(_i,{})})]})]}),o.jsx("div",{className:"video-viewer-body",children:o.jsx("video",{src:s.src,controls:!0,autoPlay:!0,playsInline:!0,className:"video-fullscreen"})})]})})]})}const zf=b.memo(Lve),JM=6,eL=7,Dve={active:"可用",available:"可用",creating:"创建中",disabled:"已停用",enabled:"已启用",failed:"异常",inactive:"未启用",pending:"等待中",published:"已发布",ready:"就绪",released:"已发布",running:"运行中",success:"正常",unavailable:"不可用",unreleased:"未发布",updating:"更新中"};function L_(e){return Dve[(e||"").trim().toLowerCase()]||"未知"}function tL(e){const t=(e||"").toLowerCase();return["active","available","enabled","published","ready","released","success"].includes(t)?"is-positive":["creating","pending","running","updating"].includes(t)?"is-progress":["failed","unavailable"].includes(t)?"is-danger":"is-muted"}function Pve(e){if(!e)return"";const t=e.trim(),n=Number(t),s=/^\d+(?:\.\d+)?$/.test(t)?new Date(n<1e12?n*1e3:n):new Date(t);return Number.isNaN(s.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(s)}function Bve(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 Ive({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[o.jsx("path",{d:"M6.25 4.75h8.6l2.9 2.9v11.6h-11.5z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),o.jsx("path",{d:"M14.75 4.9v3h2.85M8.9 11.1h4.2M8.9 14h5.7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),o.jsx("path",{d:"m17.85 13.85.42 1.13 1.13.42-1.13.42-.42 1.13-.42-1.13-1.13-.42 1.13-.42z",fill:"currentColor"})]})}function Rve(){return o.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function JM({direction:e}){return o.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:o.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 j_(){return o.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function eL({page:e,total:t,pageSize:n,onPage:s}){const i=Math.max(1,Math.ceil(t/n));return o.jsxs("footer",{className:"skillcenter-pager",children:[o.jsxs("span",{children:["共 ",t," 项"]}),o.jsxs("div",{className:"skillcenter-pager-actions",children:[o.jsx("button",{type:"button",onClick:()=>s(e-1),disabled:e<=1,"aria-label":"上一页",children:o.jsx(JM,{direction:"left"})}),o.jsxs("span",{children:[e," / ",i]}),o.jsx("button",{type:"button",onClick:()=>s(e+1),disabled:e>=i,"aria-label":"下一页",children:o.jsx(JM,{direction:"right"})})]})]})}function Sb({children:e}){return o.jsx("div",{className:"skillcenter-empty",children:e})}function Ove({skill:e,space:t,region:n,detail:s,loading:i,error:r,onClose:a}){return b.useEffect(()=>{const l=c=>{c.key==="Escape"&&a()};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[a]),o.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:a,children:o.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:l=>l.stopPropagation(),children:[o.jsxs("header",{className:"skill-detail-head",children:[o.jsxs("div",{className:"skill-detail-heading",children:[o.jsx("span",{className:"skillcenter-symbol skillcenter-symbol--skill",children:o.jsx(Ive,{})}),o.jsxs("div",{children:[o.jsx("h2",{id:"skill-detail-title",children:(s==null?void 0:s.name)||e.skillName}),o.jsx("p",{children:(s==null?void 0:s.description)||e.skillDescription||"暂无描述"})]})]}),o.jsx("button",{type:"button",className:"skill-detail-close",onClick:a,"aria-label":"关闭技能详情",children:o.jsx(Rve,{})})]}),o.jsxs("dl",{className:"skill-detail-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"技能 ID"}),o.jsx("dd",{title:e.skillId,children:e.skillId})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"版本"}),o.jsx("dd",{children:(s==null?void 0:s.version)||e.version||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:O_(e.skillStatus)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"技能空间"}),o.jsx("dd",{title:t.name,children:t.name})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Project"}),o.jsx("dd",{title:t.projectName||"default",children:t.projectName||"default"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"地域"}),o.jsx("dd",{children:n==="cn-beijing"?"北京":"上海"})]})]}),o.jsxs("div",{className:"skill-detail-content",children:[o.jsx("div",{className:"skill-detail-content-title",children:"SKILL.md"}),i?o.jsxs("div",{className:"skillcenter-loading",children:[o.jsx(j_,{}),"正在读取技能内容…"]}):r?o.jsx("div",{className:"skillcenter-error",children:r}):s!=null&&s.skillMd?o.jsx(zf,{text:Cve(s.skillMd),className:"skill-detail-markdown",allowRawHtml:!1}):o.jsx(Sb,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function jve(){const[e,t]=b.useState("cn-beijing"),[n,s]=b.useState([]),[i,r]=b.useState(1),[a,l]=b.useState(0),[c,u]=b.useState(!1),[d,f]=b.useState(""),[h,m]=b.useState(null),[p,g]=b.useState([]),[v,y]=b.useState(1),[x,E]=b.useState(0),[w,T]=b.useState(!1),[S,k]=b.useState(""),[A,C]=b.useState(null),[R,M]=b.useState(null),[L,G]=b.useState(!1),[D,F]=b.useState(""),N=b.useRef(0);b.useEffect(()=>{let q=!0;return u(!0),f(""),Uue({region:e,page:i,pageSize:XM}).then(Q=>{if(!q)return;const B=Q.items||[];s(B),l(Q.totalCount||0),m(ee=>B.find(z=>z.id===(ee==null?void 0:ee.id))||null)}).catch(Q=>{q&&(s([]),l(0),m(null),f(Q instanceof Error?Q.message:"读取技能空间失败,请稍后重试"))}).finally(()=>{q&&u(!1)}),()=>{q=!1}},[e,i]),b.useEffect(()=>{if(!h){g([]),E(0);return}let q=!0;return T(!0),k(""),Fue(h.id,{region:e,page:v,pageSize:QM,project:h.projectName}).then(Q=>{q&&(g(Q.items||[]),E(Q.totalCount||0))}).catch(Q=>{q&&(g([]),E(0),k(Q instanceof Error?Q.message:"读取技能失败,请稍后重试"))}).finally(()=>{q&&T(!1)}),()=>{q=!1}},[e,h,v]);const O=q=>{q!==e&&($(),t(q),r(1),y(1),m(null),g([]))},P=q=>{$(),m(q),y(1)},$=()=>{N.current+=1,C(null),M(null),F(""),G(!1)},I=async q=>{if(!h)return;const Q=N.current+1;N.current=Q,C(q),M(null),F(""),G(!0);try{const B=await $ue(h.id,q.skillId,q.version,e,h.projectName);N.current===Q&&M(B)}catch(B){N.current===Q&&F(B instanceof Error?B.message:"读取技能详情失败,请稍后重试")}finally{N.current===Q&&G(!1)}};return o.jsxs("section",{className:"skillcenter",children:[o.jsxs("div",{className:"skillcenter-browser",children:[o.jsxs("section",{className:"skillcenter-panel","aria-label":"技能空间列表",children:[o.jsxs("header",{className:"skillcenter-panel-head",children:[o.jsxs("div",{children:[o.jsx("h2",{children:"技能空间"}),o.jsx("span",{className:"skillcenter-count-badge",children:a})]}),o.jsxs("div",{className:"skillcenter-regions","aria-label":"地域",children:[o.jsx("button",{type:"button",className:e==="cn-beijing"?"active":"",onClick:()=>O("cn-beijing"),children:"北京"}),o.jsx("button",{type:"button",className:e==="cn-shanghai"?"active":"",onClick:()=>O("cn-shanghai"),children:"上海"})]})]}),o.jsxs("div",{className:"skillcenter-listwrap",children:[c&&o.jsxs("div",{className:"skillcenter-loading skillcenter-loading--overlay",children:[o.jsx(j_,{}),"正在读取技能空间…"]}),d?o.jsx("div",{className:"skillcenter-error",children:d}):n.length===0&&!c?o.jsx(Sb,{children:"当前地域暂无可访问的技能空间"}):o.jsx("div",{className:"skillcenter-list",children:n.map(q=>o.jsx("button",{type:"button",className:`skillcenter-space-item ${(h==null?void 0:h.id)===q.id?"active":""}`,onClick:()=>P(q),children:o.jsxs("span",{className:"skillcenter-item-body",children:[o.jsx("span",{className:"skillcenter-item-title",title:q.name,children:q.name}),o.jsx("span",{className:"skillcenter-item-description",children:q.description||"暂无描述"}),o.jsxs("span",{className:"skillcenter-item-meta",children:[o.jsx("span",{className:`skillcenter-status ${ZM(q.status)}`,children:O_(q.status)}),o.jsxs("span",{className:"skillcenter-meta-text",title:q.projectName||"default",children:["Project · ",q.projectName||"default"]}),o.jsxs("span",{className:"skillcenter-meta-text",children:[q.skillCount??0," 个技能"]}),q.updatedAt&&o.jsxs("span",{className:"skillcenter-meta-text",children:["更新于 ",Ave(q.updatedAt)]})]})]})},`${q.projectName||"default"}:${q.id}`))})]}),o.jsx(eL,{page:i,total:a,pageSize:XM,onPage:r})]}),o.jsx("section",{className:"skillcenter-panel","aria-label":"技能列表",children:h?o.jsxs(o.Fragment,{children:[o.jsxs("header",{className:"skillcenter-panel-head",children:[o.jsx("div",{children:o.jsxs("h2",{title:h.name,children:[h.name," · 技能"]})}),o.jsx("span",{children:x})]}),o.jsxs("div",{className:"skillcenter-listwrap",children:[w&&o.jsxs("div",{className:"skillcenter-loading skillcenter-loading--overlay",children:[o.jsx(j_,{}),"正在读取技能…"]}),S?o.jsx("div",{className:"skillcenter-error",children:S}):p.length===0&&!w?o.jsx(Sb,{children:"这个空间中暂无技能"}):o.jsx("div",{className:"skillcenter-list skillcenter-list--skills",children:p.map(q=>o.jsx("button",{type:"button",className:"skillcenter-skill-item",onClick:()=>void I(q),children:o.jsxs("span",{className:"skillcenter-item-body",children:[o.jsx("span",{className:"skillcenter-item-title",title:q.skillName,children:q.skillName}),o.jsx("span",{className:"skillcenter-item-description",children:q.skillDescription||"暂无描述"}),o.jsxs("span",{className:"skillcenter-item-meta",children:[o.jsx("span",{className:`skillcenter-status ${ZM(q.skillStatus)}`,children:O_(q.skillStatus)}),o.jsxs("span",{className:"skillcenter-meta-text",children:["版本 · ",q.version||"—"]})]})]})},`${q.skillId}:${q.version}`))})]}),o.jsx(eL,{page:v,total:x,pageSize:QM,onPage:y})]}):o.jsx(Sb,{children:"点击 Skill 空间以查看详情"})})]}),A&&h&&o.jsx(Ove,{skill:A,space:h,region:e,detail:R,loading:L,error:D,onClose:$})]})}const TF="veadk_agentkit_connections",Mve=["cn-beijing","cn-shanghai"];function Lve(e){const t=e||"cn-beijing";return[t,...Mve.filter(n=>n!==t)]}function da(){try{const e=localStorage.getItem(TF);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function hx(e){try{localStorage.setItem(TF,JSON.stringify(e))}catch{}}function Uo(e,t){return`agentkit:${e}:${t}`}function NF(e){try{return new URL(e).host}catch{return e}}function Vf(e){TP();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)_P(Uo(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function kF(e,t,n,s,i,r){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:s,appLabels:i,currentVersion:r},l=da(),c=l.findIndex(u=>u.runtimeId===e);return c===-1?l.push(a):l[c]=a,hx(l),Vf(l),a}async function _b(e,t,n,s){let i=null,r=n||"cn-beijing",a=null;for(const u of Lve(n))try{const d=await dk(e,u,{retryProbe:!0});if(d&&d.length>0){i=d,r=u;break}}catch(d){if(d instanceof jf)throw Vy(e),d;if(d instanceof Er&&d.unsupported){a=d;continue}throw d}if(!i||i.length===0)throw Vy(e),a||new Error("该 Runtime 暂不支持连接,请确认服务已正常运行。");const l=Object.fromEntries(i.map(u=>[u,t])),c=kF(e,t,r,i,l,s);return Uo(c.id,i[0])}async function AF(e,t,n,s){const i=t.trim().replace(/\/+$/,""),r=await M1(i,n.trim()),a={id:Date.now().toString(36),name:e.trim()||NF(i),base:i,apiKey:n.trim(),apps:r,appLabels:s&&r.length>0?{[r[0]]:s}:void 0},l=[...da().filter(c=>c.base!==i),a];return hx(l),Vf(l),a}function Dve(e){const t=da().filter(n=>n.id!==e);return hx(t),Vf(t),t}function Vy(e){const t=da().filter(n=>n.runtimeId!==e);return hx(t),Vf(t),t}function CF(e,t){const n=e.map(i=>({id:i,label:i,app:i,remote:!1})),s=t.flatMap(i=>i.apps.map(r=>{var l;const a=((l=i.appLabels)==null?void 0:l[r])??r;return{id:Uo(i.id,r),label:a,app:r,remote:!0,host:i.runtimeId?i.name:NF(i.base??""),runtimeId:i.runtimeId,region:i.region,currentVersion:i.currentVersion}}));return[...n,...s]}const tL=Object.freeze(Object.defineProperty({__proto__:null,addConnection:AF,addRuntimeConnection:kF,buildAgentEntries:CF,connectRuntime:_b,loadConnections:da,registerConnections:Vf,remoteAppId:Uo,removeConnection:Dve,removeRuntimeConnection:Vy},Symbol.toStringTag,{value:"Module"}));function Pve({onAdded:e,onCancel:t}){const[n,s]=b.useState(""),[i,r]=b.useState(""),[a,l]=b.useState(""),[c,u]=b.useState(!1),[d,f]=b.useState(""),h=n.trim().length>0&&i.trim().length>0&&!c;async function m(){if(h){u(!0),f("");try{const p=await AF(a,n,i,a);if(p.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(Uo(p.id,p.apps[0]))}catch(p){f(`连接失败:${String(p)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return o.jsx("div",{className:"addagent",children:o.jsxs("div",{className:"addagent-card",children:[o.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),o.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),o.jsx("input",{className:"addagent-input",value:n,onChange:p=>s(p.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"API Key"}),o.jsx("input",{className:"addagent-input",type:"password",value:i,onChange:p=>r(p.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),o.jsx("input",{className:"addagent-input",value:a,onChange:p=>l(p.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&o.jsx("div",{className:"addagent-error",children:d}),o.jsxs("div",{className:"addagent-actions",children:[o.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:c,children:"取消"}),o.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:m,disabled:!h,children:[c?o.jsx(wn,{className:"icon spin"}):null,c?"连接中…":"连接并添加"]})]})]})})}function Bve(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M12 4.2 21 19H3L12 4.2Z"}),o.jsx("path",{d:"M12 9.4v4.2"}),o.jsx("path",{d:"M12 16.8h.01"})]})}function Uve(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"m7 7 10 10"}),o.jsx("path",{d:"m17 7-10 10"})]})}function m2({title:e,description:t,confirmLabel:n,cancelLabel:s="取消",closeLabel:i="关闭确认框",variant:r="warning",busy:a=!1,onCancel:l,onConfirm:c}){const u=b.useId(),d=b.useId(),f=b.useRef(null),h=b.useRef(a),m=b.useRef(l);return b.useEffect(()=>{h.current=a,m.current=l},[a,l]),b.useEffect(()=>{var y;const p=document.body.style.overflow,g=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(y=f.current)==null||y.focus();const v=x=>{x.key==="Escape"&&!h.current&&m.current()};return window.addEventListener("keydown",v),()=>{document.body.style.overflow=p,window.removeEventListener("keydown",v),g!=null&&g.isConnected&&g.focus()}},[]),xi.createPortal(o.jsx("div",{className:"studio-confirm-backdrop",onMouseDown:p=>{p.target===p.currentTarget&&!a&&l()},children:o.jsxs("section",{className:`studio-confirm-dialog studio-confirm-dialog--${r}`,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":d,"aria-busy":a||void 0,children:[o.jsxs("header",{className:"studio-confirm-head",children:[o.jsxs("div",{className:"studio-confirm-title-wrap",children:[o.jsx("span",{className:"studio-confirm-title-icon","aria-hidden":"true",children:o.jsx(Bve,{})}),o.jsx("h2",{id:u,children:e})]}),o.jsx("button",{type:"button",className:"studio-confirm-close",onClick:l,disabled:a,"aria-label":i,children:o.jsx(Uve,{})})]}),o.jsx("div",{className:"studio-confirm-body",children:o.jsx("p",{id:d,children:t})}),o.jsxs("footer",{className:"studio-confirm-actions",children:[o.jsx("button",{ref:f,type:"button",onClick:l,disabled:a,children:s}),o.jsx("button",{type:"button",className:"studio-confirm-primary",onClick:c,disabled:a,children:n})]})]})}),document.body)}const Fve=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率"}],$ve=[{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"}]}],Ou=[{id:"basic",label:"基本信息"},{id:"evaluations",label:"评测集"},{id:"integrations",label:"接入方法"}],jh=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function Vv(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function Hve(e,t){const n=e.trim();if(!n||!t)return n;try{const s=new URL(n),i=s.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(i))return n;const r=new URL(t);return s.protocol=r.protocol,s.hostname=r.hostname,s.port=r.port,s.toString()}catch{return n}}function nL(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function M_(e){return JSON.stringify(e)}function IF(e){return e==="key_auth"?`API_KEY = "" +`,4);return n>=0?t.slice(n+5).trimStart():e}function Uve({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:[o.jsx("path",{d:"M6.25 4.75h8.6l2.9 2.9v11.6h-11.5z",stroke:"currentColor",strokeWidth:"1.6",strokeLinejoin:"round"}),o.jsx("path",{d:"M14.75 4.9v3h2.85M8.9 11.1h4.2M8.9 14h5.7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),o.jsx("path",{d:"m17.85 13.85.42 1.13 1.13.42-1.13.42-.42 1.13-.42-1.13-1.13-.42 1.13-.42z",fill:"currentColor"})]})}function Fve(){return o.jsx("svg",{className:"icon",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m7.5 7.5 9 9m0-9-9 9",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})})}function nL({direction:e}){return o.jsx("svg",{className:"icon",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,children:o.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 D_(){return o.jsx("span",{className:"skillcenter-loading-mark","aria-hidden":!0})}function sL({page:e,total:t,pageSize:n,onPage:s}){const i=Math.max(1,Math.ceil(t/n));return o.jsxs("footer",{className:"skillcenter-pager",children:[o.jsxs("span",{children:["共 ",t," 项"]}),o.jsxs("div",{className:"skillcenter-pager-actions",children:[o.jsx("button",{type:"button",onClick:()=>s(e-1),disabled:e<=1,"aria-label":"上一页",children:o.jsx(nL,{direction:"left"})}),o.jsxs("span",{children:[e," / ",i]}),o.jsx("button",{type:"button",onClick:()=>s(e+1),disabled:e>=i,"aria-label":"下一页",children:o.jsx(nL,{direction:"right"})})]})]})}function _b({children:e}){return o.jsx("div",{className:"skillcenter-empty",children:e})}function $ve({skill:e,space:t,region:n,detail:s,loading:i,error:r,onClose:a}){return b.useEffect(()=>{const l=c=>{c.key==="Escape"&&a()};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[a]),o.jsx("div",{className:"skill-detail-backdrop",role:"presentation",onMouseDown:a,children:o.jsxs("section",{className:"skill-detail-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"skill-detail-title",onMouseDown:l=>l.stopPropagation(),children:[o.jsxs("header",{className:"skill-detail-head",children:[o.jsxs("div",{className:"skill-detail-heading",children:[o.jsx("span",{className:"skillcenter-symbol skillcenter-symbol--skill",children:o.jsx(Uve,{})}),o.jsxs("div",{children:[o.jsx("h2",{id:"skill-detail-title",children:(s==null?void 0:s.name)||e.skillName}),o.jsx("p",{children:(s==null?void 0:s.description)||e.skillDescription||"暂无描述"})]})]}),o.jsx("button",{type:"button",className:"skill-detail-close",onClick:a,"aria-label":"关闭技能详情",children:o.jsx(Fve,{})})]}),o.jsxs("dl",{className:"skill-detail-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"技能 ID"}),o.jsx("dd",{title:e.skillId,children:e.skillId})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"版本"}),o.jsx("dd",{children:(s==null?void 0:s.version)||e.version||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:L_(e.skillStatus)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"技能空间"}),o.jsx("dd",{title:t.name,children:t.name})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Project"}),o.jsx("dd",{title:t.projectName||"default",children:t.projectName||"default"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"地域"}),o.jsx("dd",{children:n==="cn-beijing"?"北京":"上海"})]})]}),o.jsxs("div",{className:"skill-detail-content",children:[o.jsx("div",{className:"skill-detail-content-title",children:"SKILL.md"}),i?o.jsxs("div",{className:"skillcenter-loading",children:[o.jsx(D_,{}),"正在读取技能内容…"]}):r?o.jsx("div",{className:"skillcenter-error",children:r}):s!=null&&s.skillMd?o.jsx(zf,{text:Bve(s.skillMd),className:"skill-detail-markdown",allowRawHtml:!1}):o.jsx(_b,{children:"该技能暂无 SKILL.md 内容"})]})]})})}function Hve(){const[e,t]=b.useState("cn-beijing"),[n,s]=b.useState([]),[i,r]=b.useState(1),[a,l]=b.useState(0),[c,u]=b.useState(!1),[d,f]=b.useState(""),[h,m]=b.useState(null),[p,g]=b.useState([]),[v,y]=b.useState(1),[x,E]=b.useState(0),[w,T]=b.useState(!1),[S,N]=b.useState(""),[A,C]=b.useState(null),[I,O]=b.useState(null),[L,G]=b.useState(!1),[D,F]=b.useState(""),k=b.useRef(0);b.useEffect(()=>{let q=!0;return u(!0),f(""),Yue({region:e,page:i,pageSize:JM}).then(Q=>{if(!q)return;const B=Q.items||[];s(B),l(Q.totalCount||0),m(ee=>B.find(z=>z.id===(ee==null?void 0:ee.id))||null)}).catch(Q=>{q&&(s([]),l(0),m(null),f(Q instanceof Error?Q.message:"读取技能空间失败,请稍后重试"))}).finally(()=>{q&&u(!1)}),()=>{q=!1}},[e,i]),b.useEffect(()=>{if(!h){g([]),E(0);return}let q=!0;return T(!0),N(""),Wue(h.id,{region:e,page:v,pageSize:eL,project:h.projectName}).then(Q=>{q&&(g(Q.items||[]),E(Q.totalCount||0))}).catch(Q=>{q&&(g([]),E(0),N(Q instanceof Error?Q.message:"读取技能失败,请稍后重试"))}).finally(()=>{q&&T(!1)}),()=>{q=!1}},[e,h,v]);const j=q=>{q!==e&&($(),t(q),r(1),y(1),m(null),g([]))},P=q=>{$(),m(q),y(1)},$=()=>{k.current+=1,C(null),O(null),F(""),G(!1)},R=async q=>{if(!h)return;const Q=k.current+1;k.current=Q,C(q),O(null),F(""),G(!0);try{const B=await Xue(h.id,q.skillId,q.version,e,h.projectName);k.current===Q&&O(B)}catch(B){k.current===Q&&F(B instanceof Error?B.message:"读取技能详情失败,请稍后重试")}finally{k.current===Q&&G(!1)}};return o.jsxs("section",{className:"skillcenter",children:[o.jsxs("div",{className:"skillcenter-browser",children:[o.jsxs("section",{className:"skillcenter-panel","aria-label":"技能空间列表",children:[o.jsxs("header",{className:"skillcenter-panel-head",children:[o.jsxs("div",{children:[o.jsx("h2",{children:"技能空间"}),o.jsx("span",{className:"skillcenter-count-badge",children:a})]}),o.jsxs("div",{className:"skillcenter-regions","aria-label":"地域",children:[o.jsx("button",{type:"button",className:e==="cn-beijing"?"active":"",onClick:()=>j("cn-beijing"),children:"北京"}),o.jsx("button",{type:"button",className:e==="cn-shanghai"?"active":"",onClick:()=>j("cn-shanghai"),children:"上海"})]})]}),o.jsxs("div",{className:"skillcenter-listwrap",children:[c&&o.jsxs("div",{className:"skillcenter-loading skillcenter-loading--overlay",children:[o.jsx(D_,{}),"正在读取技能空间…"]}),d?o.jsx("div",{className:"skillcenter-error",children:d}):n.length===0&&!c?o.jsx(_b,{children:"当前地域暂无可访问的技能空间"}):o.jsx("div",{className:"skillcenter-list",children:n.map(q=>o.jsx("button",{type:"button",className:`skillcenter-space-item ${(h==null?void 0:h.id)===q.id?"active":""}`,onClick:()=>P(q),children:o.jsxs("span",{className:"skillcenter-item-body",children:[o.jsx("span",{className:"skillcenter-item-title",title:q.name,children:q.name}),o.jsx("span",{className:"skillcenter-item-description",children:q.description||"暂无描述"}),o.jsxs("span",{className:"skillcenter-item-meta",children:[o.jsx("span",{className:`skillcenter-status ${tL(q.status)}`,children:L_(q.status)}),o.jsxs("span",{className:"skillcenter-meta-text",title:q.projectName||"default",children:["Project · ",q.projectName||"default"]}),o.jsxs("span",{className:"skillcenter-meta-text",children:[q.skillCount??0," 个技能"]}),q.updatedAt&&o.jsxs("span",{className:"skillcenter-meta-text",children:["更新于 ",Pve(q.updatedAt)]})]})]})},`${q.projectName||"default"}:${q.id}`))})]}),o.jsx(sL,{page:i,total:a,pageSize:JM,onPage:r})]}),o.jsx("section",{className:"skillcenter-panel","aria-label":"技能列表",children:h?o.jsxs(o.Fragment,{children:[o.jsxs("header",{className:"skillcenter-panel-head",children:[o.jsx("div",{children:o.jsxs("h2",{title:h.name,children:[h.name," · 技能"]})}),o.jsx("span",{children:x})]}),o.jsxs("div",{className:"skillcenter-listwrap",children:[w&&o.jsxs("div",{className:"skillcenter-loading skillcenter-loading--overlay",children:[o.jsx(D_,{}),"正在读取技能…"]}),S?o.jsx("div",{className:"skillcenter-error",children:S}):p.length===0&&!w?o.jsx(_b,{children:"这个空间中暂无技能"}):o.jsx("div",{className:"skillcenter-list skillcenter-list--skills",children:p.map(q=>o.jsx("button",{type:"button",className:"skillcenter-skill-item",onClick:()=>void R(q),children:o.jsxs("span",{className:"skillcenter-item-body",children:[o.jsx("span",{className:"skillcenter-item-title",title:q.skillName,children:q.skillName}),o.jsx("span",{className:"skillcenter-item-description",children:q.skillDescription||"暂无描述"}),o.jsxs("span",{className:"skillcenter-item-meta",children:[o.jsx("span",{className:`skillcenter-status ${tL(q.skillStatus)}`,children:L_(q.skillStatus)}),o.jsxs("span",{className:"skillcenter-meta-text",children:["版本 · ",q.version||"—"]})]})]})},`${q.skillId}:${q.version}`))})]}),o.jsx(sL,{page:v,total:x,pageSize:eL,onPage:y})]}):o.jsx(_b,{children:"点击 Skill 空间以查看详情"})})]}),A&&h&&o.jsx($ve,{skill:A,space:h,region:e,detail:I,loading:L,error:D,onClose:$})]})}const OF="veadk_agentkit_connections",zve=["cn-beijing","cn-shanghai"];function Vve(e){const t=e||"cn-beijing";return[t,...zve.filter(n=>n!==t)]}function da(){try{const e=localStorage.getItem(OF);return(e?JSON.parse(e):[]).filter(n=>!n.runtimeId||!!n.region)}catch{return[]}}function gx(e){try{localStorage.setItem(OF,JSON.stringify(e))}catch{}}function Uo(e,t){return`agentkit:${e}:${t}`}function MF(e){try{return new URL(e).host}catch{return e}}function Vf(e){IP();for(const t of e)if(!(t.runtimeId&&!t.region))for(const n of t.apps)CP(Uo(t.id,n),t.runtimeId?{app:n,runtimeId:t.runtimeId,region:t.region}:{app:n,base:t.base,apiKey:t.apiKey})}function LF(e,t,n,s,i,r){const a={id:`rt_${e}`,name:t||e,runtimeId:e,region:n,apps:s,appLabels:i,currentVersion:r},l=da(),c=l.findIndex(u=>u.runtimeId===e);return c===-1?l.push(a):l[c]=a,gx(l),Vf(l),a}async function Tb(e,t,n,s){let i=null,r=n||"cn-beijing",a=null;for(const u of Vve(n))try{const d=await mk(e,u,{retryProbe:!0});if(d&&d.length>0){i=d,r=u;break}}catch(d){if(d instanceof Of)throw Gy(e),d;if(d instanceof Er&&d.unsupported){a=d;continue}throw d}if(!i||i.length===0)throw Gy(e),a||new Error("该 Runtime 暂不支持连接,请确认服务已正常运行。");const l=Object.fromEntries(i.map(u=>[u,t])),c=LF(e,t,r,i,l,s);return Uo(c.id,i[0])}async function DF(e,t,n,s){const i=t.trim().replace(/\/+$/,""),r=await D1(i,n.trim()),a={id:Date.now().toString(36),name:e.trim()||MF(i),base:i,apiKey:n.trim(),apps:r,appLabels:s&&r.length>0?{[r[0]]:s}:void 0},l=[...da().filter(c=>c.base!==i),a];return gx(l),Vf(l),a}function Gve(e){const t=da().filter(n=>n.id!==e);return gx(t),Vf(t),t}function Gy(e){const t=da().filter(n=>n.runtimeId!==e);return gx(t),Vf(t),t}function PF(e,t){const n=e.map(i=>({id:i,label:i,app:i,remote:!1})),s=t.flatMap(i=>i.apps.map(r=>{var l;const a=((l=i.appLabels)==null?void 0:l[r])??r;return{id:Uo(i.id,r),label:a,app:r,remote:!0,host:i.runtimeId?i.name:MF(i.base??""),runtimeId:i.runtimeId,region:i.region,currentVersion:i.currentVersion}}));return[...n,...s]}const iL=Object.freeze(Object.defineProperty({__proto__:null,addConnection:DF,addRuntimeConnection:LF,buildAgentEntries:PF,connectRuntime:Tb,loadConnections:da,registerConnections:Vf,remoteAppId:Uo,removeConnection:Gve,removeRuntimeConnection:Gy},Symbol.toStringTag,{value:"Module"}));function Kve({onAdded:e,onCancel:t}){const[n,s]=b.useState(""),[i,r]=b.useState(""),[a,l]=b.useState(""),[c,u]=b.useState(!1),[d,f]=b.useState(""),h=n.trim().length>0&&i.trim().length>0&&!c;async function m(){if(h){u(!0),f("");try{const p=await DF(a,n,i,a);if(p.apps.length===0){f("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。"),u(!1);return}e(Uo(p.id,p.apps[0]))}catch(p){f(`连接失败:${String(p)}。请检查 URL、API Key,以及该网关是否允许跨域。`),u(!1)}}}return o.jsx("div",{className:"addagent",children:o.jsxs("div",{className:"addagent-card",children:[o.jsx("h2",{className:"addagent-title",children:"添加 AgentKit 智能体"}),o.jsx("p",{className:"addagent-sub",children:"填入 AgentKit 部署的访问地址与 API Key,将通过 ADK 协议连接,连接成功后其 Agent 会出现在左上角的下拉中。"}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"访问地址 URL"}),o.jsx("input",{className:"addagent-input",value:n,onChange:p=>s(p.target.value),placeholder:"https://xxxxx.apigateway-cn-beijing.volceapi.com",autoFocus:!0})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"API Key"}),o.jsx("input",{className:"addagent-input",type:"password",value:i,onChange:p=>r(p.target.value),placeholder:"以 Authorization: Bearer 方式连接"})]}),o.jsxs("label",{className:"addagent-field",children:[o.jsx("span",{className:"addagent-label",children:"显示名称(可选)"}),o.jsx("input",{className:"addagent-input",value:a,onChange:p=>l(p.target.value),placeholder:"默认取 URL 的主机名"})]}),d&&o.jsx("div",{className:"addagent-error",children:d}),o.jsxs("div",{className:"addagent-actions",children:[o.jsx("button",{className:"addagent-btn addagent-btn--ghost",onClick:t,disabled:c,children:"取消"}),o.jsxs("button",{className:"addagent-btn addagent-btn--primary",onClick:m,disabled:!h,children:[c?o.jsx(gn,{className:"icon spin"}):null,c?"连接中…":"连接并添加"]})]})]})})}function qve(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M12 4.2 21 19H3L12 4.2Z"}),o.jsx("path",{d:"M12 9.4v4.2"}),o.jsx("path",{d:"M12 16.8h.01"})]})}function Yve(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"m7 7 10 10"}),o.jsx("path",{d:"m17 7-10 10"})]})}function b2({title:e,description:t,confirmLabel:n,cancelLabel:s="取消",closeLabel:i="关闭确认框",variant:r="warning",busy:a=!1,onCancel:l,onConfirm:c}){const u=b.useId(),d=b.useId(),f=b.useRef(null),h=b.useRef(a),m=b.useRef(l);return b.useEffect(()=>{h.current=a,m.current=l},[a,l]),b.useEffect(()=>{var y;const p=document.body.style.overflow,g=document.activeElement instanceof HTMLElement?document.activeElement:null;document.body.style.overflow="hidden",(y=f.current)==null||y.focus();const v=x=>{x.key==="Escape"&&!h.current&&m.current()};return window.addEventListener("keydown",v),()=>{document.body.style.overflow=p,window.removeEventListener("keydown",v),g!=null&&g.isConnected&&g.focus()}},[]),Si.createPortal(o.jsx("div",{className:"studio-confirm-backdrop",onMouseDown:p=>{p.target===p.currentTarget&&!a&&l()},children:o.jsxs("section",{className:`studio-confirm-dialog studio-confirm-dialog--${r}`,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":d,"aria-busy":a||void 0,children:[o.jsxs("header",{className:"studio-confirm-head",children:[o.jsxs("div",{className:"studio-confirm-title-wrap",children:[o.jsx("span",{className:"studio-confirm-title-icon","aria-hidden":"true",children:o.jsx(qve,{})}),o.jsx("h2",{id:u,children:e})]}),o.jsx("button",{type:"button",className:"studio-confirm-close",onClick:l,disabled:a,"aria-label":i,children:o.jsx(Yve,{})})]}),o.jsx("div",{className:"studio-confirm-body",children:o.jsx("p",{id:d,children:t})}),o.jsxs("footer",{className:"studio-confirm-actions",children:[o.jsx("button",{ref:f,type:"button",onClick:l,disabled:a,children:s}),o.jsx("button",{type:"button",className:"studio-confirm-primary",onClick:c,disabled:a,children:n})]})]})}),document.body)}const Wve=[{id:"case-1",itemKey:"case-1",kind:"good",input:"总结本周客户反馈,并按优先级归类。",output:"覆盖主要问题,给出清晰的优先级与下一步动作。",referenceOutput:"覆盖主要问题,给出清晰的优先级与下一步动作。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"总结"},{id:"case-2",itemKey:"case-2",kind:"good",input:"查询最新公开资料并附上来源。",output:"调用搜索工具,结论与引用一一对应。",referenceOutput:"调用搜索工具,结论与引用一一对应。",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 good case",workspaceId:"",tag:"工具调用"},{id:"case-3",itemKey:"case-3",kind:"bad",input:"在信息不足时直接给出确定结论。",output:"应明确说明未知,并主动询问缺失信息。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"幻觉"},{id:"case-4",itemKey:"case-4",kind:"bad",input:"连续重复调用相同工具获取同一结果。",output:"复用已有结果,避免无意义的重复调用。",referenceOutput:"",comment:"",agentName:"示例 Agent",sessionId:"",messageId:"",runtimeId:"",invocationId:"",userId:"",createdAt:"",evaluationSetId:"",evaluationSetName:"示例 bad case",workspaceId:"",tag:"效率"}],Xve=[{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"}]}],ju=[{id:"basic",label:"基本信息"},{id:"evaluations",label:"评测集"},{id:"integrations",label:"接入方法"}],Oh=[{id:"api-server",label:"API Server"},{id:"a2a",label:"A2A"}];function qv(e,t){return e?`${e.replace(/\/+$/,"")}${t}`:""}function Qve(e,t){const n=e.trim();if(!n||!t)return n;try{const s=new URL(n),i=s.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(!["localhost","127.0.0.1","::1"].includes(i))return n;const r=new URL(t);return s.protocol=r.protocol,s.hostname=r.hostname,s.port=r.port,s.toString()}catch{return n}}function rL(e){return e==="key_auth"?"API Key":e==="custom_jwt"?"OAuth / JWT":e==="none"?"无需鉴权":"暂无"}function P_(e){return JSON.stringify(e)}function BF(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 zve(e,t,n){const s=e.replace(/\/+$/,"");return`\`\`\`python +HEADERS = {"Authorization": f"Bearer {AUTH_TOKEN}"}`}function Zve(e,t,n){const s=e.replace(/\/+$/,"");return`\`\`\`python import uuid import requests -BASE_URL = ${M_(s)} -APP_NAME = ${M_(t)} +BASE_URL = ${P_(s)} +APP_NAME = ${P_(t)} USER_ID = "demo-user" SESSION_ID = str(uuid.uuid4()) -${IF(n)} +${BF(n)} session_response = requests.post( f"{BASE_URL}/apps/{APP_NAME}/users/{USER_ID}/sessions/{SESSION_ID}", @@ -620,13 +620,13 @@ with requests.post( for line in response.iter_lines(): if line: print(line.decode("utf-8")) -\`\`\``}function Vve(e,t){return`\`\`\`python +\`\`\``}function Jve(e,t){return`\`\`\`python import uuid import requests -AGENT_URL = ${M_(e)} -${IF(t)} +AGENT_URL = ${P_(e)} +${BF(t)} response = requests.post( AGENT_URL, @@ -647,82 +647,82 @@ response = requests.post( ) response.raise_for_status() print(response.json()) -\`\`\``}function Gve({visible:e}){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.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"}),o.jsx("circle",{cx:"12",cy:"12",r:"2.4"}),!e&&o.jsx("path",{d:"m4.2 4.2 15.6 15.6"})]})}function sL({available:e,authType:t,value:n,visible:s,loading:i,error:r,onToggle:a}){return e?t==="none"?"无需 API Key":t==="custom_jwt"?"使用 OAuth / JWT":t!=="key_auth"?"暂无":o.jsxs("span",{className:"aw-integration-secret",children:[o.jsx("span",{className:"aw-integration-secret-value","aria-live":"polite",children:s&&n?n:"****"}),o.jsx("button",{type:"button",className:"aw-integration-secret-toggle","aria-label":s?"隐藏 API Key":"显示 API Key",title:s?"隐藏 API Key":"显示 API Key",disabled:i,onClick:a,children:i?o.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}):o.jsx(Gve,{visible:s})}),r&&o.jsx("span",{className:"aw-integration-secret-error",role:"alert",children:r})]}):"暂无"}function iL({protocol:e,title:t,available:n,fields:s,example:i}){return o.jsxs("section",{className:`aw-integration-panel${n&&i?" has-example":""}`,id:`integration-${e}-panel`,role:"tabpanel","aria-labelledby":`integration-${e}-tab`,children:[o.jsx("header",{children:o.jsx("h3",{children:t})}),o.jsx("dl",{children:s.map(r=>o.jsxs("div",{children:[o.jsx("dt",{children:r.label}),o.jsx("dd",{children:r.value||"暂无"})]},r.label))}),n&&i&&o.jsxs("section",{className:"aw-integration-example",children:[o.jsx("h4",{children:"Python 示例"}),o.jsx(zf,{text:i,className:"aw-integration-example-code",allowRawHtml:!1})]})]})}function RF(e){const t=e.tools??[],n=lu.filter(i=>i.toolNames.some(r=>t.includes(r))),s=new Set(n.flatMap(i=>i.toolNames));return{...Ni(),name:e.name,description:e.description,instruction:e.instruction||Ni().instruction,agentType:e.type,modelName:e.model,tools:t.filter(i=>!s.has(i)),builtinTools:n.map(i=>i.id),skills:(e.skills??[]).map(i=>i.name),subAgents:(e.children??[]).map(RF)}}function Kve(e,t){var n;return e!=null&&e.draft?e.draft:e!=null&&e.graph?RF(e.graph):{...Ni(),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(s=>s.name))??[]}}function OF(e){return e?1+e.children.reduce((t,n)=>t+OF(n),0):1}function jF(e){return 1+e.subAgents.reduce((t,n)=>t+jF(n),0)}function L_(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 qve(e){const t=L_(e);return t?new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"时间未知"}function Yve(e,t){return e.find(n=>n.kind===t)}function rL(e){return e.items.map(t=>({...t,tag:t.kind==="good"?"Good case":"Bad case"})).sort((t,n)=>L_(n.createdAt)-L_(t.createdAt))}function Wve(e){const t=n=>[n.name,n.description,n.agentType??"llm",n.modelName??"",n.tools??[],n.builtinTools??[],(n.customTools??[]).map(s=>s.name),(n.mcpTools??[]).map(s=>s.name),n.skills??[],(n.selectedSkills??[]).map(s=>s.name),(n.subAgents??[]).map(t)];return JSON.stringify(t(e))}const Zh=[{phase:"prepare",label:"准备部署",description:"校验配置并创建部署任务"},{phase:"build",label:"构建镜像",description:"生成运行环境与智能体代码"},{phase:"deploy",label:"部署服务",description:"创建并启动 AgentKit Runtime"},{phase:"publish",label:"发布服务",description:"等待服务就绪并生成访问地址"},{phase:"complete",label:"部署完成",description:"智能体已可以正常使用"}];function Xve(e){return{phase:"update",label:"更新实例配置",description:`将 Runtime 实例数调整为 ${e.min}~${e.max}`}}const Qve=Zh.findIndex(e=>e.phase==="build");function MF(e){return e.instanceRange?[...Zh.slice(0,-1),Xve(e.instanceRange),Zh[Zh.length-1]]:Zh}function LF(e){const t=MF(e);if(e.status==="success")return t.length-1;const n=e.phase??{准备部署:"prepare",构建镜像:"build",部署:"deploy",发布:"publish",部署完成:"complete"}[e.label],s=t.findIndex(i=>i.phase===n);return s<0?0:s}function Zve(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 Jve({task:e}){const t=e.buildLog,n=b.useRef(null),s=(t==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&LF(e)===Qve,[i,r]=b.useState(s),[a,l]=b.useState(!1),c=!!(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 ewe({visible:e}){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.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"}),o.jsx("circle",{cx:"12",cy:"12",r:"2.4"}),!e&&o.jsx("path",{d:"m4.2 4.2 15.6 15.6"})]})}function aL({available:e,authType:t,value:n,visible:s,loading:i,error:r,onToggle:a}){return e?t==="none"?"无需 API Key":t==="custom_jwt"?"使用 OAuth / JWT":t!=="key_auth"?"暂无":o.jsxs("span",{className:"aw-integration-secret",children:[o.jsx("span",{className:"aw-integration-secret-value","aria-live":"polite",children:s&&n?n:"****"}),o.jsx("button",{type:"button",className:"aw-integration-secret-toggle","aria-label":s?"隐藏 API Key":"显示 API Key",title:s?"隐藏 API Key":"显示 API Key",disabled:i,onClick:a,children:i?o.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}):o.jsx(ewe,{visible:s})}),r&&o.jsx("span",{className:"aw-integration-secret-error",role:"alert",children:r})]}):"暂无"}function oL({protocol:e,title:t,available:n,fields:s,example:i}){return o.jsxs("section",{className:`aw-integration-panel${n&&i?" has-example":""}`,id:`integration-${e}-panel`,role:"tabpanel","aria-labelledby":`integration-${e}-tab`,children:[o.jsx("header",{children:o.jsx("h3",{children:t})}),o.jsx("dl",{children:s.map(r=>o.jsxs("div",{children:[o.jsx("dt",{children:r.label}),o.jsx("dd",{children:r.value||"暂无"})]},r.label))}),n&&i&&o.jsxs("section",{className:"aw-integration-example",children:[o.jsx("h4",{children:"Python 示例"}),o.jsx(zf,{text:i,className:"aw-integration-example-code",allowRawHtml:!1})]})]})}function UF(e){const t=e.tools??[],n=lu.filter(i=>i.toolNames.some(r=>t.includes(r))),s=new Set(n.flatMap(i=>i.toolNames));return{...Ci(),name:e.name,description:e.description,instruction:e.instruction||Ci().instruction,agentType:e.type,modelName:e.model,tools:t.filter(i=>!s.has(i)),builtinTools:n.map(i=>i.id),skills:(e.skills??[]).map(i=>i.name),subAgents:(e.children??[]).map(UF)}}function twe(e,t){var n;return e!=null&&e.draft?e.draft:e!=null&&e.graph?UF(e.graph):{...Ci(),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(s=>s.name))??[]}}function FF(e){return e?1+e.children.reduce((t,n)=>t+FF(n),0):1}function $F(e){return 1+e.subAgents.reduce((t,n)=>t+$F(n),0)}function B_(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 nwe(e){const t=B_(e);return t?new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"时间未知"}function swe(e,t){return e.find(n=>n.kind===t)}function lL(e){return e.items.map(t=>({...t,tag:t.kind==="good"?"Good case":"Bad case"})).sort((t,n)=>B_(n.createdAt)-B_(t.createdAt))}function iwe(e){const t=n=>[n.name,n.description,n.agentType??"llm",n.modelName??"",n.tools??[],n.builtinTools??[],(n.customTools??[]).map(s=>s.name),(n.mcpTools??[]).map(s=>s.name),n.skills??[],(n.selectedSkills??[]).map(s=>s.name),(n.subAgents??[]).map(t)];return JSON.stringify(t(e))}const Zh=[{phase:"prepare",label:"准备部署",description:"校验配置并创建部署任务"},{phase:"build",label:"构建镜像",description:"生成运行环境与智能体代码"},{phase:"deploy",label:"部署服务",description:"创建并启动 AgentKit Runtime"},{phase:"publish",label:"发布服务",description:"等待服务就绪并生成访问地址"},{phase:"complete",label:"部署完成",description:"智能体已可以正常使用"}];function rwe(e){return{phase:"update",label:"更新实例配置",description:`将 Runtime 实例数调整为 ${e.min}~${e.max}`}}const awe=Zh.findIndex(e=>e.phase==="build");function HF(e){return e.instanceRange?[...Zh.slice(0,-1),rwe(e.instanceRange),Zh[Zh.length-1]]:Zh}function zF(e){const t=HF(e);if(e.status==="success")return t.length-1;const n=e.phase??{准备部署:"prepare",构建镜像:"build",部署:"deploy",发布:"publish",部署完成:"complete"}[e.label],s=t.findIndex(i=>i.phase===n);return s<0?0:s}function owe(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 lwe({task:e}){const t=e.buildLog,n=b.useRef(null),s=(t==null?void 0:t.status)!=="complete"&&(e.status==="running"||e.status==="error")&&zF(e)===awe,[i,r]=b.useState(s),[a,l]=b.useState(!1),c=!!(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=i?u:d.slice(-36).join(` -`),h=(t==null?void 0:t.pendingMessage)||"正在等待构建日志…";if(b.useEffect(()=>{t&&r(s)},[e.id,t==null?void 0:t.status,s]),b.useEffect(()=>{if(!i||!c)return;const x=n.current;x&&(x.scrollTop=x.scrollHeight)},[i,c,f]),!t||!t.text&&t.status!=="error"&&!t.pendingMessage)return null;const m=Zve(t.updatedAt),p=t.status==="complete"?"已同步":t.status==="error"?"读取失败":"同步中",g=t.omittedEarly?"已省略早期日志":t.snapshotTruncated?"仅显示最近的构建日志":t.truncated?"已省略部分日志":"",v=[p,t.lineCount?`${t.lineCount} 行`:"",g,m].filter(Boolean).join(" · ");async function y(){try{await navigator.clipboard.writeText(u),l(!0),window.setTimeout(()=>l(!1),1500)}catch{l(!1)}}return o.jsxs("section",{className:`aw-deploy-log is-${t.status}${i?"":" is-collapsed"}`,"aria-label":"构建日志",children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"构建日志"}),o.jsx("span",{children:v})]}),o.jsxs("div",{className:"aw-deploy-log-actions",children:[c&&o.jsx("button",{type:"button",onClick:()=>r(x=>!x),children:i?"收起":"展开"}),c&&o.jsxs("button",{type:"button",onClick:()=>void y(),"aria-label":a?"已复制构建日志":"复制构建日志",title:a?"已复制":"复制构建日志",children:[a?o.jsx(Ya,{"aria-hidden":!0}):o.jsx(k1,{"aria-hidden":!0}),o.jsx("span",{children:a?"已复制":"复制"})]})]})]}),i&&(c?o.jsx("pre",{ref:n,children:f}):o.jsx("div",{className:"aw-deploy-log-empty",children:h}))]})}function ewe({task:e}){const t=MF(e),n=LF(e),s=e.status==="success"?100:Math.max(6,Math.min(100,e.pct??6)),i=e.status==="running"?"正在部署":e.status==="success"?"部署完成":e.status==="error"?"部署失败":"部署已取消";return o.jsxs("section",{className:`aw-deploy-progress-card is-${e.status}`,"aria-live":"polite",children:[o.jsxs("div",{className:"aw-deploy-progress-head",children:[o.jsxs("div",{children:[o.jsx("span",{className:"aw-deploy-progress-icon","aria-hidden":!0,children:e.status==="running"?o.jsx(wn,{className:"spin"}):e.status==="success"?o.jsx(jZ,{}):e.status==="error"?o.jsx(qN,{}):o.jsx(IR,{})}),o.jsxs("div",{children:[o.jsx("h3",{children:i}),o.jsx("p",{children:e.runtimeName})]})]}),o.jsx("strong",{children:e.status==="running"?`${Math.round(s)}%`:e.label})]}),o.jsx("div",{className:"aw-deploy-progress-track",role:"progressbar","aria-label":"部署进度","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(s),children:o.jsx("span",{style:{width:`${s}%`}})}),o.jsx("ol",{className:"aw-deploy-steps",children:t.map((r,a)=>{const l=e.status==="success"||anew Set),[kt,nn]=b.useState(()=>new Set),[Kt,Xt]=b.useState(!1),[Vt,Qt]=b.useState(""),[Rt,Bt]=b.useState(null),[qn,qs]=b.useState([]),[Ys,Un]=b.useState([]),[Fn,rn]=b.useState(!1),[Sn,hs]=b.useState(""),[js,vi]=b.useState(0),[is,ms]=b.useState(!1),[Rn,$n]=b.useState(()=>new Set),[un,me]=b.useState(!1),[De,Ae]=b.useState(""),[Je,ut]=b.useState(""),[pt,Ot]=b.useState(()=>new Set),jt=b.useRef(!1),bt=b.useRef(""),_n=b.useRef(null),Le=b.useRef(0),ot=b.useRef(0),[dt,On]=b.useState($ve),[bn,Ki]=b.useState("");b.useEffect(()=>{e.length!==0&&On(H=>H.map((re,fe)=>fe===0&&re.agentIds.length===0?{...re,agentIds:e.slice(0,2).map(Ce=>Ce.id)}:re))},[e]);const ps=b.useMemo(()=>{const H=new Map;for(const re of e)re.runtimeId&&H.set(re.runtimeId,re);return H},[e]),ur=b.useMemo(()=>{var re;const H=new Map;for(const fe of t){const Ce=(re=fe.deploymentTarget)==null?void 0:re.runtimeId;if(!Ce||!ps.has(Ce))continue;const et=H.get(Ce);(!et||fe.updatedAt>et.updatedAt)&&H.set(Ce,fe)}return H},[ps,t]),ji=b.useMemo(()=>{const H=new Map;for(const re of d){if(!re.runtimeId)continue;const fe=H.get(re.runtimeId);(!fe||re.startedAt>fe.startedAt)&&H.set(re.runtimeId,re)}return H},[d]),Yn=b.useMemo(()=>{const H=Ue.trim().toLowerCase();return H?e.filter(re=>{const fe=re.runtimeId?ur.get(re.runtimeId):void 0,Ce=re.runtimeId?ji.get(re.runtimeId):void 0;return[re.label,re.app,re.host??"",(fe==null?void 0:fe.draft.name)??"",(fe==null?void 0:fe.draft.description)??"",(Ce==null?void 0:Ce.runtimeName)??""].join(" ").toLowerCase().includes(H)}):e},[e,ji,Ue,ur]),Ms=b.useMemo(()=>{const H=Ue.trim().toLowerCase();return t.filter(re=>{var Ce;const fe=(Ce=re.deploymentTarget)==null?void 0:Ce.runtimeId;return fe&&ps.has(fe)?!1:H?`${re.draft.name} ${re.draft.description}`.toLowerCase().includes(H):!0})},[ps,t,Ue]),Go=b.useMemo(()=>t.filter(H=>{var fe;const re=(fe=H.deploymentTarget)==null?void 0:fe.runtimeId;return!re||!ps.has(re)}).length,[ps,t]),Mi=b.useMemo(()=>{const H=Ue.trim().toLowerCase();return H?dt.filter(re=>re.name.toLowerCase().includes(H)):dt},[dt,Ue]),ie=e.find(H=>H.id===N),Ut=t.find(H=>H.id===P),Tn=f?d.find(H=>H.id===f):void 0,jn=ie!=null&&ie.runtimeId?ur.get(ie.runtimeId):void 0,Ft=v?X:N&&i===N?s:null,Ls=(Ft==null?void 0:Ft.appName)||(ie==null?void 0:ie.runtimeApp)||(ie==null?void 0:ie.app)||"",Na=`${(ie==null?void 0:ie.region)??"cn-beijing"}:${(ie==null?void 0:ie.runtimeId)??""}`,Ve=(ue==null?void 0:ue.requestKey)===Na?ue.value:"",Hn=(Q==null?void 0:Q.requestKey)===Na?Q:null,Rr=!!((oh=Hn==null?void 0:Hn.apiApps)!=null&&oh.length),dr=!!(Hn!=null&&Hn.a2a),vs=((Ln=Hn==null?void 0:Hn.apiApps)==null?void 0:Ln[0])??Ls,Li=(I==null?void 0:I.endpoint)??"",Ko=Hve(((Ig=Hn==null?void 0:Hn.a2a)==null?void 0:Ig.endpoint)??"",Li),Za=JSON.stringify([(ie==null?void 0:ie.runtimeId)??"",(ie==null?void 0:ie.region)??""]),Ds=(Me==null?void 0:Me.requestKey)===Za?Me.value:null;b.useEffect(()=>{const H=Le.current+1;Le.current=H,ze(null),Ke("");const re=(ie==null?void 0:ie.runtimeId)??"",fe=(ie==null?void 0:ie.region)??"";if(!l||!re||!fe){Pe(!1);return}const Ce=new AbortController;return Pe(!0),rB({runtimeId:re,region:fe,signal:Ce.signal}).then(et=>{var tt;if(H===Le.current){if(et.runtime.runtimeId!==re||et.runtime.region!==fe||et.canUpdate&&!((tt=et.agent)!=null&&tt.appName)){Ke("Runtime 更新能力响应与当前选择不匹配。");return}ze({requestKey:Za,value:et})}}).catch(et=>{H!==Le.current||Ce.signal.aborted||Ke(et instanceof Error?et.message:"检查 Runtime 更新能力失败。")}).finally(()=>{H===Le.current&&!Ce.signal.aborted&&Pe(!1)}),()=>Ce.abort()},[l,ie==null?void 0:ie.region,ie==null?void 0:ie.runtimeId,Za]);const ne=b.useMemo(()=>{const H=new Map(e.map((fe,Ce)=>[fe.id,Ce])),re=new Map(n.map((fe,Ce)=>[fe,Ce]));return[...Yn].sort((fe,Ce)=>{const et=fe.runtimeId?ji.get(fe.runtimeId):void 0,tt=Ce.runtimeId?ji.get(Ce.runtimeId):void 0,an=(et==null?void 0:et.status)==="running"?et.startedAt:0,si=(tt==null?void 0:tt.status)==="running"?tt.startedAt:0;if(an!==si)return si-an;const hn=re.get(fe.id),zn=re.get(Ce.id);return hn!=null&&zn!=null?hn-zn:hn!=null?-1:zn!=null?1:(H.get(fe.id)??0)-(H.get(Ce.id)??0)})},[n,e,Yn,ji]),Se=(ie==null?void 0:ie.label)||(Ft==null?void 0:Ft.name)||(Ut==null?void 0:Ut.draft.name)||(Tn==null?void 0:Tn.runtimeName)||"未选择智能体",Ze=dt.find(H=>H.id===bn),yt=ne.filter(H=>H.canDelete===!0),Wn=ne.filter(H=>Ee.has(H.id)&&H.canDelete===!0),rs=Ms.filter(H=>kt.has(H.id)),Ps=yt.length+Ms.length,Bs=Wn.length+rs.length,en=b.useMemo(()=>(Tn==null?void 0:Tn.agentDraft)??(Ut==null?void 0:Ut.draft)??(jn==null?void 0:jn.draft)??Kve(Ft,(ie==null?void 0:ie.label)??"agent"),[Ft,ie==null?void 0:ie.label,jn==null?void 0:jn.draft,Ut==null?void 0:Ut.draft,Tn==null?void 0:Tn.agentDraft]),Mn=Ut?a?"":"当前账号没有新建 Agent 的权限。":l?ie!=null&&ie.runtimeId?ie.region?_e?"正在检查 Runtime 更新能力…":Fe||(Ds?Ds.canUpdate?(Xs=Ds.agent)!=null&&Xs.appName?"":"Runtime 更新能力响应缺少智能体信息。":Ds.reason||"当前 Runtime 不支持原地更新。":"尚未完成 Runtime 更新能力检查。"):"Runtime 缺少地域信息,无法更新。":"仅支持更新已部署的云端智能体。":"当前账号没有管理 Agent 的权限。",Xn="aw-update-disabled-reason",Ws=Ds!=null&&Ds.agent?{runtimeId:Ds.runtime.runtimeId,name:Ds.runtime.name,region:Ds.runtime.region,appName:Ds.agent.appName,currentVersion:Ds.runtime.currentVersion}:jn==null?void 0:jn.deploymentTarget,qi=b.useMemo(()=>{if(Ft)return Ft.tools;const H=(en.builtinTools??[]).map(re=>{var fe;return((fe=lu.find(Ce=>Ce.id===re))==null?void 0:fe.label)??re});return Array.from(new Set([...en.tools,...H,...(en.customTools??[]).map(re=>re.name),...(en.mcpTools??[]).map(re=>re.name)].filter(Boolean)))},[en,Ft]),Or=b.useMemo(()=>Ft?Ft.skillsPreviewSupported?Ft.skills.map(H=>H.name):null:Array.from(new Set([...(en.selectedSkills??[]).map(H=>H.name),...en.skills].filter(Boolean))),[en,Ft]),di=b.useMemo(()=>{if(Tn)return Tn;if(Ut)return d.filter(H=>{var re,fe;return((re=H.agentDraft)==null?void 0:re.name)===Ut.draft.name||H.runtimeName===Ut.draft.name||!!((fe=Ut.deploymentTarget)!=null&&fe.runtimeId)&&H.runtimeId===Ut.deploymentTarget.runtimeId}).sort((H,re)=>re.startedAt-H.startedAt)[0];if(ie)return d.filter(H=>!!ie.runtimeId&&H.runtimeId===ie.runtimeId||H.runtimeName===ie.label).sort((H,re)=>re.startedAt-H.startedAt)[0]},[d,ie,Ut,Tn]),wg=!!(f&&di&&di.id===f),Px=!!(di&&(di.status!=="success"||wg)),Ja=b.useMemo(()=>Wve(en),[en]),Jl=(ie==null?void 0:ie.currentVersion)??(I==null?void 0:I.currentVersion)??null,Sg=Jl??(Tn==null?void 0:Tn.startedAt)??"unknown",bu=Ft?`runtime:${(ie==null?void 0:ie.runtimeId)??Ft.name}:v${Sg}:${Ja}`:`draft:${(Tn==null?void 0:Tn.id)??(Ut==null?void 0:Ut.id)??(ie==null?void 0:ie.id)??Se}:${Ja}`;b.useEffect(()=>{if(!f)return;const H=d.find(fe=>fe.id===f),re=H!=null&&H.runtimeId?ps.get(H.runtimeId):void 0;if(re){$(""),O(re.id),F("basic");return}O(""),$(""),F("basic")},[ps,d,f]),b.useEffect(()=>{if(!h){bt.current="";return}const H=`${h}:${m}:${p}`;bt.current!==H&&e.some(re=>re.id===h)&&(bt.current=H,$(""),O(h),F(m),m==="evaluations"&&(at(p),vt("")))},[e,h,m,p]),b.useEffect(()=>{for(const H of ne.slice(0,8)){if(!H.runtimeId)continue;const re=H.region??"cn-beijing";oB(H.runtimeId,re),YP(H.runtimeId,re,H.runtimeApp??""),Ey(H.runtimeId,re,H.runtimeApp??"").then(fe=>{const Ce=fe.appName||H.app;Ce&&BS({runtimeId:H.runtimeId??"",region:re,appName:Ce,pageSize:100})}).catch(()=>{})}},[ne]),b.useEffect(()=>{!(ie!=null&&ie.runtimeId)||!Ls||BS({runtimeId:ie.runtimeId,region:ie.region??"cn-beijing",appName:Ls,pageSize:100})},[Ls,ie==null?void 0:ie.region,ie==null?void 0:ie.runtimeId]),b.useEffect(()=>{let H=!1;const re=(ie==null?void 0:ie.runtimeId)??"",fe=(ie==null?void 0:ie.region)??"cn-beijing",Ce=(ie==null?void 0:ie.runtimeApp)??"",et=re?qP(re,fe,Ce):null;if(ae(et),ge(!!et||!v||!re),!(!v||!re))return Ey(re,fe,Ce,{force:!0}).then(tt=>{H||ae(tt)}).catch(()=>{!H&&!et&&ae(null)}).finally(()=>{H||ge(!0)}),()=>{H=!0}},[v,ie==null?void 0:ie.currentVersion,ie==null?void 0:ie.region,ie==null?void 0:ie.runtimeApp,ie==null?void 0:ie.runtimeId]),b.useEffect(()=>{ot.current+=1,he(null),pe(!1),Te(!1),Xe(""),we("api-server")},[Na,D]);function _g(){ot.current+=1,he(null),pe(!1),Te(!1),Xe("")}function eo(H){H!==ye&&(_g(),we(H))}async function Tg(){if(Re){_g();return}const H=(ie==null?void 0:ie.runtimeId)??"",re=(ie==null?void 0:ie.region)??"cn-beijing";if(!H)return;const fe=ot.current+1;ot.current=fe,Te(!0),Xe("");try{const Ce=await sB(H,re);if(fe!==ot.current)return;he({requestKey:Na,value:Ce}),pe(!0)}catch(Ce){if(fe!==ot.current)return;he(null),pe(!1),Xe(Ce instanceof Error?Ce.message:"读取 Runtime API Key 失败。")}finally{fe===ot.current&&Te(!1)}}b.useEffect(()=>{let H=!1;const re=(ie==null?void 0:ie.runtimeId)??"",fe=(ie==null?void 0:ie.region)??"cn-beijing",Ce=re?aB(re,fe):null;if(q(Ce),!!re)return fk(re,fe,{force:!0}).then(et=>{H||q(et)}).catch(()=>{!H&&!Ce&&q(null)}),()=>{H=!0}},[ie==null?void 0:ie.currentVersion,ie==null?void 0:ie.region,ie==null?void 0:ie.runtimeId]),b.useEffect(()=>{let H=!1;const re=(ie==null?void 0:ie.runtimeId)??"",fe=(ie==null?void 0:ie.region)??"cn-beijing",Ce=`${fe}:${re}`;if(se(""),D!=="integrations"||!re){z(!1),re||B(null);return}z(!0);const et=dk(re,fe,{retryProbe:!0}).catch(tt=>{if(tt instanceof Er&&tt.unsupported)return null;throw tt});return Promise.all([et,nB(re,fe,{retryProbe:!0})]).then(([tt,an])=>{H||B({requestKey:Ce,apiApps:tt,a2a:an})}).catch(tt=>{H||(B(null),se(tt instanceof Error?tt.message:"探测集成方式失败。"))}).finally(()=>{H||z(!1)}),()=>{H=!0}},[W,D,ie==null?void 0:ie.currentVersion,ie==null?void 0:ie.region,ie==null?void 0:ie.runtimeId]),b.useEffect(()=>{let H=!1;const re=(ie==null?void 0:ie.runtimeId)??"",fe=(ie==null?void 0:ie.region)??"cn-beijing",Ce=re&&Ls?jP({runtimeId:re,region:fe,appName:Ls,pageSize:100}):null;if(qs(Ce?rL(Ce):[]),Un((Ce==null?void 0:Ce.sets)??[]),hs(""),D!=="evaluations"||!re){rn(!1);return}if(v&&!Ls){rn(!te);return}return rn(!Ce),L1({runtimeId:re,region:fe,appName:Ls,pageSize:100},{force:!0}).then(et=>{H||(Un(et.sets),qs(rL(et)))}).catch(et=>{H||hs(et instanceof Error?et.message:String(et))}).finally(()=>{H||rn(!1)}),()=>{H=!0}},[te,v,js,D,Ls,Ft==null?void 0:Ft.appName,ie==null?void 0:ie.region,ie==null?void 0:ie.runtimeId]),b.useEffect(()=>{const H=new Set(qn.map(re=>re.id));$n(re=>{const fe=new Set([...re].filter(Ce=>H.has(Ce)));return fe.size===re.size?re:fe}),Ot(re=>{const fe=new Set([...re].filter(Ce=>H.has(Ce)));return fe.size===re.size?re:fe}),Je&&!H.has(Je)&&ut("")},[qn,Je]),b.useEffect(()=>{ms(!1),$n(new Set),Ot(new Set),Ae(""),ut("")},[ie==null?void 0:ie.runtimeId]),b.useEffect(()=>{const H=new Set(ne.filter(re=>re.canDelete===!0).map(re=>re.id));Qe(re=>{const fe=new Set([...re].filter(Ce=>H.has(Ce)));return fe.size===re.size?re:fe})},[ne]),b.useEffect(()=>{const H=new Set(Ms.map(re=>re.id));nn(re=>{const fe=new Set([...re].filter(Ce=>H.has(Ce)));return fe.size===re.size?re:fe})},[Ms]);const gn=b.useMemo(()=>!g||!(ie!=null&&ie.runtimeId)||g.runtimeId!==ie.runtimeId||Ls&&g.agentName&&g.agentName!==Ls?null:{...g,tag:g.kind==="good"?"Good case":"Bad case"},[g,ie==null?void 0:ie.runtimeId,Ls]),yu=b.useMemo(()=>ie!=null&&ie.runtimeId?gn?[gn,...qn.filter(H=>H.id!==gn.id&&(!H.messageId||H.messageId!==gn.messageId))]:qn:Fve,[qn,gn,ie==null?void 0:ie.runtimeId]),qo=yu.filter(H=>{if(H.kind!==xt)return!1;const re=fn.trim().toLowerCase();return re?[H.input,H.output,H.referenceOutput,H.comment,H.tag??"",H.sessionId,H.messageId,H.userId,H.evaluationSetName].join(" ").toLowerCase().includes(re):!0}),Zf=qo.filter(H=>Rn.has(H.id)),wi=!!(ie!=null&&ie.runtimeId),Ng=H=>{at(H),vt(""),Ae("");const re=yu.find(fe=>fe.kind===H);ut((re==null?void 0:re.id)??""),window.setTimeout(()=>{var fe;(fe=_n.current)==null||fe.scrollIntoView({behavior:"smooth",block:"start"})},0)},Jf=H=>{Ae(""),$n(re=>{const fe=new Set(re);return fe.has(H.id)?fe.delete(H.id):fe.add(H.id),fe})},Bx=()=>{Ae(""),$n(new Set(qo.map(H=>H.id)))},Ux=()=>{Ae(""),$n(new Set),ms(!1)},eh=H=>{Ot(re=>{const fe=new Set(re);return fe.has(H)?fe.delete(H):fe.add(H),fe})},th=H=>{ut(H.id),Ae(""),!(!H.sessionId||!H.messageId)&&(k==null||k(H))},xu=async H=>{if(!(ie!=null&&ie.runtimeId)||!Ls||un||H.length===0)return;const re=H.length===1?"确定删除这条反馈案例?原始聊天记录不会被删除。":`确定删除选中的 ${H.length} 条反馈案例?原始聊天记录不会被删除。`;if(!window.confirm(re))return;const fe=H.map(et=>et.id),Ce=new Set(fe);me(!0),Ae("");try{await DP({runtimeId:ie.runtimeId,region:ie.region??"cn-beijing",appName:Ls,itemIds:fe});const et=new Map;for(const tt of H)et.set(tt.kind,(et.get(tt.kind)??0)+1);qs(tt=>tt.filter(an=>!Ce.has(an.id))),Un(tt=>tt.map(an=>({...an,itemCount:Math.max(0,an.itemCount-(et.get(an.kind)??0))}))),$n(tt=>new Set([...tt].filter(an=>!Ce.has(an)))),Ot(tt=>new Set([...tt].filter(an=>!Ce.has(an)))),Je&&Ce.has(Je)&&ut(""),H.length>1&&ms(!1),A==null||A(H)}catch(et){Ae(et instanceof Error?et.message:String(et))}finally{me(!1)}},kg=H=>{On(re=>re.map(fe=>fe.id===H.id?H:fe))},nh=()=>{const H=new Set(e.map(Ce=>Ce.id)),re=n.filter(Ce=>H.has(Ce)),fe=new Set(re);return[...re,...e.filter(Ce=>!fe.has(Ce.id)).map(Ce=>Ce.id)]},to=(H,re,fe)=>{if(!x||H===re)return;const Ce=nh().filter(an=>an!==H),et=Ce.indexOf(re),tt=et<0?Ce.length:fe==="after"?et+1:et;Ce.splice(tt,0,H),x(Ce)},Pt=(H,re)=>{if(!it||it===re)return;const fe=H.currentTarget.getBoundingClientRect();zt(re),St(H.clientY>fe.top+fe.height/2?"after":"before")},sh=(H,re)=>{if(!x)return;const fe=nh(),Ce=fe.indexOf(H),et=Math.max(0,Math.min(fe.length-1,Ce+re));Ce<0||Ce===et||(fe.splice(Ce,1),fe.splice(et,0,H),x(fe))},Ag=H=>{H.canDelete===!0&&(Qt(""),Qe(re=>{const fe=new Set(re);return fe.has(H.id)?fe.delete(H.id):fe.add(H.id),fe}))},Fx=H=>{Qt(""),nn(re=>{const fe=new Set(re);return fe.has(H.id)?fe.delete(H.id):fe.add(H.id),fe})},ih=()=>{Qt(""),Qe(new Set(yt.map(H=>H.id))),nn(new Set(Ms.map(H=>H.id)))},rh=()=>{Qt(""),Qe(new Set),nn(new Set),Tt(!1)},$x=()=>{if(Bs===0||Kt)return;const H=Wn.length,re=rs.length;Qt(""),Bt({kind:"selection",title:H===1&&re===0?"删除 Agent?":H===0&&re===1?"删除草稿?":"删除所选项目?",description:H===1&&re===0?`"${Wn[0].label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`:H===0&&re===1?`"${rs[0].draft.name||"未命名 Agent"}" 将从本地草稿中删除。`:`将删除选中的 ${Bs} 个项目。${H>0?`${H} 个云端 Runtime 将被永久删除,此操作不可撤销。`:"草稿删除后无法恢复。"}`,confirmLabel:H===0&&re===1?"删除草稿":"删除所选",agents:Wn,drafts:rs})},Hx=async()=>{if(!(!Rt||Kt)){Xt(!0),Qt("");try{if(Rt.kind==="selection"){const{agents:H,drafts:re}=Rt;if(H.length>0){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E(H)}re.length>0&&(w==null||w(re)),Qe(new Set),nn(new Set),Tt(!1),H.some(fe=>fe.id===N)&&O(""),re.some(fe=>fe.id===P)&&$("")}else if(Rt.kind==="agent"){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E([Rt.agent]),N===Rt.agent.id&&O("")}else{if(!w)throw new Error("当前页面不支持删除草稿。");w([Rt.draft]),P===Rt.draft.id&&$("")}Bt(null)}catch(H){Qt(H instanceof Error?H.message:String(H))}finally{Xt(!1)}}},ah=H=>{!E||H.canDelete!==!0||Kt||(Qt(""),Bt({kind:"agent",title:"删除 Agent?",description:`"${H.label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`,confirmLabel:"删除 Agent",agent:H}))},ni=H=>{if(!w||Kt)return;const re=H.draft.name||"未命名 Agent";Qt(""),Bt({kind:"draft",title:"删除草稿?",description:`"${re}" 将从本地草稿中删除。`,confirmLabel:"删除草稿",draft:H})},Cg=()=>{const H=`eval-${Date.now()}`,re={id:H,name:`新评测组 ${dt.length+1}`,agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量"],concurrency:"4",history:[]};On(fe=>[re,...fe]),Ki(H)},Ts=H=>{kg({...H,history:[{id:`run-${Date.now()}`,createdAt:"刚刚",score:86+H.history.length%7,status:"completed"},...H.history]})};return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:`aw-root${v?" is-detail-only":""}`,children:[o.jsxs("nav",{className:"aw-view-tabs","aria-label":"智能体工作台",children:[o.jsx("button",{type:"button",className:L==="library"?"is-active":"","aria-pressed":L==="library",onClick:()=>{G("library"),Ye("")},children:"智能体库"}),o.jsx("button",{type:"button",className:L==="evaluation"?"is-active":"","aria-pressed":L==="evaluation",onClick:()=>{G("evaluation"),Ye("")},children:"评测"})]}),o.jsxs("div",{className:"aw-workspace-frame",children:[o.jsxs("div",{className:"aw-workspace","aria-hidden":L==="evaluation"||void 0,ref:H=>{H==null||H.toggleAttribute("inert",L==="evaluation")},children:[o.jsxs("aside",{className:"aw-sidebar","aria-label":L==="library"?"智能体列表":"评测组列表",children:[o.jsxs("label",{className:"aw-search",children:[o.jsx(py,{"aria-hidden":!0}),o.jsx("input",{value:Ue,onChange:H=>Ye(H.currentTarget.value),placeholder:L==="library"?"搜索智能体":"搜索评测组","aria-label":L==="library"?"搜索智能体":"搜索评测组"})]}),o.jsxs("button",{type:"button",className:"aw-create-card",onClick:L==="library"?C:Cg,disabled:L==="library"&&!a,children:[o.jsx(bi,{"aria-hidden":!0}),o.jsx("span",{children:L==="library"?"新建 Agent":"新建评测组"})]}),L==="library"&&(E||w)&&o.jsx("div",{className:`aw-selection-toolbar${$e?" is-active":""}`,children:$e?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"aw-selection-count",children:["已选 ",Bs," 个"]}),o.jsx("button",{type:"button",onClick:ih,disabled:Ps===0||Kt,children:"全选"}),o.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void $x(),disabled:Bs===0||Kt,children:Kt?"删除中…":"删除所选"}),o.jsx("button",{type:"button",onClick:rh,disabled:Kt,children:"取消"})]}):o.jsx("button",{type:"button",onClick:()=>{Qt(""),Tt(!0)},disabled:Ps===0,children:"选择"})}),L==="library"&&Vt&&o.jsx("div",{className:"aw-delete-error",role:"alert",children:Vt}),o.jsx("div",{className:"aw-agent-list",children:L==="evaluation"?Mi.length===0?o.jsx("div",{className:"aw-list-empty",children:"没有匹配的评测组"}):Mi.map(H=>o.jsxs("button",{type:"button",className:`aw-agent-item${H.id===bn?" is-active":""}`,onClick:()=>Ki(H.id),children:[o.jsxs("span",{className:"aw-agent-copy aw-eval-group-copy",children:[o.jsx("strong",{children:H.name}),o.jsxs("small",{children:[H.agentIds.length," 个智能体 · ",H.history.length," 次运行"]})]}),o.jsx(vm,{"aria-hidden":!0})]},H.id)):c&&ne.length===0&&Ms.length===0?o.jsx("div",{className:"aw-list-empty",children:"正在读取云端智能体…"}):u&&ne.length===0&&Ms.length===0?o.jsxs("div",{className:"aw-list-empty aw-list-error",children:[o.jsx("span",{children:u}),y&&o.jsx("button",{type:"button",onClick:y,children:"重试"})]}):ne.length===0&&Ms.length===0?o.jsx("div",{className:"aw-list-empty",children:"没有匹配的智能体"}):o.jsxs(o.Fragment,{children:[Ms.map(H=>{const re=d.filter(Ce=>{var et,tt;return((et=Ce.agentDraft)==null?void 0:et.name)===H.draft.name||Ce.runtimeName===H.draft.name||!!((tt=H.deploymentTarget)!=null&&tt.runtimeId)&&Ce.runtimeId===H.deploymentTarget.runtimeId}).sort((Ce,et)=>et.startedAt-Ce.startedAt)[0],fe=kt.has(H.id);return o.jsxs("button",{type:"button",className:["aw-agent-item",$e?"is-selecting":"",fe?"is-selected-for-delete":"",H.id===P?"is-active":""].filter(Boolean).join(" "),"aria-pressed":$e?fe:void 0,onClick:()=>{if($e){Fx(H);return}O(""),$(H.id),F("basic")},children:[$e&&o.jsx("span",{className:`aw-select-marker${fe?" is-checked":""}`,"aria-hidden":"true"}),o.jsxs("span",{className:"aw-agent-copy",children:[o.jsxs("span",{className:"aw-agent-name-row",children:[o.jsx("strong",{children:H.draft.name||"未命名 Agent"}),o.jsx("span",{className:`aw-draft-badge${(re==null?void 0:re.status)==="running"?" is-deploying":""}`,children:(re==null?void 0:re.status)==="running"?"部署中":"草稿"})]}),o.jsx("small",{children:H.deploymentTarget?"待更新":"尚未发布"})]}),o.jsx(vm,{"aria-hidden":!0})]},H.id)}),ne.map(H=>{const re=H.runtimeId?ji.get(H.runtimeId):void 0,fe=H.runtimeId?ur.get(H.runtimeId):void 0,Ce=Ee.has(H.id),et=H.canDelete===!0,tt=(re==null?void 0:re.status)==="running"?{label:"部署中",className:" is-deploying"}:(re==null?void 0:re.status)==="error"?{label:"失败",className:" is-error"}:(re==null?void 0:re.status)==="cancelled"?{label:"已取消",className:" is-muted"}:fe?{label:"待更新",className:""}:null,an=(re==null?void 0:re.status)==="running"?"正在更新部署":fe?"待更新":H.remote?H.host||"远程智能体":"本地智能体",si=["aw-agent-item","aw-agent-item--sortable",H.id===N?"is-active":"",$e?"is-selecting":"",Ce?"is-selected-for-delete":"",$e&&!et?"is-selection-disabled":"",H.id===it?"is-dragging":"",H.id===qe&&H.id!==it?`is-drop-target is-drop-${st}`:""].filter(Boolean).join(" ");return o.jsxs("button",{type:"button",draggable:!!x&&!$e,className:si,"aria-pressed":$e?Ce:void 0,"aria-keyshortcuts":x?"Alt+ArrowUp Alt+ArrowDown":void 0,onDragStart:hn=>{x&&(jt.current=!0,Ht(H.id),hn.dataTransfer.effectAllowed="move",hn.dataTransfer.setData("text/plain",H.id))},onDragEnter:hn=>{Pt(hn,H.id)},onDragOver:hn=>{!it||it===H.id||(hn.preventDefault(),hn.dataTransfer.dropEffect="move",Pt(hn,H.id))},onDragLeave:hn=>{const zn=hn.relatedTarget;zn instanceof Node&&hn.currentTarget.contains(zn)||qe===H.id&&zt("")},onDrop:hn=>{hn.preventDefault();const zn=hn.dataTransfer.getData("text/plain")||it;to(zn,H.id,st),Ht(""),zt(""),St("before")},onDragEnd:()=>{Ht(""),zt(""),St("before"),window.setTimeout(()=>{jt.current=!1},0)},onKeyDown:hn=>{hn.altKey&&(hn.key==="ArrowUp"?(hn.preventDefault(),sh(H.id,-1)):hn.key==="ArrowDown"&&(hn.preventDefault(),sh(H.id,1)))},onClick:hn=>{if($e){hn.preventDefault(),Ag(H);return}if(jt.current){hn.preventDefault(),jt.current=!1;return}$(""),O(H.id),F("basic"),T(H.id)},children:[$e&&o.jsx("span",{className:`aw-select-marker${Ce?" is-checked":""}`,"aria-hidden":"true"}),o.jsxs("span",{className:"aw-agent-copy",children:[o.jsxs("span",{className:"aw-agent-name-row",children:[o.jsx("strong",{children:H.label}),H.currentVersion!=null&&o.jsxs("span",{className:"aw-version-badge",children:["v",H.currentVersion]}),tt&&o.jsx("span",{className:`aw-draft-badge${tt.className}`,children:tt.label})]}),o.jsx("small",{children:an})]}),o.jsx(vm,{"aria-hidden":!0})]},H.id)})]})}),o.jsxs("div",{className:"aw-list-count",children:["共 ",L==="library"?e.length+Go:dt.length," 个"]})]}),L==="evaluation"&&Ze?o.jsx(swe,{group:Ze,agents:e,cases:yu,onChange:kg,onRun:Ts}):L==="evaluation"?o.jsx("main",{className:"aw-main aw-empty-selection",children:o.jsx("p",{children:"未选择评测组"})}):!ie&&!Ut&&!Tn?o.jsx("main",{className:"aw-main aw-empty-selection",children:o.jsx("p",{children:"未选择智能体"})}):o.jsxs("main",{className:"aw-main",children:[ie&&!Ft&&r&&o.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:o.jsxs("div",{className:"aw-detail-loading-card",children:[o.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),o.jsxs("span",{children:[o.jsx("strong",{children:"正在加载智能体"}),o.jsx("small",{children:"正在读取配置与运行信息…"})]})]})}),D==="integrations"&&ee&&o.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:o.jsxs("div",{className:"aw-detail-loading-card",children:[o.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),o.jsxs("span",{children:[o.jsx("strong",{children:"正在探测接入方式"}),o.jsx("small",{children:"正在确认 API Server 与 A2A…"})]})]})}),o.jsxs("div",{className:"aw-agent-head",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"aw-agent-title-row",children:[o.jsx("h2",{children:Se}),Jl!=null&&o.jsxs("span",{children:["v",Jl]}),Ut&&o.jsx("span",{children:"草稿"}),jn&&o.jsx("span",{children:"待更新"}),!ie&&!Ut&&Tn&&o.jsx("span",{children:Tn.label})]}),o.jsx("p",{children:en.description||(r||v&&!te?"正在读取智能体信息…":"暂无描述")})]}),(Ut||jn||(ie==null?void 0:ie.canDelete))&&o.jsxs("div",{className:"aw-head-actions",children:[(Ut||jn)&&o.jsxs("button",{type:"button",className:"aw-head-delete aw-head-delete--draft",onClick:()=>{const H=Ut??jn;H&&ni(H)},disabled:Kt,"aria-label":"删除草稿",title:"删除草稿",children:[o.jsx(Po,{"aria-hidden":!0}),o.jsx("span",{children:"删除草稿"})]}),(ie==null?void 0:ie.canDelete)&&o.jsxs("button",{type:"button",className:"aw-head-delete",onClick:()=>void ah(ie),disabled:Kt,"aria-label":"删除 Agent",title:"删除 Agent",children:[o.jsx(Po,{"aria-hidden":!0}),o.jsx("span",{children:Kt?"删除中…":"删除 Agent"})]})]})]}),di&&Px&&o.jsx("div",{className:"aw-detail-deployment",children:o.jsx(ewe,{task:di})}),o.jsx("nav",{className:"aw-agent-tabs","aria-label":"智能体详情",role:"tablist",children:Ou.map(H=>o.jsx("button",{type:"button",id:`agent-${H.id}-tab`,className:D===H.id?"is-active":"",role:"tab","aria-selected":D===H.id,"aria-controls":`agent-${H.id}-panel`,tabIndex:D===H.id?0:-1,onClick:()=>F(H.id),onKeyDown:re=>{var tt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(re.key))return;re.preventDefault();const fe=Ou.findIndex(an=>an.id===H.id),Ce=re.key==="Home"?0:re.key==="End"?Ou.length-1:(fe+(re.key==="ArrowRight"?1:-1)+Ou.length)%Ou.length,et=Ou[Ce];F(et.id),(tt=document.getElementById(`agent-${et.id}-tab`))==null||tt.focus()},children:H.label},H.id))}),o.jsxs("div",{className:"aw-content",id:`agent-${D}-panel`,role:"tabpanel","aria-labelledby":`agent-${D}-tab`,children:[D==="basic"&&o.jsxs("div",{className:"aw-basic-stack",children:[o.jsxs("section",{className:"aw-deployment-panel aw-settings-card",children:[o.jsx("div",{className:"aw-section-head",children:o.jsxs("div",{children:[o.jsx("h3",{children:"部署配置"}),o.jsx("p",{children:"配置目标环境与网络访问方式。"})]})}),o.jsxs("dl",{className:"aw-readonly-config",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"运行状态"}),o.jsxs("dd",{className:(I==null?void 0:I.status.toLowerCase())==="ready"?"is-ready":void 0,children:[(I==null?void 0:I.status.toLowerCase())==="ready"&&o.jsx("span",{className:"aw-status-dot"}),(I==null?void 0:I.status)||"读取中…"]})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"部署区域"}),o.jsx("dd",{children:(I==null?void 0:I.region)||(ie==null?void 0:ie.region)||(di==null?void 0:di.region)||"暂未提供"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"网络访问"}),o.jsx("dd",{children:I!=null&&I.networkTypes.length?I.networkTypes.join(" / "):"暂未提供"})]})]})]}),o.jsxs("section",{className:"aw-canvas-card",children:[o.jsx("div",{className:"aw-card-head",children:o.jsx("strong",{children:"执行流程"})}),o.jsx("div",{className:"aw-canvas",children:o.jsx(bp,{draft:en,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},bu)})]}),o.jsxs("section",{className:"aw-details-card",children:[o.jsx("div",{className:"aw-card-head",children:o.jsx("strong",{children:"详细信息"})}),o.jsxs("dl",{className:"aw-facts",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"模型"}),o.jsx("dd",{children:(Ft==null?void 0:Ft.model)||en.modelName||"暂未提供"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"智能体数量"}),o.jsx("dd",{children:Ft!=null&&Ft.graph?OF(Ft.graph):jF(en)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"工具"}),o.jsx("dd",{className:"aw-fact-badges",children:qi.length?qi.map(H=>o.jsx("span",{children:H},H)):"暂无"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"技能"}),o.jsx("dd",{className:"aw-fact-badges",children:Or===null?"暂不支持预览":Or.length?Or.map(H=>o.jsx("span",{children:H},H)):"暂无"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:Jl!=null?`v${Jl}`:"暂未提供"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:Ut?"草稿":(di==null?void 0:di.status)==="error"?"部署失败":(di==null?void 0:di.status)==="cancelled"?"已取消":jn?"待更新":o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"aw-status-dot"}),"可用"]})})]})]})]}),o.jsxs("section",{className:"aw-option-panel aw-settings-card",children:[o.jsx("div",{className:"aw-section-head",children:o.jsxs("div",{children:[o.jsx("h3",{children:"优化项"}),o.jsx("p",{children:"针对运行质量开启专项优化策略。"})]})}),o.jsxs("div",{className:"aw-option-content",children:[o.jsx("div",{className:"aw-option-list","aria-disabled":"true",children:[["上下文优化","压缩冗余信息,保留对当前任务最有价值的上下文。"],["幻觉抑制","在证据不足时降低确定性表达并主动请求补充信息。"],["工具调用优化","减少重复调用,并优先复用已经获得的结果。"]].map(([H,re])=>o.jsxs("label",{children:[o.jsx("input",{type:"checkbox",disabled:!0}),o.jsxs("span",{children:[o.jsx("strong",{children:H}),o.jsx("small",{children:re})]})]},H))}),o.jsx("div",{className:"aw-option-glass",role:"status",children:o.jsx("span",{children:"暂未开放"})})]})]})]}),D==="integrations"&&o.jsxs("div",{className:"aw-integration-stack",children:[o.jsxs("div",{className:"aw-integration-intro",children:[o.jsx("h3",{children:"接入方式"}),o.jsx("p",{children:"仅展示当前 Runtime 可确认的公开协议与地址。"})]}),K&&o.jsxs("div",{className:"aw-integration-error",role:"alert",children:[o.jsx("span",{children:K}),o.jsx("button",{type:"button",onClick:()=>de(H=>H+1),children:"重试"})]}),!K&&o.jsxs("div",{className:"aw-integration-body",children:[o.jsxs("div",{className:`aw-integration-protocol-tabs${ye==="a2a"?" is-a2a":""}`,role:"tablist","aria-label":"接入协议",children:[o.jsx("span",{className:"aw-integration-protocol-slider","aria-hidden":"true"}),jh.map((H,re)=>o.jsx("button",{type:"button",id:`integration-${H.id}-tab`,role:"tab","aria-selected":ye===H.id,"aria-controls":`integration-${H.id}-panel`,tabIndex:ye===H.id?0:-1,onClick:()=>eo(H.id),onKeyDown:fe=>{var tt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(fe.key))return;fe.preventDefault();const Ce=fe.key==="Home"?0:fe.key==="End"?jh.length-1:(re+(fe.key==="ArrowRight"?1:-1)+jh.length)%jh.length,et=jh[Ce];eo(et.id),(tt=document.getElementById(`integration-${et.id}-tab`))==null||tt.focus()},children:H.label},H.id))]}),ye==="api-server"?o.jsx(iL,{protocol:"api-server",title:"API Server",available:Rr,fields:[{label:"Agent",value:Rr?((Eu=Hn==null?void 0:Hn.apiApps)==null?void 0:Eu.join("、"))??"":""},{label:"发现接口",value:Rr?Vv(Li,"/list-apps"):""},{label:"调用接口",value:Rr?Vv(Li,"/run_sse"):""},{label:"鉴权方式",value:Rr?nL(I==null?void 0:I.authType):""},{label:"API Key",value:o.jsx(sL,{available:Rr,authType:I==null?void 0:I.authType,value:Ve,visible:Re&&!!Ve,loading:oe,error:xe,onToggle:()=>void Tg()})}],example:Rr?zve(Li,vs,I==null?void 0:I.authType):""}):o.jsx(iL,{protocol:"a2a",title:"A2A",available:dr,fields:[{label:"Agent",value:((vu=Hn==null?void 0:Hn.a2a)==null?void 0:vu.name)??""},{label:"Agent Card",value:dr?Vv(Li,"/.well-known/agent-card.json"):""},{label:"调用地址",value:Ko},{label:"鉴权方式",value:dr?nL(I==null?void 0:I.authType):""},{label:"API Key",value:o.jsx(sL,{available:dr,authType:I==null?void 0:I.authType,value:Ve,visible:Re&&!!Ve,loading:oe,error:xe,onToggle:()=>void Tg()})}],example:dr?Vve(Ko,I==null?void 0:I.authType):""})]})]}),D==="evaluations"&&o.jsxs("section",{className:"aw-cases",children:[ie!=null&&ie.runtimeId?o.jsx("div",{className:"aw-case-summary",children:["good","bad"].map(H=>{const re=Yve(Ys,H),fe=yu.filter(et=>et.kind===H).length,Ce=gn?fe:(re==null?void 0:re.itemCount)??fe;return o.jsxs("button",{type:"button",onClick:()=>Ng(H),children:[o.jsx("strong",{children:Ce}),o.jsx("span",{children:H==="good"?"Good cases":"Bad cases"})]},H)})}):o.jsx("div",{className:"aw-case-note",children:"只有已部署到 AgentKit Runtime 的 Agent 会同步展示用户反馈评测集。"}),o.jsx("div",{className:"aw-case-filters",children:["good","bad"].map(H=>o.jsx("button",{type:"button",className:xt===H?"is-active":"","aria-pressed":xt===H,onClick:()=>at(H),children:H==="good"?"Good case":"Bad case"},H))}),o.jsxs("label",{className:"aw-case-search",children:[o.jsx(py,{"aria-hidden":!0}),o.jsx("input",{type:"search",value:fn,onChange:H=>vt(H.currentTarget.value),placeholder:"搜索用户输入、期望行为或标签","aria-label":"搜索评测案例"})]}),wi&&o.jsx("div",{className:`aw-case-toolbar${is?" is-active":""}`,children:is?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"aw-selection-count",children:["已选 ",Zf.length," 条"]}),o.jsx("button",{type:"button",onClick:Bx,disabled:qo.length===0||un,children:"全选当前"}),o.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void xu(Zf),disabled:Zf.length===0||un,children:un?"删除中…":"删除所选"}),o.jsx("button",{type:"button",onClick:Ux,disabled:un,children:"取消"})]}):o.jsx("button",{type:"button",onClick:()=>{Ae(""),ms(!0)},disabled:qo.length===0||un,children:"选择案例"})}),De&&o.jsx("div",{className:"aw-delete-error",role:"alert",children:De}),o.jsx("div",{ref:_n,children:o.jsx(nwe,{cases:qo,loading:Fn&&qo.length===0,error:Sn,runtimeBacked:!!(ie!=null&&ie.runtimeId),selectionMode:is,selectedCaseIds:Rn,focusedCaseId:Je,expandedCaseIds:pt,deleting:un,canDelete:wi,onOpenCase:th,onToggleCase:Jf,onToggleExpanded:eh,onDeleteCase:H=>void xu([H]),onRetry:()=>vi(H=>H+1)})})]})]}),D==="basic"&&(ie||Ut)&&o.jsxs("div",{className:"aw-basic-actions",children:[ie&&o.jsxs("button",{type:"button",className:"aw-talk studio-update-action",onClick:()=>S==null?void 0:S(ie),children:[o.jsx(eJ,{"aria-hidden":!0}),o.jsx("span",{children:"去对话"})]}),o.jsxs("span",{className:`aw-update-wrap${Mn?" is-disabled":""}`,tabIndex:Mn?0:void 0,"aria-describedby":Mn?Xn:void 0,children:[o.jsx("button",{type:"button",className:"aw-update studio-update-action",disabled:!!Mn,"aria-busy":_e||void 0,"aria-describedby":Mn?Xn:void 0,onClick:()=>{var H;return Ut?M==null?void 0:M(Ut):jn?M==null?void 0:M({...jn,deploymentTarget:Ws}):Ds?R(((H=Ds.agent)==null?void 0:H.draft)??en,Ds):void 0},children:_e?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"loading-gap-spinner aw-update-spinner","aria-hidden":"true"}),o.jsx("span",{children:"检测中"})]}):Ut||jn?"继续编辑":"更新"}),Mn&&o.jsx("span",{id:Xn,className:"aw-update-disabled-reason",role:"tooltip",children:Mn})]})]})]})]}),L==="evaluation"&&o.jsx("div",{className:"aw-evaluation-glass",role:"status",children:o.jsx("span",{children:"敬请期待"})})]})]}),Rt&&o.jsx(m2,{variant:"danger",title:Rt.title,description:Rt.description,confirmLabel:Kt?"删除中...":Rt.confirmLabel,closeLabel:"关闭删除确认",busy:Kt,onCancel:()=>Bt(null),onConfirm:()=>void Hx()})]})}function nwe({cases:e,loading:t=!1,error:n="",runtimeBacked:s=!1,selectionMode:i=!1,selectedCaseIds:r,focusedCaseId:a="",expandedCaseIds:l,deleting:c=!1,canDelete:u=!1,onOpenCase:d,onToggleCase:f,onToggleExpanded:h,onDeleteCase:m,onRetry:p}){return o.jsxs("div",{className:"aw-case-table",children:[o.jsxs("div",{className:"aw-case-row aw-case-row-head",children:[o.jsx("span",{children:"用户输入"}),o.jsx("span",{children:"Agent 输出"}),o.jsx("span",{children:"来源"})]}),t?o.jsx("div",{className:"aw-case-empty",children:"正在读取 AgentKit 评测集…"}):n?o.jsxs("div",{className:"aw-case-empty aw-case-error",children:[o.jsx("span",{children:n}),p&&o.jsx("button",{type:"button",onClick:p,children:"重试"})]}):e.length===0?o.jsx("div",{className:"aw-case-empty",children:s?"暂无用户反馈案例":"没有匹配的案例"}):e.map(g=>{const v=g.id.startsWith("local:"),y=(r==null?void 0:r.has(g.id))??!1,x=(l==null?void 0:l.has(g.id))??!1,w=g.output.length+g.referenceOutput.length>220,T=u&&!v;return o.jsxs("div",{className:["aw-case-row",a===g.id?"is-focused":"",i?"is-selecting":"",y?"is-selected-for-delete":""].filter(Boolean).join(" "),role:"row",tabIndex:0,"aria-selected":i?y:void 0,onClick:()=>{if(i){T&&(f==null||f(g));return}d==null||d(g)},onKeyDown:S=>{S.target===S.currentTarget&&(S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),i?T&&(f==null||f(g)):d==null||d(g)))},children:[o.jsxs("div",{className:"aw-case-text",children:[o.jsxs("span",{className:"aw-case-title-line",children:[i&&T&&o.jsx("span",{className:`aw-select-marker${y?" is-checked":""}`,"aria-hidden":"true"}),o.jsx("strong",{title:g.input,children:g.input||"无用户输入"})]}),g.comment&&o.jsxs("small",{title:g.comment,children:["备注:",g.comment]})]}),o.jsxs("div",{className:`aw-case-output${x?" is-expanded":""}`,children:[o.jsx("p",{className:"aw-case-output-preview",title:g.output,children:g.output||"无可见回复"}),g.referenceOutput&&o.jsxs("small",{className:"aw-case-output-preview",title:g.referenceOutput,children:["Reference: ",g.referenceOutput]}),w&&o.jsx("button",{type:"button",className:"aw-case-expand",onClick:S=>{S.stopPropagation(),h==null||h(g.id)},children:x?"收起":"展开"})]}),o.jsxs("div",{className:"aw-case-meta",children:[o.jsxs("span",{className:"aw-case-meta-top",children:[o.jsx("span",{className:`aw-case-tag is-${g.kind}`,children:g.kind==="good"?"Good case":"Bad case"}),T&&o.jsx("button",{type:"button",className:"aw-case-delete",onClick:S=>{S.stopPropagation(),m==null||m(g)},disabled:c,title:"删除反馈案例","aria-label":"删除反馈案例",children:o.jsx(Po,{"aria-hidden":!0})})]}),o.jsx("small",{children:qve(g.createdAt)}),(g.userId||g.sessionId)&&o.jsx("small",{title:[g.userId,g.sessionId].filter(Boolean).join(" · "),children:[g.userId,g.sessionId].filter(Boolean).join(" · ")})]})]},g.id)})]})}function swe({group:e,agents:t,cases:n,onChange:s,onRun:i}){const[r,a]=b.useState("config"),l=e.agentIds.map(f=>t.find(h=>h.id===f)).filter(f=>!!f),c=["回答质量","事实准确性","工具调用","响应效率"];b.useEffect(()=>a("config"),[e.id]);const u=f=>{s({...e,agentIds:e.agentIds.includes(f)?e.agentIds.filter(h=>h!==f):[...e.agentIds,f]})},d=f=>{s({...e,metrics:e.metrics.includes(f)?e.metrics.filter(h=>h!==f):[...e.metrics,f]})};return o.jsxs("main",{className:"aw-main",children:[o.jsxs("div",{className:"aw-eval-head",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"aw-agent-title-row",children:[o.jsx("h2",{children:e.name}),o.jsx("span",{children:"评测组"})]}),o.jsxs("p",{children:[l.length," 个参评智能体 · ",e.caseSet," · ",e.history.length," 次运行"]})]}),o.jsxs("button",{type:"button",className:"aw-run",onClick:()=>i(e),disabled:!0,children:[o.jsx(VZ,{"aria-hidden":!0}),"开始评测"]})]}),o.jsxs("nav",{className:"aw-agent-tabs","aria-label":"评测组详情",children:[o.jsx("button",{type:"button",className:r==="config"?"is-active":"","aria-pressed":r==="config",onClick:()=>a("config"),disabled:!0,children:"评测配置"}),o.jsx("button",{type:"button",className:r==="history"?"is-active":"","aria-pressed":r==="history",onClick:()=>a("history"),disabled:!0,children:"历史结果"})]}),o.jsx("div",{className:"aw-content",children:r==="config"?o.jsxs("div",{className:"aw-eval-setup",children:[o.jsxs("section",{className:"aw-eval-block",children:[o.jsxs("div",{className:"aw-card-head",children:[o.jsx("strong",{children:"参评智能体"}),o.jsxs("span",{children:["已选择 ",l.length," 个"]})]}),o.jsx("div",{className:"aw-eval-agent-grid",children:t.map(f=>o.jsxs("label",{children:[o.jsx("input",{type:"checkbox",checked:e.agentIds.includes(f.id),onChange:()=>u(f.id)}),o.jsxs("span",{children:[o.jsx("strong",{children:f.label}),o.jsx("small",{children:f.remote?"远程":"本地"})]})]},f.id))})]}),o.jsxs("div",{className:"aw-eval-setting-grid",children:[o.jsxs("section",{className:"aw-eval-block",children:[o.jsx("div",{className:"aw-card-head",children:o.jsx("strong",{children:"评测资源"})}),o.jsxs("div",{className:"aw-eval-fields",children:[o.jsxs("label",{children:[o.jsx("span",{children:"评测集"}),o.jsxs("select",{value:e.caseSet,onChange:f=>s({...e,caseSet:f.currentTarget.value}),children:[o.jsx("option",{children:"核心回归集"}),o.jsx("option",{children:"安全边界集"}),o.jsx("option",{children:"工具调用集"})]}),o.jsxs("small",{children:[n.length," 条案例"]})]}),o.jsxs("label",{children:[o.jsx("span",{children:"评估器"}),o.jsxs("select",{value:e.evaluator,onChange:f=>s({...e,evaluator:f.currentTarget.value}),children:[o.jsx("option",{children:"综合质量评估器"}),o.jsx("option",{children:"事实一致性评估器"}),o.jsx("option",{children:"工具调用评估器"})]})]}),o.jsxs("label",{children:[o.jsx("span",{children:"并发数"}),o.jsxs("select",{value:e.concurrency,onChange:f=>s({...e,concurrency:f.currentTarget.value}),children:[o.jsx("option",{value:"2",children:"2"}),o.jsx("option",{value:"4",children:"4"}),o.jsx("option",{value:"8",children:"8"})]})]})]})]}),o.jsxs("section",{className:"aw-eval-block",children:[o.jsxs("div",{className:"aw-card-head",children:[o.jsx("strong",{children:"评测指标"}),o.jsxs("span",{children:["已选择 ",e.metrics.length," 项"]})]}),o.jsx("div",{className:"aw-metric-list",children:c.map(f=>o.jsxs("label",{children:[o.jsx("input",{type:"checkbox",checked:e.metrics.includes(f),onChange:()=>d(f)}),o.jsx("span",{children:f})]},f))})]})]})]}):o.jsxs("section",{className:"aw-eval-history",children:[o.jsx("div",{className:"aw-section-head",children:o.jsxs("div",{children:[o.jsx("h3",{children:"历史结果"}),o.jsx("p",{children:"查看该评测组历次运行的总体表现。"})]})}),e.history.length===0?o.jsxs("div",{className:"aw-results-empty",children:[o.jsx("strong",{children:"暂无历史结果"}),o.jsx("span",{children:"完成首次评测后,结果会出现在这里。"})]}):o.jsx("div",{className:"aw-history-list",children:e.history.map((f,h)=>o.jsxs("button",{type:"button",children:[o.jsxs("span",{children:[o.jsxs("strong",{children:["评测运行 #",e.history.length-h]}),o.jsxs("small",{children:[f.createdAt," · ",l.length," 个智能体"]})]}),o.jsxs("span",{className:"aw-history-score",children:[o.jsx("strong",{children:f.score}),o.jsx("small",{children:"综合得分"})]}),o.jsxs("span",{className:"aw-complete",children:[o.jsx(Ya,{}),"已完成"]}),o.jsx(vm,{"aria-hidden":!0})]},f.id))})]})})]})}function DF(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const n=t.offsetWidth;let s=.985;n<=80?s=.96:n<=150?s=.97:n<=220?s=.98:n>600&&(s=.995),t.style.setProperty("--scale",s.toString())},D_=(e,t)=>{const n=()=>{const a=setTimeout(e);return()=>{clearTimeout(a)}};if(!lwe||typeof window.requestAnimationFrame!="function"||BF&&document.visibilityState==="hidden")return n();let i=2,r=window.requestAnimationFrame(function a(){i-=1,i===0?e():r=window.requestAnimationFrame(a)});return()=>{typeof window.cancelAnimationFrame=="function"&&window.cancelAnimationFrame(r)}},cwe=e=>Object.keys(e).reduce((n,s)=>{const i=e[s];if(i||i===0){const r=s.startsWith("--")?"":"--",a=typeof i=="number"?`${i}px`:i;n[`${r}${s}`]=a}return n},{}),uwe=e=>{const t=b.Children.toArray(e),n=[];let s="";const i=()=>{s!==""&&(n.push(s),s="")};for(const r of t)if(!(r==null||typeof r=="boolean")){if(typeof r=="string"||typeof r=="number"){s+=String(r);continue}i(),n.push(r)}return i(),n},FF=e=>{const t=uwe(e),n=b.Children.count(t);return b.Children.map(t,s=>{if(typeof s=="string"&&s.trim())return n<=1?s:o.jsx("span",{children:s});if(b.isValidElement(s)){const i=s,{children:r,...a}=i.props;return r!=null?b.cloneElement(i,a,FF(r)):i}return s})};b.createContext(null);var dwe=typeof yl=="object"&&yl&&yl.Object===Object&&yl,fwe=typeof self=="object"&&self&&self.Object===Object&&self;dwe||fwe||Function("return this")();var hwe=typeof window<"u"?b.useLayoutEffect:b.useEffect;function mwe(){const e=b.useRef(!1);return b.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),b.useCallback(()=>e.current,[])}var aL={width:void 0,height:void 0};function pwe(e){const{ref:t,box:n="content-box"}=e,[{width:s,height:i},r]=b.useState(aL),a=mwe(),l=b.useRef({...aL}),c=b.useRef(void 0);return c.current=e.onResize,b.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=oL(d,f,"inlineSize"),m=oL(d,f,"blockSize");if(l.current.width!==h||l.current.height!==m){const g={width:h,height:m};l.current.width=h,l.current.height=m,c.current?c.current(g):a()&&r(g)}});return u.observe(t.current,{box:n}),()=>{u.disconnect()}},[n,t,a]),{width:s,height:i}}function oL(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 gwe(e,t){const n=b.useRef(e);hwe(()=>{n.current=e},[e]),b.useEffect(()=>{if(!t&&t!==0)return;const s=setTimeout(()=>{n.current()},t);return()=>{clearTimeout(s)}},[t])}const bwe="_LoadingIndicator_7yl6f_1",ywe={LoadingIndicator:bwe},xwe=({className:e,size:t,strokeWidth:n,style:s,...i})=>o.jsx("div",{...i,className:ta(ywe.LoadingIndicator,e),style:s||cwe({"indicator-size":t,"indicator-stroke":n})});function Ewe(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}const vwe=()=>PF,lL=(e,t=!1,n="TransitionGroup")=>{const s=[];return b.Children.forEach(e,i=>{if(i&&typeof i=="object"&&"key"in i&&i.key)s.push(i);else if(t)throw new Error(`Child elements of <${n} /> must include a \`key\``)}),s},ju=()=>{},Mu=e=>{const t=b.useRef(e);return t.current=e,b.useCallback(n=>t.current(n),[])};function wwe(e,t,n,s){const i=e.reduce((c,u)=>({...c,[u.key]:1}),{}),r=t.reduce((c,u)=>({...c,[u.component.key]:1}),{}),a=e.filter(c=>!r[c.key]).map(n),l=t.map(c=>({...c,component:e.find(({key:u})=>u===c.component.key)||c.component,shouldRender:!!i[c.component.key]}));return s==="append"?l.concat(a):a.concat(l)}function Swe(e,t,n){if((PF||rwe)&&t&&n>1)throw new Error(`Cannot use forwardRef with multiple children in <${e} />`)}const _we="_TransitionGroupChild_1hv1z_1",Twe={TransitionGroupChild:_we},$F={enter:!1,enterActive:!1,exit:!1,exitActive:!1,interrupted:!1},Nwe=e=>({...$F,enter:!e}),kwe=(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 $F}},Awe=({ref:e,as:t,children:n,className:s,transitionId:i,style:r,preventMountTransition:a,shouldRender:l,enterDuration:c,exitDuration:u,removeChild:d,onEnter:f,onEnterActive:h,onEnterComplete:m,onExit:p,onExitActive:g,onExitComplete:v})=>{const[y,x]=b.useReducer(kwe,Nwe(a||!1)),E=b.useRef(!1),w=b.useRef(null),T=b.useRef(c);T.current=c;const S=b.useRef(u);S.current=u;const k=b.useRef(null),A=b.useCallback(C=>{const R=w.current;if(!(!R||C===k.current))switch(k.current=C,C){case"enter":f(R);break;case"enter-active":h(R);break;case"enter-complete":m(R);break;case"exit":p(R);break;case"exit-active":g(R);break;case"exit-complete":v(R);break}},[f,h,m,p,g,v]);return Lt.useLayoutEffect(()=>{if(!l){let M;x({type:"exit-before"}),A("exit");const L=D_(()=>{x({type:"exit-active"}),A("exit-active"),M=window.setTimeout(()=>{A("exit-complete"),d()},S.current)});return()=>{L(),M!==void 0&&clearTimeout(M)}}if(a&&!E.current){E.current=!0;return}let C;x({type:"enter-before"}),A("enter");const R=D_(()=>{x({type:"enter-active"}),A("enter-active"),C=window.setTimeout(()=>{x({type:"done"}),A("enter-complete")},T.current)});return()=>{R(),C!==void 0&&clearTimeout(C)}},[l,a,d,A]),b.useEffect(()=>()=>{E.current=!1},[]),o.jsx(t,{ref:Ewe([w,e]),className:ta(s,Twe.TransitionGroupChild),"data-transition-id":i,style:r,"data-entering":y.enter?"":void 0,"data-entering-active":y.enterActive?"":void 0,"data-exiting":y.exit?"":void 0,"data-exiting-active":y.exitActive?"":void 0,"data-interrupted":y.interrupted?"":void 0,children:n})},Cwe=e=>{const{enterMountDelay:t,preventMountTransition:n}=e,s=!n&&t!=null?t:null,[i,r]=b.useState(s==null);return gwe(()=>r(!0),i?null:s),i?o.jsx(Awe,{...e}):null},Iwe=e=>{const{ref:t,as:n="span",children:s,className:i,transitionId:r,style:a,enterDuration:l=0,exitDuration:c=0,preventInitialTransition:u=!0,enterMountDelay:d,insertMethod:f="append",disableAnimations:h=vwe()}=e,m=Mu(e.onEnter??ju),p=Mu(e.onEnterActive??ju),g=Mu(e.onEnterComplete??ju),v=Mu(e.onExit??ju),y=Mu(e.onExitActive??ju),x=Mu(e.onExitComplete??ju);b.Children.forEach(s,S=>{if(S&&!S.key)throw new Error("Child elements of must include a `key`")});const E=b.useCallback(S=>({component:S,shouldRender:!0,removeChild:()=>{T(k=>k.filter(A=>S.key!==A.component.key))},onEnter:m,onEnterActive:p,onEnterComplete:g,onExit:v,onExitActive:y,onExitComplete:x}),[m,p,g,v,y,x]),[w,T]=b.useState(()=>lL(s).map(S=>({...E(S),preventMountTransition:u})));return b.useLayoutEffect(()=>{T(S=>{const k=lL(s);return wwe(k,S,E,f)})},[s,f,E]),Swe("TransitionGroup",t,b.Children.count(s)),h?o.jsx(o.Fragment,{children:b.Children.map(s,S=>o.jsx(n,{ref:t,className:i,style:a,"data-transition-id":r,children:S}))}):o.jsx(o.Fragment,{children:w.map(({component:S,...k})=>o.jsx(Cwe,{...k,as:n,className:i,transitionId:r,enterDuration:l,exitDuration:c,enterMountDelay:d,style:a,ref:t,children:S},S.key))})},Rwe="_Button_1864l_1",Owe="_ButtonInner_1864l_4",jwe="_ButtonLoader_1864l_749",Gv={Button:Rwe,ButtonInner:Owe,ButtonLoader:jwe},cL=e=>{const{type:t="button",color:n="primary",variant:s="solid",pill:i=!0,uniform:r=!1,size:a="md",iconSize:l,gutterSize:c,loading:u,selected:d,block:f,opticallyAlign:h,children:m,className:p,onClick:g,disabled:v,disabledTone:y,inert:x=u,...E}=e,w=v||x,T=b.useCallback(S=>{v||g==null||g(S)},[g,v]);return o.jsxs("button",{type:t,className:ta(Gv.Button,p),"data-color":n,"data-variant":s,"data-pill":i?"":void 0,"data-uniform":r?"":void 0,"data-size":a,"data-gutter-size":c,"data-icon-size":l,"data-loading":u?"":void 0,"data-selected":d?"":void 0,"data-block":f?"":void 0,"data-optically-align":h,onPointerEnter:UF,disabled:w,"aria-disabled":w,tabIndex:w?-1:void 0,"data-disabled":v?"":void 0,"data-disabled-tone":v?y:void 0,onClick:T,...E,children:[o.jsx(Iwe,{className:Gv.ButtonLoader,enterDuration:250,exitDuration:150,children:u&&o.jsx(xwe,{},"loader")}),o.jsx("span",{className:Gv.ButtonInner,children:FF(m)})]})},Mwe=e=>o.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:o.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"})}),Lwe="_EmptyMessage_1r5gu_1",Dwe="_IconBadge_1r5gu_16",Pwe="_Title_1r5gu_54",Bwe="_Description_1r5gu_69",Uwe="_ActionRow_1r5gu_77",cg={EmptyMessage:Lwe,IconBadge:Dwe,Title:Pwe,Description:Bwe,ActionRow:Uwe},Zn=({children:e,className:t,fill:n="static"})=>o.jsx("div",{className:ta(cg.EmptyMessage,t),"data-fill":n,children:e}),Fwe=({size:e="md",color:t="secondary",children:n,className:s})=>o.jsx("div",{className:ta(cg.IconBadge,s),"data-size":e,"data-color":t,children:n}),$we=({children:e,className:t,color:n="secondary"})=>o.jsx("div",{className:ta(cg.Title,t),"data-color":n,children:e}),Hwe=({children:e,className:t})=>o.jsx("div",{className:ta(cg.Description,t),children:e}),zwe=({children:e,className:t})=>o.jsx("div",{className:ta(cg.ActionRow,t),children:e});Zn.Icon=Fwe;Zn.Title=$we;Zn.Description=Hwe;Zn.ActionRow=zwe;const er="/web/sandbox/sessions",uL=3e4,dL=33e4,Vwe=6e4,Gwe=6e5,Kv=15e3,ho=6e4,Kwe=33e4,fL=40;function mx(e){switch(e.trim().toLowerCase()){case"ready":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 Qs(e){const t=I1(e);return t.has("Accept")||t.set("Accept","application/json"),t}async function Zs(e,t){const n=await e.text().catch(()=>"");let s={};try{s=JSON.parse(n)}catch{const c=`${t}(HTTP ${e.status})`;return new Error(n?`${c}:${n}`:c)}const i=s.detail,r=i&&typeof i=="object"&&"message"in i?i.message:i??s.error??s.message,a=typeof r=="string"?r:r==null?"":JSON.stringify(r),l=`${t}(HTTP ${e.status})`;return new Error(a?`${l}:${a}`:l)}function Lu(e,t="codex"){if(!e.sessionId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Session 信息。");return{id:e.sessionId,toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,createdAt:e.createdAt??"",expireAt:e.expireAt??"",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:px(e.permissions)}}const Mh={approvalPolicy:"on-request",approvalsReviewer:"user",sandboxMode:"workspace-write",networkAccess:!1};function px(e){if(!e||typeof e!="object")return{...Mh};const t=e,n=t.approvalPolicy,s=t.approvalsReviewer,i=t.sandboxMode;return{approvalPolicy:n==="untrusted"||n==="on-request"||n==="never"?n:Mh.approvalPolicy,approvalsReviewer:s==="user"||s==="auto_review"?s:Mh.approvalsReviewer,sandboxMode:i==="read-only"||i==="workspace-write"||i==="danger-full-access"?i:Mh.sandboxMode,networkAccess:typeof t.networkAccess=="boolean"?t.networkAccess:Mh.networkAccess}}function hL(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:px(t.permissions)}}function fa(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function qwe(e){const t=fa(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 Ywe(e){const t=fa(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 HF(e){const t=fa(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 C0(e){const t=fa(e),n=HF(t==null?void 0:t.thread);if(!t||!n||typeof t.threadId!="string"||!Array.isArray(t.messages))throw new Error("Sandbox 返回了无效 Thread 快照。");const s=t.messages.flatMap(i=>{const r=fa(i);if(!r||typeof r.id!="string"||r.role!=="user"&&r.role!=="assistant"||typeof r.content!="string"||typeof r.timestamp!="number")return[];const a=Array.isArray(r.skillNames)?r.skillNames.filter(l=>typeof l=="string"&&!!l):[];return[{id:r.id,role:r.role,content:r.content,timestamp:r.timestamp,...a.length?{skillNames:a}:{}}]});return{thread:n,threadId:t.threadId,messages:s,...typeof t.model=="string"?{model:t.model}:{},...typeof t.cwd=="string"?{cwd:t.cwd}:{},workspaceLocked:t.workspaceLocked===!0,permissions:px(t.permissions)}}function P_(e){if(!e||typeof e!="object")return;const t=e;if(![t.totalTokens,t.inputTokens,t.cachedInputTokens,t.outputTokens,t.reasoningOutputTokens].some(s=>typeof s!="number"||!Number.isFinite(s)||s<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 Wwe(e){const t=P_(e.usage);if(!t||typeof e.turnId!="string")return;const n=P_(e.threadTotal),s=e.modelContextWindow;return{turnId:e.turnId,usage:t,...n?{threadTotal:n}:{},...typeof s=="number"&&Number.isFinite(s)&&s>=0?{modelContextWindow:Math.trunc(s)}:{}}}function Xwe(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 Qwe(e,t={}){if(!e.body)throw new Error("沙箱对话服务未返回内容。");const n=e.body.getReader(),s=new TextDecoder;let i="",r="";const a=[],l=new Map;let c;function u(){var m;(m=t.onBlocks)==null||m.call(t,a.map(p=>({...p})))}function d(m){r+=m;const p=a[a.length-1];(p==null?void 0:p.kind)==="text"?p.text+=m:a.push({kind:"text",text:m}),u()}function f(m){if(typeof m.id!="string"||m.kind!=="thinking"&&m.kind!=="tool"||m.status!=="running"&&m.status!=="done")return;const p=m.status==="done";let g;if(m.kind==="thinking"){if(typeof m.text!="string"||!m.text)return;g={kind:"thinking",text:m.text,done:p}}else{if(typeof m.name!="string"||!m.name)return;g={kind:"tool",name:m.name,args:m.args,response:m.response,done:p}}const v=l.get(m.id);v===void 0?(l.set(m.id,a.length),a.push(g)):a[v]=g,u()}function h(m){var y,x,E;let p="message";const g=[];for(const w of m.split(/\r?\n/))w.startsWith("event:")&&(p=w.slice(6).trim()),w.startsWith("data:")&&g.push(w.slice(5).trimStart());if(g.length===0)return;let v;try{v=JSON.parse(g.join(` -`))}catch{throw new Error("沙箱对话服务返回了无法解析的响应。")}if(p==="error")throw new Error(typeof v.message=="string"&&v.message?v.message:"沙箱对话失败,请稍后重试。");if(p==="activity"&&f(v),p==="approval"){const w=Xwe(v);w&&((y=t.onApproval)==null||y.call(t,w))}if(p==="usage"){const w=Wwe(v);w&&(c=w,(x=t.onUsage)==null||x.call(t,w))}p==="approval_resolved"&&typeof v.approvalId=="string"&&((E=t.onApprovalResolved)==null||E.call(t,v.approvalId)),p==="delta"&&typeof v.text=="string"&&d(v.text),p==="done"&&!r&&typeof v.text=="string"&&d(v.text)}for(;;){const{done:m,value:p}=await n.read();i+=s.decode(p,{stream:!m});const g=i.split(/\r?\n\r?\n/);if(i=g.pop()??"",g.forEach(h),m)break}if(i.trim()&&h(i),a.length===0)throw new Error("沙箱未返回有效回复,请重试。");return{text:r,blocks:a,...c?{usage:c}:{}}}async function Ra(e,t,{method:n="GET",body:s,options:i={},fallback:r}){if(!e)throw new Error("缺少要操作的 AgentKit Session。");const a=await fetch(An(`${er}/${encodeURIComponent(e)}/${t}`),{method:n,headers:Qs(s===void 0?void 0:{"Content-Type":"application/json"}),...s===void 0?{}:{body:JSON.stringify(s)},signal:Dn(i.signal,ho)});if(!a.ok)throw await Zs(a,r);return a.json()}const ln={async listSessions(e={}){const t=await fetch(An(er),{method:"GET",headers:Qs(),signal:Dn(e.signal,uL)});if(!t.ok)throw await Zs(t,"无法读取 Codex 智能体,请稍后重试。");const n=await t.json();if(!Array.isArray(n.sessions))throw new Error("AgentKit 沙箱返回了无效的 Session 列表。");return n.sessions.map(s=>Lu(s))},async startSession(e={}){var n;const t=await fetch(An(er),{method:"POST",headers:Qs({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((n=e.displayName)==null?void 0:n.trim())??""}),signal:Dn(e.signal,dL)});if(!t.ok)throw await Zs(t,"无法启动 AgentKit 沙箱,请稍后重试。");return Lu(await t.json())},async listAgentSessions(e,t={}){const n=await fetch(An(`/web/${e}/sessions`),{method:"GET",headers:Qs(),signal:Dn(t.signal,uL)});if(!n.ok)throw await Zs(n,`无法读取 ${e} 智能体,请稍后重试。`);const s=await n.json();if(!Array.isArray(s.sessions))throw new Error(`AgentKit 返回了无效的 ${e} Session 列表。`);return s.sessions.map(i=>Lu(i,e))},async startAgentSession(e,t={}){var s;const n=await fetch(An(`/web/${e}/sessions`),{method:"POST",headers:Qs({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((s=t.displayName)==null?void 0:s.trim())??""}),signal:Dn(t.signal,dL)});if(!n.ok)throw await Zs(n,`无法创建 ${e} 智能体,请稍后重试。`);return Lu(await n.json(),e)},async openAgentSession(e,t,n={}){if(!t)throw new Error("缺少要打开的 AgentKit Session。");const s=await fetch(An(`/web/${e}/sessions/${encodeURIComponent(t)}/open`),{method:"POST",headers:Qs(),signal:Dn(n.signal,ho)});if(!s.ok)throw await Zs(s,`无法打开 ${e} 智能体。`);const i=await s.json();if(typeof i.webuiUrl!="string"||!i.webuiUrl.startsWith("/"))throw new Error(`${e} 智能体返回了无效的主页面地址。`);return{session:Lu(i,e),kind:e,webuiUrl:An(i.webuiUrl)}},async launchAgentTerminal(e,t,n={}){if(!t)throw new Error("缺少要打开 Terminal 的 AgentKit Session。");const s=await fetch(An(`/web/${e}/sessions/${encodeURIComponent(t)}/terminal`),{method:"POST",headers:Qs(),signal:Dn(n.signal,ho)});if(!s.ok)throw await Zs(s,`无法打开 ${e} Terminal。`);const i=await s.json();return{url:zF(i.url,`${e} Terminal`),...typeof i.shellSessionId=="string"?{shellSessionId:i.shellSessionId}:{}}},async deleteAgentSession(e,t,n={}){if(!t)return;const s=await fetch(An(`/web/${e}/sessions/${encodeURIComponent(t)}`),{method:"DELETE",headers:Qs(),signal:Dn(n.signal,Kv)});if(!s.ok&&s.status!==404)throw await Zs(s,`无法删除 ${e} 智能体。`)},async connectSession(e,t={}){if(!e)throw new Error("缺少要连接的 AgentKit Session。");const n=await fetch(An(`${er}/${encodeURIComponent(e)}/connect`),{method:"POST",headers:Qs({"Content-Type":"application/json"}),signal:Dn(t.signal,Vwe)});if(!n.ok)throw await Zs(n,"无法连接 Codex 智能体,请稍后重试。");const s=Lu(await n.json());if(s.status.toLowerCase()!=="ready")throw new Error(`AgentKit Session 尚未就绪,当前状态:${s.status}。`);return s},async sendMessage(e,t={}){var s;if(!e.sessionId||!e.text.trim())throw new Error("内置智能体会话缺少有效的消息内容。");const n=await fetch(An(`${er}/${encodeURIComponent(e.sessionId)}/messages`),{method:"POST",headers:Qs({Accept:"text/event-stream","Content-Type":"application/json"}),body:JSON.stringify({message:e.text,...(s=e.skillIds)!=null&&s.length?{skillIds:e.skillIds}:{}}),signal:Dn(t.signal,Gwe)});if(!n.ok)throw await Zs(n,"沙箱对话失败,请稍后重试。");return Qwe(n,t)},async getStatus(e,t={}){const n=await Ra(e,"status",{options:t,fallback:"无法读取 Codex 状态。"}),s=hL(n),i=fa(n),r=P_(i==null?void 0:i.threadTotal),a=i==null?void 0:i.modelContextWindow;return{...s,...r?{threadTotal:r}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{modelContextWindow:Math.trunc(a)}:{}}},async listModels(e,t={}){const n=fa(await Ra(e,"models",{options:t,fallback:"无法读取 Codex 模型列表。"}));if(!Array.isArray(n==null?void 0:n.models))throw new Error("Sandbox 返回了无效模型列表。");return n.models.flatMap(s=>{const i=qwe(s);return i?[i]:[]})},async setModel(e,t,n={}){const s=fa(await Ra(e,"model",{method:"PUT",body:{model:t},options:n,fallback:"无法切换 Codex 模型。"}));if(typeof(s==null?void 0:s.model)!="string"||!s.model)throw new Error("Sandbox 返回了无效模型。");return s.model},async listSkills(e,t=!1,n={}){const i=fa(await Ra(e,`skills${t?"?force_reload=true":""}`,{options:n,fallback:"无法读取 Codex Skills。"}));if(!Array.isArray(i==null?void 0:i.skills))throw new Error("Sandbox 返回了无效 Skill 列表。");return i.skills.flatMap(r=>{const a=Ywe(r);return a?[a]:[]})},async listThreads(e,t={},n={}){const s=new URLSearchParams;t.cursor&&s.set("cursor",t.cursor),t.search&&s.set("search",t.search),t.archived&&s.set("archived","true");const i=s.size?`?${s}`:"",r=fa(await Ra(e,`threads${i}`,{options:n,fallback:"无法读取 Codex Thread 列表。"}));if(!Array.isArray(r==null?void 0:r.threads))throw new Error("Sandbox 返回了无效 Thread 列表。");return{threads:r.threads.flatMap(a=>{const l=HF(a);return l?[l]:[]}),...typeof r.nextCursor=="string"?{nextCursor:r.nextCursor}:{}}},async newThread(e,t={}){return C0(await Ra(e,"threads/new",{method:"POST",options:t,fallback:"无法创建新的 Codex Thread。"}))},async resumeThread(e,t,n={}){return C0(await Ra(e,"threads/resume",{method:"POST",body:{threadId:t},options:n,fallback:"无法恢复 Codex Thread。"}))},async forkThread(e,t={}){return C0(await Ra(e,"threads/fork",{method:"POST",options:t,fallback:"无法分叉 Codex Thread。"}))},async archiveThread(e,t,n={}){const s=fa(await Ra(e,"threads/archive",{method:"POST",body:{threadId:t},options:n,fallback:"无法归档 Codex Thread。"}));if((s==null?void 0:s.archived)!==!0)throw new Error("Sandbox 返回了无效归档结果。");return{archived:!0,...s.thread?{snapshot:C0(s)}:{}}},async compactThread(e,t={}){await Ra(e,"threads/compact",{method:"POST",options:t,fallback:"无法压缩 Codex Thread。"})},async getSettings(e,t={}){const n=await fetch(An(`${er}/${encodeURIComponent(e)}/settings`),{method:"GET",headers:Qs(),signal:Dn(t.signal,ho)});if(!n.ok)throw await Zs(n,"无法读取 Codex 权限与工作空间。");return hL(await n.json())},async updatePermissions(e,t,n={}){const s=await fetch(An(`${er}/${encodeURIComponent(e)}/permissions`),{method:"PUT",headers:Qs({"Content-Type":"application/json"}),body:JSON.stringify(t),signal:Dn(n.signal,ho)});if(!s.ok)throw await Zs(s,"无法更新 Codex 权限。");const i=await s.json();return px(i.permissions)},async updateWorkspace(e,t,n={}){const s=await fetch(An(`${er}/${encodeURIComponent(e)}/workspace`),{method:"PUT",headers:Qs({"Content-Type":"application/json"}),body:JSON.stringify({cwd:t}),signal:Dn(n.signal,ho)});if(!s.ok)throw await Zs(s,"无法更新 Codex 工作空间。");const i=await s.json();if(typeof i.cwd!="string"||!i.cwd)throw new Error("Sandbox 返回了无效工作目录。");return i.cwd},async listDirectories(e,t,n={}){const s=new URLSearchParams({path:t}),i=await fetch(An(`${er}/${encodeURIComponent(e)}/directories?${s}`),{method:"GET",headers:Qs(),signal:Dn(n.signal,ho)});if(!i.ok)throw await Zs(i,"无法读取 Sandbox 目录。");const r=await i.json();if(typeof r.path!="string"||!Array.isArray(r.directories)||r.directories.some(a=>!a||typeof a.name!="string"||typeof a.path!="string"))throw new Error("Sandbox 返回了无效目录列表。");return{path:r.path,...typeof r.parent=="string"?{parent:r.parent}:{},directories:r.directories}},async resolveApproval(e,t,n,s={}){const i=await fetch(An(`${er}/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`),{method:"POST",headers:Qs({"Content-Type":"application/json"}),body:JSON.stringify({decision:n}),signal:Dn(s.signal,ho)});if(!i.ok)throw await Zs(i,"无法提交 Codex 审批决定。")},async launchTerminal(e,t={}){return mL(e,"terminal",t)},async launchBrowser(e,t={}){return mL(e,"browser",t)},async uploadFile(e,t,n={}){const s=new FormData;s.set("file",t,t.name);const i=await fetch(An(`${er}/${encodeURIComponent(e)}/files`),{method:"POST",headers:Qs(),body:s,signal:Dn(n.signal,Kwe)});if(!i.ok)throw await Zs(i,"无法上传文件到 Sandbox。");const r=await i.json();if(typeof r.id!="string"||typeof r.path!="string"||typeof r.name!="string"||typeof r.mimeType!="string"||typeof r.sizeBytes!="number")throw new Error("Sandbox 返回了无效上传结果。");return r},async closeSession(e,t={}){if(!e)return;const n=await fetch(An(`${er}/${encodeURIComponent(e)}/disconnect`),{method:"POST",headers:Qs(),signal:Dn(t.signal,Kv)});if(!n.ok&&n.status!==404)throw await Zs(n,"无法断开 Codex 智能体连接。")},async deleteSession(e,t={}){if(!e)return;const n=await fetch(An(`${er}/${encodeURIComponent(e)}`),{method:"DELETE",headers:Qs(),signal:Dn(t.signal,Kv)});if(!n.ok&&n.status!==404)throw await Zs(n,"无法删除 Codex 智能体。")}};async function mL(e,t,n){const s=await fetch(An(`${er}/${encodeURIComponent(e)}/${t}`),{method:"POST",headers:Qs(),signal:Dn(n.signal,ho)});if(!s.ok)throw await Zs(s,t==="terminal"?"无法打开 Sandbox Terminal。":"无法打开 Sandbox Browser。");const i=await s.json();return{url:zF(i.url,"Sandbox 工具"),...typeof i.shellSessionId=="string"?{shellSessionId:i.shellSessionId}:{}}}function zF(e,t){if(typeof e!="string")throw new Error(`${t} 返回了无效地址。`);if(e.startsWith("/"))return An(e);let n;try{n=new URL(e)}catch{throw new Error(`${t} 返回了无效地址。`)}const s=n.protocol==="http:"&&window.location.protocol==="http:";if(n.protocol!=="https:"&&!s)throw new Error(`${t} 返回了不安全的地址。`);return n.toString()}function bd(e,t,n){const s=e instanceof Error?`${e.name}: ${e.message}`:String(e||"未知错误");return[`${t}失败`,`详细信息:${s}`,n?`请求:${n}`:""].filter(Boolean).join(` -`)}function Zwe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.jsx("path",{d:"m7.8 12.3 2 2-2 2M12.2 16.3h3.2"})]})}function Jwe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M18.9 6.25A8.4 8.4 0 1 0 19.6 16"}),o.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"}),o.jsx("circle",{cx:"10.6",cy:"12.8",r:"2.45"}),o.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 eSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.jsx("path",{d:"M9.3 12.65h.01M14.9 12.65h.01M10.8 15.55c.8.5 1.65.5 2.45 0"}),o.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 _p({kind:e,...t}){return e==="codex"?o.jsx(Zwe,{...t}):e==="openclaw"?o.jsx(Jwe,{...t}):o.jsx(eSe,{...t})}const pL="cn-beijing",qv=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],tSe=24,nSe=3e4,yd=new Map,Md=new Map,sSe=new Set;function I0(e){if(!e){yd.clear(),Md.clear();return}const t=new Set(e);if(t.size!==0){for(const[n,s]of Md)s.page.runtimes.some(i=>t.has(i.runtimeId))&&Md.delete(n);yd.clear()}}function iSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function Yv(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"M8 3.25v9.5M3.25 8h9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function rSe({type:e}){return e==="general"?o.jsx(Oc,{}):o.jsx(_p,{kind:e})}function p2(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 aSe(e){return e==="cn-shanghai"?"上海":e==="cn-beijing"?"北京":e||"—"}function gL(e){var t;return{id:e.runtimeId,name:e.name,description:((t=e.description)==null?void 0:t.trim())||"暂无描述",createdAt:p2(e.createdAt??""),specificationLabel:"创建人",specification:e.author||"—",isMine:e.isMine,runtime:{runtimeId:e.runtimeId,region:e.region,currentVersion:e.currentVersion,canDelete:e.canDelete}}}function oSe(e){return{id:e.id,name:e.displayName||`${e.toolName} 智能体`,description:mx(e.status),createdAt:p2(e.createdAt),specificationLabel:"创建人",specification:e.createdBy||"—",sandbox:e}}function lSe(e){var t;return{id:e.id,name:e.draft.name||"未命名 Agent",description:((t=e.draft.description)==null?void 0:t.trim())||"暂无描述",createdAt:p2(new Date(e.updatedAt).toISOString()),specificationLabel:"存储位置",specification:"当前浏览器",draft:e}}async function cSe(e,t,n){const s=`${e}:all:${t}`,i=Md.get(s);if(i&&i.expiresAt>Date.now())return n(i.page.runtimes.map(gL)),i.page.nextToken;i&&Md.delete(s);let r=yd.get(s);r||(r=P1({scope:e,region:"all",pageSize:tSe,nextToken:t}),yd.set(s,r),r.then(()=>yd.delete(s),()=>yd.delete(s)));const a=await r;return Md.set(s,{page:a,expiresAt:Date.now()+nSe}),n(a.runtimes.map(gL)),a.nextToken}function uSe({agent:e,onUse:t,onViewDetails:n,connecting:s,connected:i,showOwnership:r,deploymentTask:a,onViewDeploymentTask:l,onEditDraft:c,onDeleteDraft:u}){const d=!!(e.runtime||e.sandbox);return o.jsxs("article",{className:"my-agent-card",children:[o.jsxs("div",{className:"my-agent-card-content",children:[o.jsxs("div",{className:"my-agent-card-title",children:[o.jsxs("div",{className:"my-agent-card-title-copy",children:[o.jsx("h3",{children:e.name}),e.sandbox?o.jsx("span",{className:"my-agent-session-id",title:e.sandbox.id,children:e.sandbox.id}):null]}),e.draft?o.jsx("span",{className:"my-agent-draft-badge",children:a?"部署中":"草稿"}):e.sandbox?o.jsx("span",{className:"my-agent-status-label","data-ready":e.sandbox.status.toLowerCase()==="ready"||void 0,children:e.description}):e.runtime?o.jsxs("div",{className:"my-agent-card-badges",children:[a?o.jsx("span",{className:"my-agent-deploying-badge",children:"部署中"}):null,o.jsx("span",{className:"my-agent-region-badge",children:aSe(e.runtime.region)}),r&&e.isMine?o.jsx("span",{className:"runtime-owner-badge",children:"我创建的"}):null]}):null]}),e.sandbox?null:o.jsx("p",{className:"my-agent-description",children:e.description}),o.jsxs("dl",{className:"my-agent-meta",children:[o.jsxs("div",{className:"my-agent-created-at",children:[o.jsx("dt",{children:e.draft?"更新时间":"创建时间"}),o.jsx("dd",{children:e.createdAt})]}),o.jsxs("div",{className:"my-agent-region",children:[o.jsx("dt",{children:e.specificationLabel}),o.jsx("dd",{children:e.specification})]})]})]}),o.jsx("footer",{className:"my-agent-actions",children:e.draft?o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"my-agent-details","aria-label":a?`查看 ${e.name} 部署进度`:`编辑草稿 ${e.name}`,onClick:()=>a?l==null?void 0:l(a):c==null?void 0:c(e.draft),children:a?"查看进度":"编辑"}),o.jsx("button",{type:"button",className:"my-agent-delete","aria-label":`删除草稿 ${e.name}`,onClick:()=>u==null?void 0:u(e.draft),children:"删除"})]}):o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"my-agent-details",disabled:!d,"aria-label":a?`查看 ${e.name} 部署进度`:`查看 ${e.name} 详情`,onClick:()=>a?l==null?void 0:l(a):n==null?void 0:n(e),children:a?"查看进度":"查看详情"}),o.jsx("button",{type:"button",className:`my-agent-use${i?" is-connected":""}`,disabled:!d||s||i,"aria-busy":s||void 0,"aria-label":i?`${e.name} 已连接`:`使用 ${e.name}`,onClick:()=>void(t==null?void 0:t(e)),children:s?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-use-spinner","aria-hidden":"true"}),o.jsx("span",{children:"连接中"})]}):i?"已连接":"使用"})]})})]})}function dSe({canCreate:e,runtimeScope:t,onCreateAgent:n,onUseAgent:s,onViewAgentDetails:i,onCreateSandboxAgent:r,onUseSandboxAgent:a,onViewSandboxAgentDetails:l,sandboxRefreshKey:c=0,connectedRuntimeId:u="",hiddenRuntimeIds:d=sSe,drafts:f=[],deploymentTasks:h=[],draftDeploymentTaskIds:m={},onViewDeploymentTask:p,onEditDraft:g,onDeleteDraft:v}){const y=b.useRef(null),x=b.useRef(null),E=b.useRef(0),w=b.useRef(0),T=b.useRef(null),[S,k]=b.useState("general"),[A,C]=b.useState(""),[R,M]=b.useState([]),[L,G]=b.useState(""),[D,F]=b.useState(!0),[N,O]=b.useState(""),[P,$]=b.useState([]),[I,q]=b.useState(!1),[Q,B]=b.useState(""),[ee,z]=b.useState(""),[K,se]=b.useState(null),W=b.useMemo(()=>f.map(lSe),[f]),de=b.useMemo(()=>{const _e=new Map,Pe=new Map;for(const Fe of h){if(Fe.status!=="running"||(_e.set(Fe.id,Fe),!Fe.runtimeId))continue;const Ke=Pe.get(Fe.runtimeId);(!Ke||Fe.startedAt>Ke.startedAt)&&Pe.set(Fe.runtimeId,Fe)}return{byId:_e,byRuntimeId:Pe}},[h]),ye=b.useCallback(_e=>{var Fe;if(_e.draft){const Ke=m[_e.draft.id];return Ke?de.byId.get(Ke):void 0}const Pe=(Fe=_e.runtime)==null?void 0:Fe.runtimeId;return Pe?de.byRuntimeId.get(Pe):void 0},[de,m]),we=b.useCallback((_e,Pe)=>{const Fe=++E.current;return F(!0),O(""),cSe(t,_e,Ke=>{E.current===Fe&&M(X=>Pe?Ke:[...X,...Ke])}).then(Ke=>{E.current===Fe&&G(Ke)}).catch(Ke=>{E.current===Fe&&O(bd(Ke,"加载通用智能体","GET /web/runtimes"))}).finally(()=>{E.current===Fe&&F(!1)})},[t]);b.useEffect(()=>{if(S==="general")return M([]),G(""),we("",!0),()=>{E.current+=1}},[S,we]);const ue=b.useCallback(async _e=>{var Ke,X;(Ke=T.current)==null||Ke.abort();const Pe=new AbortController;T.current=Pe;const Fe=++w.current;q(!0),B(""),$([]);try{const ae=_e==="codex"?await ln.listSessions({signal:Pe.signal}):await ln.listAgentSessions(_e,{signal:Pe.signal});if(w.current!==Fe)return;$(ae.map(oSe))}catch(ae){if((ae==null?void 0:ae.name)==="AbortError"||w.current!==Fe)return;B(bd(ae,`加载 ${((X=qv.find(te=>te.id===_e))==null?void 0:X.label)??_e}`,`GET /web/${_e==="codex"?"sandbox":_e}/sessions`))}finally{T.current===Pe&&(T.current=null),w.current===Fe&&q(!1)}},[]);function he(_e){var Pe;_e!==S&&(_e==="general"?(E.current+=1,M([]),G(""),O(""),F(!0)):((Pe=T.current)==null||Pe.abort(),T.current=null,w.current+=1,$([]),B(""),q(!0)),k(_e))}b.useEffect(()=>{var _e;if(S==="general"){(_e=T.current)==null||_e.abort(),T.current=null,w.current+=1;return}return ue(S),()=>{var Pe;(Pe=T.current)==null||Pe.abort(),T.current=null,w.current+=1}},[S,ue,c]),b.useEffect(()=>{const _e=x.current,Pe=y.current;if(!_e||!Pe||S!=="general"||!L||D)return;const Fe=new IntersectionObserver(([Ke])=>{Ke.isIntersecting&&we(L,!1)},{root:Pe,rootMargin:"240px 0px",threshold:.01});return Fe.observe(_e),()=>Fe.disconnect()},[S,we,D,L]);const Re=b.useCallback(async _e=>{if(!ee){z(_e.id);try{await new Promise(Pe=>requestAnimationFrame(()=>Pe())),_e.sandbox?await a(_e.sandbox):await s(_e)}finally{z("")}}},[ee,s,a]),pe=b.useMemo(()=>{const _e=A.trim().toLocaleLowerCase(),Pe=S==="general"?[...W,...R]:P,Fe=_e?Pe.filter(ae=>ae.name.toLocaleLowerCase().includes(_e)):Pe;if(S!=="general")return Fe;const Ke=d.size>0?Fe.filter(ae=>!ae.runtime||!d.has(ae.runtime.runtimeId)):Fe,X=Ke.findIndex(ae=>{var te;return((te=ae.runtime)==null?void 0:te.runtimeId)===u});return X<=0?Ke:[Ke[X],...Ke.slice(0,X),...Ke.slice(X+1)]},[S,u,W,d,A,R,P]),oe=qv.find(_e=>_e.id===S),Te=(oe==null?void 0:oe.label)??"智能体",xe=S==="general"?D&&R.length===0&&W.length===0:I&&P.length===0,Xe=!xe&&pe.length===0,Me=e?S==="general"?()=>n(pL):()=>r(S):void 0,ze=e?void 0:"当前账号没有创建智能体权限";return o.jsxs("div",{className:"my-agents-page",children:[o.jsxs("header",{className:"my-agents-header",children:[o.jsxs("div",{className:"my-agents-heading",children:[o.jsx("div",{className:"my-agents-title-row",children:o.jsx("h1",{children:"智能体"})}),o.jsx("p",{children:t==="all"?"在此处浏览所有智能体":"在此处浏览您的所有智能体"})]}),o.jsxs("label",{className:"my-agent-search",children:[o.jsx(iSe,{}),o.jsx("input",{type:"search","aria-label":"搜索智能体",value:A,onChange:_e=>C(_e.target.value),placeholder:"搜索所有类型智能体名称"})]})]}),o.jsxs("div",{className:"my-agent-type-bar",children:[o.jsx("nav",{className:"my-agent-type-pills","aria-label":"智能体类型",children:qv.map(_e=>o.jsx("button",{type:"button",className:`my-agent-type-pill${S===_e.id?" is-active":""}`,"aria-pressed":S===_e.id,onClick:()=>he(_e.id),children:_e.label},_e.id))}),o.jsxs("button",{type:"button",className:"my-agent-create-primary",disabled:!Me,title:ze,onClick:()=>Me==null?void 0:Me(),children:[o.jsx(Yv,{}),o.jsx("span",{children:"创建智能体"})]})]}),o.jsxs("section",{className:"my-agent-results",ref:y,"aria-label":`${Te}列表`,children:[xe?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载智能体"})]}):(S==="general"?N:Q)&&pe.length===0?o.jsxs("div",{className:"my-agent-empty",role:"alert",children:[o.jsx("p",{children:S==="general"?N:Q}),o.jsx("button",{type:"button",onClick:()=>{S==="general"?we("",!0):ue(S)},children:"重新加载"})]}):Xe?A.trim()?o.jsx("div",{className:"my-agent-empty-message",children:o.jsxs(Zn,{fill:"none",children:[o.jsx(Zn.Icon,{children:o.jsx(Mwe,{})}),o.jsx(Zn.Title,{children:"没有匹配的智能体"}),o.jsx(Zn.Description,{children:"请尝试搜索其他名称"})]})}):S!=="general"?o.jsx("div",{className:"my-agent-empty-message",children:o.jsxs(Zn,{fill:"none",children:[o.jsx(Zn.Icon,{children:o.jsx(rSe,{type:S})}),o.jsxs(Zn.Title,{children:["暂无 ",Te]}),e?o.jsx(Zn.ActionRow,{children:o.jsxs(cL,{color:"primary",size:"lg",onClick:()=>r(S),children:[o.jsx(Yv,{}),"创建智能体"]})}):null]})}):o.jsx("div",{className:"my-agent-empty-message",children:o.jsxs(Zn,{fill:"none",children:[o.jsx(Zn.Icon,{children:o.jsx(Oc,{})}),o.jsx(Zn.Title,{children:"暂无通用智能体"}),o.jsx(Zn.Description,{children:"创建一个通用智能体,开始构建和对话"}),e?o.jsx(Zn.ActionRow,{children:o.jsxs(cL,{color:"primary",size:"lg",onClick:()=>n(pL),children:[o.jsx(Yv,{}),"创建智能体"]})}):null]})}):o.jsxs(o.Fragment,{children:[S==="general"&&N?o.jsxs("div",{className:"my-agent-inline-error",role:"alert",children:[o.jsx("span",{children:N}),o.jsx("button",{type:"button",onClick:()=>void we("",!0),children:"重新加载"})]}):null,o.jsx("div",{className:"my-agent-grid",children:pe.map(_e=>{var Pe;return o.jsx(uSe,{agent:_e,deploymentTask:ye(_e),onViewDeploymentTask:p,onUse:Re,onViewDetails:Fe=>{Fe.sandbox?l(Fe.sandbox):i(Fe)},connecting:_e.id===ee,connected:((Pe=_e.runtime)==null?void 0:Pe.runtimeId)===u,showOwnership:t==="all",onEditDraft:g,onDeleteDraft:se},_e.id)})})]}),S==="general"&&!N&&!xe&&(pe.length>0||!!L)&&o.jsx("div",{className:"my-agent-load-more",ref:x,"aria-live":"polite",children:D?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多智能体"})]}):L?o.jsx("span",{children:"继续下滑加载更多"}):o.jsx("span",{children:"已加载全部智能体"})})]}),K?o.jsx(m2,{title:"删除草稿?",description:`删除后将无法恢复“${K.draft.name||"未命名 Agent"}”。`,confirmLabel:"删除草稿",variant:"danger",onCancel:()=>se(null),onConfirm:()=>{v==null||v(K),se(null)}}):null]})}function VF(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:o.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"})})}const fSe=[{id:"development",label:"研发"}],hSe=[{id:"github",name:"AgentKit Runtime 持续交付",description:"为您的仓库添加持续交付到 AgentKit Runtime 的自动化工作流。"}];function bL(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function mSe({onOpenGitHub:e}){const[t,n]=b.useState("development"),[s,i]=b.useState(""),r=b.useDeferredValue(s),a=b.useMemo(()=>{const l=r.trim().toLocaleLowerCase();return hSe.filter(c=>!l||`${c.name} ${c.description}`.toLocaleLowerCase().includes(l))},[r]);return o.jsxs("div",{className:"applications-page",children:[o.jsxs("header",{className:"applications-header",children:[o.jsxs("div",{children:[o.jsx("h1",{children:"自动化"}),o.jsx("p",{children:"连接研发工具,为智能体扩展自动化工作流"})]}),o.jsxs("label",{className:"applications-search",children:[o.jsx(bL,{}),o.jsx("input",{type:"search","aria-label":"搜索自动化",value:s,onChange:l=>i(l.target.value),placeholder:"搜索自动化"})]})]}),o.jsx("nav",{className:"applications-categories","aria-label":"自动化分类",children:fSe.map(l=>o.jsx("button",{type:"button",className:t===l.id?"is-active":"","aria-pressed":t===l.id,onClick:()=>n(l.id),children:l.label},l.id))}),o.jsx("section",{className:"applications-results","aria-label":"研发自动化列表",children:a.length?o.jsx("div",{className:"applications-grid",children:a.map(l=>o.jsxs("button",{type:"button",className:"application-card",onClick:e,"aria-label":`打开${l.name}`,children:[o.jsx(VF,{className:"application-card-icon"}),o.jsxs("div",{className:"application-card-copy",children:[o.jsx("h2",{children:l.name}),o.jsx("p",{children:l.description})]})]},l.id))}):o.jsxs("div",{className:"applications-empty",role:"status",children:[o.jsx(bL,{}),o.jsx("h2",{children:"没有匹配的自动化"}),o.jsx("p",{children:"请尝试搜索其他名称"})]})})]})}async function pSe(e){const t=await fetch("/web/integrations/github/pull-requests",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(3e4)});if(!t.ok){const n=await t.json().catch(()=>null);throw new Error((n==null?void 0:n.detail)||`提交 PR 失败(HTTP ${t.status})`)}return t.json()}const gSe={repository:"",baseBranch:"main",projectPath:".",runtimeName:"",runtimeId:"",region:"cn-beijing",token:""};function bSe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 ySe({hidden:e,...t}){return o.jsxs("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[o.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"}),o.jsx("circle",{cx:"10",cy:"10",r:"1.8"}),e?o.jsx("path",{d:"m4 4 12 12"}):null]})}function yL(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 xSe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m4 6 4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function ESe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 xL(e,t){const n=t.trim();return!n&&(e==="baseBranch"||e==="projectPath")?"":n?e==="repository"&&!/^(?:https:\/\/github\.com\/)?[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/.test(n)?"请输入 owner/repository 或完整 GitHub Repo URL":e==="baseBranch"&&(!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(n)||n.includes(".."))?"目标分支格式不正确":e==="projectPath"&&(n.startsWith("/")||n.split("/").includes(".."))?"请输入仓库内的相对目录":e==="runtimeName"&&!/^[A-Za-z][A-Za-z0-9_-]{0,63}$/.test(n)?"以字母开头,仅支持字母、数字、下划线和连字符":e==="runtimeId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(n)?"Runtime ID 格式不正确":"":"此项不能为空"}function vSe({onBack:e}){const[t,n]=b.useState(gSe),[s,i]=b.useState({}),[r,a]=b.useState(""),[l,c]=b.useState(!1),[u,d]=b.useState(!1),[f,h]=b.useState(!1),[m,p]=b.useState(null),g=(w,T)=>{n(S=>({...S,[w]:T})),s[w]&&i(S=>({...S,[w]:""}))},v=w=>{const T=xL(w,t[w]);i(S=>({...S,[w]:T}))},y=async w=>{w.preventDefault();const T={};for(const S of Object.keys(t)){if(S==="region")continue;const k=xL(S,t[S]);k&&(T[S]=k)}if(i(T),!Object.keys(T).length){c(!0),a(""),p(null);try{const S=await pSe({...t,repository:t.repository.trim(),baseBranch:t.baseBranch.trim()||"main",projectPath:t.projectPath.trim()||".",runtimeName:t.runtimeName.trim(),runtimeId:t.runtimeId.trim(),token:t.token.trim()});p(S),n(k=>({...k,token:""}))}catch(S){a(S instanceof Error?S.message:String(S))}finally{c(!1)}}},x=w=>{w.key==="Enter"&&(w.nativeEvent.isComposing||w.nativeEvent.keyCode===229)&&w.preventDefault()},E=(w,T,S,k,A)=>o.jsxs("div",{className:"github-field",children:[o.jsxs("label",{htmlFor:`github-${w}`,children:[o.jsx("span",{children:T}),o.jsx("span",{className:`github-field-requirement${A?" is-required":""}`,children:A?"必填":"可选"})]}),o.jsx("input",{id:`github-${w}`,value:t[w],onChange:C=>g(w,C.target.value),onBlur:()=>v(w),placeholder:S,required:A,"aria-invalid":!!s[w],"aria-describedby":`github-${w}-help${s[w]?` github-${w}-error`:""}`}),o.jsx("span",{id:`github-${w}-help`,className:"github-field-help",children:k}),s[w]?o.jsx("span",{id:`github-${w}-error`,className:"github-field-error",role:"alert",children:s[w]}):null]});return o.jsxs("div",{className:"github-integration-page",children:[o.jsxs("header",{className:"github-integration-header",children:[o.jsx("button",{type:"button",className:"github-back",onClick:e,"aria-label":"返回自动化列表",children:o.jsx(bSe,{})}),o.jsx(VF,{className:"github-integration-logo"}),o.jsxs("div",{children:[o.jsx("h1",{children:"AgentKit Runtime 持续交付"}),o.jsx("p",{children:"用 Pull Request 把持续发布配置安全地加入代码仓库"})]})]}),o.jsx("div",{className:"github-integration-layout",children:o.jsxs("section",{id:"github-panel-release",className:"github-section-panel",children:[o.jsx("div",{className:"github-panel-heading",children:o.jsx("p",{children:"提交后将在目标仓库创建发布分支,并发起包含 GitHub Actions 工作流的 PR。"})}),o.jsxs("form",{className:"github-release-form",onSubmit:y,onKeyDown:x,noValidate:!0,children:[o.jsxs("div",{className:"github-field-grid",children:[E("repository","GitHub Repo","owner/repository","支持 owner/repository 或完整 github.com URL",!0),E("baseBranch","目标分支","main","留空时使用 main,PR 将以此分支为 base",!1),E("projectPath","Agent 项目目录",".","留空时使用仓库根目录;目录内需包含 app.py,导出由 create_agentkit_app(root_agent, …) 创建的顶层 ASGI 变量 app,并在 python -m app 时调用 run_agentkit_app(app) 启动服务",!1),E("runtimeName","Runtime 名称","support-agent","用于 AgentKit 发布配置",!0),E("runtimeId","Runtime ID","rt-xxxxxxxx","持续更新的目标 AgentKit Runtime",!0),o.jsxs("div",{className:"github-field",children:[o.jsxs("label",{id:"github-region-label",children:[o.jsx("span",{children:"地域"}),o.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),o.jsxs("div",{className:"pp-network-region github-region-picker",onKeyDown:w=>{w.key==="Escape"&&h(!1)},children:[o.jsxs("button",{type:"button",className:"pp-region-trigger","aria-labelledby":"github-region-label","aria-haspopup":"listbox","aria-expanded":f,onClick:()=>h(w=>!w),children:[o.jsx("span",{children:t.region==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),o.jsx(xSe,{className:`pp-region-chevron${f?" is-open":""}`})]}),f?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>h(!1)}),o.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"地域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(w=>{const T=w.value===t.region;return o.jsxs("button",{type:"button",role:"option","aria-selected":T,className:`pp-region-option${T?" is-selected":""}`,onClick:()=>{g("region",w.value),h(!1)},children:[o.jsx("span",{children:w.label}),T?o.jsx(ESe,{}):null]},w.value)})})]}):null]}),o.jsx("span",{className:"github-field-help",children:"必须与目标 Runtime 所在地域一致"})]})]}),o.jsxs("div",{className:"github-field github-token-field",children:[o.jsxs("div",{className:"github-token-label-row",children:[o.jsxs("label",{htmlFor:"github-token",children:[o.jsx("span",{children:"GitHub Token"}),o.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),o.jsxs("a",{href:"https://github.com/settings/personal-access-tokens/new?name=VeADK%20Studio&description=Create%20an%20AgentKit%20release%20workflow%20pull%20request&contents=write&pull_requests=write",target:"_blank",rel:"noreferrer",children:["获取 Token",o.jsx(yL,{})]})]}),o.jsxs("div",{className:"github-token-input",children:[o.jsx("input",{id:"github-token",type:u?"text":"password",value:t.token,onChange:w=>g("token",w.target.value),onBlur:()=>v("token"),autoComplete:"off",required:!0,placeholder:"需要仓库 Contents 与 Pull requests 写权限","aria-invalid":!!s.token,"aria-describedby":`github-token-help${s.token?" github-token-error":""}`}),o.jsx("button",{type:"button",onClick:()=>d(w=>!w),"aria-label":u?"隐藏 Token":"显示 Token",title:u?"隐藏 Token":"显示 Token",children:o.jsx(ySe,{hidden:u})})]}),o.jsx("span",{id:"github-token-help",className:"github-field-help",children:"Token 仅用于本次提交,不会保存在浏览器或写入 PR"}),s.token?o.jsx("span",{id:"github-token-error",className:"github-field-error",role:"alert",children:s.token}):null]}),r?o.jsx("div",{className:"github-submit-message is-error",role:"alert",children:r}):null,m?o.jsxs("div",{className:"github-submit-message is-success",role:"status",children:[o.jsxs("span",{children:["PR #",m.number," 已创建"]}),o.jsxs("a",{href:m.url,target:"_blank",rel:"noreferrer",children:["在 GitHub 查看",o.jsx(yL,{})]})]}):null,o.jsxs("div",{className:"github-form-actions",children:[o.jsxs("div",{className:"github-secrets-note",children:[o.jsx("strong",{children:"合并 PR 前,请在仓库的 GitHub Actions Secrets 中配置:"}),o.jsx("span",{children:"VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)"}),o.jsx("span",{children:"VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"})]}),o.jsx("button",{type:"submit",disabled:l,children:l?"提交 PR 中…":"确定并提交 PR"})]})]})]})})]})}const wSe={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 SSe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(i=>i.replace(/~1/g,"/").replace(/~0/g,"~"));let s=e;for(const i of n){if(s==null||typeof s!="object")return;s=s[i]}return s}function _Se(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function TSe(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function g2(e,t){if(_Se(e))return SSe(t,e.path);if(TSe(e)){const n=wSe[e.call],s={};for(const[i,r]of Object.entries(e.args??{}))s[i]=g2(r,t);return n?n(s):`[unknown fn: ${e.call}]`}return e}function NSe(e,t){const n=g2(e,t);return n==null?"":typeof n=="string"?n:String(n)}const GF=new Map;function hu(e,t){GF.set(e,t)}function kSe(e){return GF.get(e)}function ASe(e,t,n){const s=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(let r=0;rg2(s,e.dataModel),resolveString:s=>NSe(s,e.dataModel),dispatchAction:t,render:s=>{if(!s)return null;const i=e.components[s];if(!i)return null;const r=kSe(i.component)??CSe;return o.jsx(r,{node:i,ctx:n},s)}};return o.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function RSe(e){const t=b.useRef(null),n=b.useRef(!0),s=28,i=b.useCallback(()=>{const r=t.current;r&&(n.current=r.scrollHeight-r.scrollTop-r.clientHeight{const r=t.current;r&&n.current&&(r.scrollTop=r.scrollHeight)},[e]),{ref:t,onScroll:i}}function gx({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:s}){return e.skills.length===0&&!e.targetAgent?null:o.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(i=>o.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:i.description,children:[o.jsx(zc,{"aria-hidden":!0}),o.jsxs("span",{children:[t,i.name]}),n?o.jsx("button",{type:"button",onClick:()=>n(i.name),"aria-label":`移除技能 ${i.name}`,children:o.jsx(Ei,{})}):null]},i.name)),e.targetAgent?o.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[o.jsx(fP,{"aria-hidden":!0}),o.jsx("span",{children:e.targetAgent.name}),s?o.jsx("button",{type:"button",onClick:s,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:o.jsx(Ei,{})}):null]}):null]})}function b2(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function qF(e){var n,s,i,r;const t=b2(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((s=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:s.toUpperCase())??"VIDEO":t==="image"?((r=(i=e.mimeType)==null?void 0:i.split("/")[1])==null?void 0:r.toUpperCase())??"IMAGE":"TXT"}function YF(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function WF(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?HP(t,e.uri):""}function OSe({kind:e}){return e==="image"?o.jsx(ZN,{}):e==="video"?o.jsx(mP,{}):e==="pdf"?o.jsx(HZ,{}):o.jsx(XN,{})}function bx({appName:e,items:t,compact:n=!1,onRemove:s}){const[i,r]=b.useState(null);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const l=b2(a.mimeType),c=WF(a,e),u=a.status==="uploading"||a.status==="error"||!c,d=o.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:()=>r(a),"aria-label":`预览 ${a.name??"附件"}`,children:[l==="image"&&c?o.jsx("img",{className:"media-card-image",src:c,alt:a.name??"图片",loading:"lazy"}):l==="video"&&c?o.jsxs("div",{className:"media-card-video-container",children:[o.jsx("video",{className:"media-card-video",src:c,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),o.jsx("span",{className:"media-card-video-play",children:o.jsx(cJ,{})})]}):o.jsx("span",{className:"media-card-icon",children:o.jsx(OSe,{kind:l})}),o.jsxs("span",{className:"media-card-copy",children:[o.jsx("span",{className:"media-card-name",children:a.name??"附件"}),o.jsxs("span",{className:"media-card-meta",children:[o.jsx("span",{className:"media-card-type",children:qF(a)}),a.status==="uploading"?o.jsxs(o.Fragment,{children:[o.jsx(wn,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":YF(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?o.jsx(Rc,{className:"media-card-open"}):null]});return o.jsxs(es.div,{className:`media-card media-card--${l}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[l==="image"&&!u?o.jsx(lP,{src:c,children:d}):d,s?o.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>s(a.id),children:o.jsx(Ei,{})}):null]},a.id)})}),o.jsx(Eo,{children:i?o.jsx(jSe,{appName:e,item:i,onClose:()=>r(null)}):null})]})}function jSe({appName:e,item:t,onClose:n}){const s=b.useMemo(()=>WF(t,e),[e,t]),i=b2(t.mimeType),[r,a]=b.useState(""),[l,c]=b.useState(i==="text"||i==="markdown"),[u,d]=b.useState("");return b.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),b.useEffect(()=>{if(i!=="text"&&i!=="markdown")return;const f=new AbortController;return c(!0),d(""),fetch(s,{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||c(!1)}),()=>f.abort()},[i,s]),o.jsx(es.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:o.jsxs(es.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:[o.jsxs("header",{className:"media-viewer-header",children:[o.jsxs("div",{children:[o.jsx("strong",{children:t.name??"附件"}),o.jsxs("span",{children:[qF(t),t.sizeBytes?` · ${YF(t.sizeBytes)}`:""]})]}),o.jsxs("nav",{children:[o.jsx("a",{href:s,download:t.name,"aria-label":"下载",children:o.jsx(A1,{})}),o.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:o.jsx(Ei,{})})]})]}),o.jsxs("div",{className:`media-viewer-body media-viewer-body--${i}`,children:[i==="image"?o.jsx("img",{src:s,alt:t.name??"图片"}):null,i==="video"?o.jsx("div",{className:"media-viewer-video-wrapper",children:o.jsx("video",{src:s,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,i==="pdf"?o.jsx("iframe",{src:s,title:t.name??"PDF"}):null,l?o.jsxs("div",{className:"media-viewer-loading",children:[o.jsx(wn,{})," 正在读取文档…"]}):null,!l&&u?o.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!l&&i==="markdown"?o.jsx("div",{className:"media-document",children:o.jsx(zf,{text:r})}):null,!l&&i==="text"?o.jsx("pre",{className:"media-document media-document--plain",children:r}):null]})]})})}function MSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),o.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 LSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),o.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),o.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),o.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 XF(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.25",y:"5.25",width:"17.5",height:"13.5",rx:"2.4"}),o.jsx("path",{d:"M3.25 9h17.5M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"}),o.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function DSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),o.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),o.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function PSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function BSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),o.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),o.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),o.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function USe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.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 FSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),o.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),o.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"}),o.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function QF(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function $Se({definition:e,label:t,done:n,open:s,onToggle:i}){const r=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return o.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:i,"aria-expanded":s,children:[o.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:o.jsx(r,{})}),n?o.jsx("span",{className:"builtin-tool-label",children:a}):o.jsx(Vl,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),o.jsx(QF,{className:`builtin-tool-chevron${s?" is-open":""}`})]})}const HSe={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:MSe},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:FSe},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:LSe},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:XF},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:DSe},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:PSe},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:BSe},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:USe}};function zSe(e){return HSe[e]}const ZF="send_a2ui_json_to_client",VSe=28;function GSe(e,t,n){let s=t;for(let i=0;i65535?2:1}return s}function KSe(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function JF(e,t,n){const[s,i]=b.useState(()=>t?"":e),r=b.useRef(s),a=b.useRef(e),l=b.useRef(null),c=b.useRef(0),u=b.useRef(n);return a.current=e,u.current=n,b.useEffect(()=>{const d=r.current,f=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||f||!e.startsWith(d)){l.current!==null&&window.cancelAnimationFrame(l.current),l.current=null,d!==e&&(r.current=e,i(e));return}if(d===e||l.current!==null)return;const h=m=>{const p=a.current,g=r.current;if(!p.startsWith(g)){r.current=p,i(p),l.current=null;return}if(m-c.current{var d;(d=u.current)==null||d.call(u)},[s]),b.useEffect(()=>()=>{l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null)},[]),s}function qSe({className:e}){return o.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:o.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 YSe(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.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 WSe(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 e$({text:e,done:t,answerStarted:n=!1,streaming:s=!1,onStreamFrame:i}){const[r,a]=b.useState(!(t||n)),l=b.useRef(!1);b.useEffect(()=>{l.current||a(!(t||n))},[n,t]);const c=()=>{l.current=!0,a(m=>!m)},u=e.replace(/^\s+/,""),d=JF(u,!t||s,i),{ref:f,onScroll:h}=RSe(d);return o.jsxs("div",{className:"block-thinking",children:[o.jsxs("button",{className:"think-head",onClick:c,type:"button",children:[o.jsx("span",{className:"think-icon","aria-hidden":"true",children:o.jsx(qSe,{className:`spark ${t?"":"pulse"}`})}),t?o.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):o.jsx(Vl,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),o.jsx(zl,{className:`chev ${r?"open":""}`})]}),o.jsx("div",{className:`think-collapse ${r&&d?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:o.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function t$(){return o.jsx(e$,{text:"",done:!1})}const XSe=b.memo(function({text:t,streaming:n,onStreamFrame:s}){const i=JF(t,n,s);return i?o.jsx("div",{className:"bubble",children:o.jsx(zf,{text:i})}):null});function QSe({name:e,args:t,response:n,done:s}){const[i,r]=b.useState(!1),a=e===ZF?"渲染 UI":e,l=zSe(e),c=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),u=c&&c.length>2e3?c.slice(0,2e3)+` -…(已截断)`:c;return o.jsxs(es.div,{className:`block-tool${l?" block-tool--builtin":""}`,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[l?o.jsx($Se,{definition:l,label:WSe(e,t),done:s,open:i,onToggle:()=>r(d=>!d)}):o.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>r(d=>!d),type:"button","aria-expanded":i,children:[o.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:o.jsx(YSe,{})}),s?o.jsx("span",{className:"tool-name",children:a}):o.jsx(Vl,{className:"tool-name",duration:2.2,spread:15,children:a}),o.jsx(QF,{className:`tool-chevron${i?" is-open":""}`})]}),o.jsx("div",{className:`think-collapse ${i?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:o.jsxs("div",{className:"tool-detail",children:[t!=null&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"参数"}),o.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),u!=null&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"返回"}),o.jsx("pre",{className:"tool-args tool-result",children:u})]})]})})})]})}function ZSe({block:e,onDownload:t,onPreview:n}){const[s,i]=b.useState(""),[r,a]=b.useState(""),[l,c]=b.useState(null);b.useEffect(()=>()=>{l&&URL.revokeObjectURL(l.url)},[l]);const u=()=>c(null),d=async(m,p)=>{if(t){i(`download:${m}`),a("");try{await t(m,p)}catch(g){a(g instanceof Error?g.message:String(g))}finally{i("")}}},f=async(m,p,g)=>{if(n){i(`preview:${g}`),a("");try{const v=await n(m,p);c({name:g,url:v})}catch(v){a(v instanceof Error?v.message:String(v))}finally{i("")}}},h=e.files.filter(m=>!m.filename.endsWith(".preview.webp"));return o.jsxs("div",{className:"artifact-list",children:[h.map(m=>{const p=`${m.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(v=>v.filename===p);return o.jsxs("div",{className:"artifact-card",children:[o.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:o.jsx(XN,{})}),o.jsxs("span",{className:"artifact-card__copy",children:[o.jsx("span",{className:"artifact-card__name",children:m.filename}),o.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),o.jsxs("span",{className:"artifact-card__actions",children:[g&&o.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||s!=="",onClick:()=>void f(g.filename,g.version,m.filename),children:[s===`preview:${m.filename}`?o.jsx(wn,{className:"spin"}):o.jsx(hP,{}),"预览"]}),o.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||s!=="",onClick:()=>void d(m.filename,m.version),children:[s===`download:${m.filename}`?o.jsx(wn,{className:"spin"}):o.jsx(A1,{}),"下载"]})]})]},`${m.filename}:${m.version}`)}),r&&o.jsx("div",{className:"artifact-card__error",children:r}),l&&o.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${l.name} 预览`,children:[o.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),o.jsxs("div",{className:"artifact-preview__panel",children:[o.jsxs("div",{className:"artifact-preview__header",children:[o.jsx("span",{children:l.name}),o.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:o.jsx(Ei,{})})]}),o.jsx("div",{className:"artifact-preview__canvas",children:o.jsx("img",{src:l.url,alt:`${l.name} 幻灯片预览`})})]})]})]})}function JSe({block:e,onAuth:t}){const[n,s]=b.useState(e.done?"done":"idle"),[i,r]=b.useState(""),a=e.label||"MCP 工具集",l=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),c=async()=>{if(t){r(""),s("authorizing");try{await t(e),s("done")}catch(d){r(d instanceof Error?d.message:String(d)),s("idle")}}};return e.done||n==="done"?o.jsxs(es.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[o.jsx(OR,{className:"auth-card-icon auth-card-icon--done"}),o.jsxs("span",{children:["已授权 · ",a]})]}):o.jsxs(es.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[o.jsxs("div",{className:"auth-card-head",children:[o.jsx(OR,{className:"auth-card-icon"}),o.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),o.jsxs("p",{className:"auth-card-desc",children:["工具集 ",o.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",l&&o.jsxs(o.Fragment,{children:[" ","将跳转至 ",o.jsx("code",{className:"auth-card-code",children:l})," 完成登录,"]}),"授权完成后对话自动继续。"]}),o.jsx("button",{className:"auth-card-btn",onClick:c,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?o.jsxs(o.Fragment,{children:[o.jsx(wn,{className:"cw-i spin"})," 等待授权…"]}):o.jsx(o.Fragment,{children:"去授权"})}),!e.authUri&&o.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),i&&o.jsx("div",{className:"auth-card-err",children:i})]})}function y2({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:s,onAction:i,onAuth:r,onArtifactDownload:a,onArtifactPreview:l}){return o.jsx(o.Fragment,{children:e.map((c,u)=>{switch(c.kind){case"thinking":{const d=e.slice(u+1).some(f=>f.kind==="text"&&!!f.text.trim());return o.jsx(e$,{text:c.text,done:c.done,answerStarted:d,streaming:n,onStreamFrame:s},u)}case"text":{const d=c.text.replace(/^\s+/,"");return d?o.jsx(XSe,{text:d,streaming:n,onStreamFrame:s},u):null}case"attachment":return o.jsx(bx,{appName:t,items:c.files},u);case"artifact":return o.jsx(ZSe,{block:c,onDownload:a,onPreview:l},u);case"invocation":return o.jsx(gx,{value:c.value},u);case"tool":return c.name===ZF&&c.done?null:o.jsx(QSe,{name:c.name,args:c.args,response:c.response,done:c.done},u);case"agent-transfer":return null;case"auth":return o.jsx(JSe,{block:c,onAuth:r},u);case"a2ui":return KF(c.messages).filter(d=>d.components[d.rootId]).map(d=>o.jsx(es.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:o.jsx(ISe,{surface:d,onAction:i})},`${u}-${d.surfaceId}`));default:return null}})})}function x2(e){return e.isComposing||e.keyCode===229}function e_e({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"m10.05 3.7 1.95-1.12 1.95 1.12"}),o.jsx("path",{d:"m16.25 5.03 3.9 2.25v4.5"}),o.jsx("path",{d:"M20.15 15.08v1.64l-3.9 2.25"}),o.jsx("path",{d:"m13.95 20.3-1.95 1.12-1.95-1.12"}),o.jsx("path",{d:"m7.75 18.97-3.9-2.25v-4.5"}),o.jsx("path",{d:"M3.85 8.92V7.28l3.9-2.25"}),o.jsx("path",{d:"m12 7.55 1.28 3.17L16.45 12l-3.17 1.28L12 16.45l-1.28-3.17L7.55 12l3.17-1.28L12 7.55Z",fill:"currentColor",stroke:"none"})]})}const ia=[{value:"agent",label:"Agent",description:"与当前选择的 Agent 对话"},{value:"temporary",label:"内置智能体",description:"使用平台提供的智能体"},{value:"skill-create",label:"创建 Skill",description:"使用两个模型生成并对比 Skill"}],t_e=[{label:"ArkClaw",kind:"openclaw"},{label:"Hermes 智能体",kind:"hermes"}];function EL({mode:e}){return e==="skill-create"?o.jsxs("svg",{className:"new-chat-mode__skill-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("path",{d:"M10 2.2l1.35 4.1 4.15 1.35-4.15 1.35L10 13.1 8.65 9 4.5 7.65 8.65 6.3 10 2.2Z"}),o.jsx("path",{d:"M15.6 12.2l.6 1.8 1.8.6-1.8.6-.6 1.8-.6-1.8-1.8-.6 1.8-.6.6-1.8Z"})]}):e==="temporary"?o.jsxs("svg",{className:"new-chat-mode__temporary-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("path",{d:"m10 2.8 6.1 3.45v7.5L10 17.2l-6.1-3.45v-7.5L10 2.8Z"}),o.jsx("path",{d:"m3.9 6.25 6.1 3.5 6.1-3.5M10 9.75v7.45"})]}):o.jsx(e_e,{className:"new-chat-mode__agent-icon"})}function n_e(){return o.jsx("svg",{className:"new-chat-mode__nested-chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:o.jsx("path",{d:"m4.5 3 3 3-3 3"})})}function s_e({value:e,onChange:t,disabled:n=!1,temporaryEnabled:s,skillCreateEnabled:i}){const[r,a]=b.useState(!1),[l,c]=b.useState(!1),[u,d]=b.useState(()=>ia.findIndex(T=>T.value===e)),f=b.useRef(null),h=b.useRef(null),m=ia.find(T=>T.value===e)??ia[0],p=m.value==="temporary"?"Codex 智能体":m.label;function g(T){return T.value==="temporary"?s:T.value==="skill-create"?i:!0}function v(T){return g(T)!==!0}function y(T){const S=g(T);return S===void 0?"正在检查配置":S?T.description:"管理员未配置"}b.useEffect(()=>{if(!r)return;const T=S=>{var k;(k=f.current)!=null&&k.contains(S.target)||(a(!1),c(!1))};return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[r]);function x(T){let S=u;do S=(S+T+ia.length)%ia.length;while(v(ia[S]));d(S),c(ia[S].value==="temporary")}function E(T){var S;if(!v(T)){if(T.value==="temporary"){c(!0);return}t(T.value),a(!1),c(!1),(S=h.current)==null||S.focus()}}function w(){t("temporary"),a(!1),c(!1)}return o.jsxs("div",{className:"new-chat-mode",ref:f,children:[o.jsxs("button",{ref:h,type:"button",className:"new-chat-mode__trigger","aria-label":"选择新会话模式","aria-haspopup":"listbox","aria-expanded":r,disabled:n,onClick:()=>{d(ia.findIndex(T=>T.value===e)),a(T=>(T&&c(!1),!T))},onKeyDown:T=>{T.key==="ArrowDown"||T.key==="ArrowUp"?(T.preventDefault(),r?x(T.key==="ArrowDown"?1:-1):a(!0)):r&&(T.key==="Enter"||T.key===" ")?(T.preventDefault(),E(ia[u])):r&&T.key==="Escape"&&(T.preventDefault(),a(!1),c(!1))},children:[o.jsx("span",{className:"new-chat-mode__icon",children:o.jsx(EL,{mode:m.value})}),o.jsx("span",{className:"new-chat-mode__current",title:p,children:p}),o.jsx("svg",{className:"new-chat-mode__chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:o.jsx("path",{d:"m3 4.5 3 3 3-3"})})]}),r?o.jsx("div",{className:"new-chat-mode__menu",role:"listbox","aria-label":"新会话模式",tabIndex:-1,onKeyDown:T=>{var S;T.key==="ArrowDown"||T.key==="ArrowUp"?(T.preventDefault(),x(T.key==="ArrowDown"?1:-1)):T.key==="Enter"?(T.preventDefault(),E(ia[u])):T.key==="Escape"&&(T.preventDefault(),a(!1),c(!1),(S=h.current)==null||S.focus())},children:ia.map((T,S)=>{const k=T.value==="temporary";return o.jsxs("button",{type:"button",role:"option","aria-selected":e===T.value,"aria-haspopup":k?"menu":void 0,"aria-expanded":k?l:void 0,"aria-disabled":v(T),disabled:v(T),className:`new-chat-mode__option${S===u?" is-active":""}`,onMouseEnter:()=>{d(S),c(T.value==="temporary")},onClick:()=>E(T),children:[o.jsx("span",{className:"new-chat-mode__option-icon",children:o.jsx(EL,{mode:T.value})}),o.jsxs("span",{className:"new-chat-mode__copy",children:[o.jsxs("span",{className:"new-chat-mode__label",children:[T.label,T.value==="skill-create"?o.jsx("span",{className:"new-chat-mode__beta",children:"Beta"}):null]}),o.jsx("span",{children:y(T)})]}),k?o.jsx(n_e,{}):e===T.value?o.jsx("svg",{className:"new-chat-mode__check",viewBox:"0 0 16 16","aria-hidden":"true",children:o.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})}):null]},T.value)})}):null,r&&l?o.jsxs("div",{className:"new-chat-mode__submenu",role:"menu","aria-label":"内置智能体",children:[o.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",onClick:w,children:[o.jsx(_p,{kind:"codex",className:"new-chat-mode__builtin-icon"}),o.jsxs("span",{className:"new-chat-mode__copy",children:[o.jsx("span",{className:"new-chat-mode__label",children:"Codex 智能体"}),o.jsx("span",{children:"在沙箱中执行任务"})]})]}),t_e.map(({label:T,kind:S})=>o.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:!0,children:[o.jsx(_p,{kind:S,className:"new-chat-mode__builtin-icon"}),o.jsxs("span",{className:"new-chat-mode__copy",children:[o.jsx("span",{className:"new-chat-mode__label",children:T}),o.jsx("span",{children:"暂不可用"})]})]},T))]}):null]})}const Du=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],i_e=15,r_e=15e3,a_e=120,o_e=180;function vL(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 l_e(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Wv({type:e,className:t="new-chat-agent-picker__type-icon"}){return e==="general"?o.jsx(Oc,{className:t}):o.jsx(_p,{kind:e,className:t})}function c_e({selectedAgentName:e="",selectedRuntimeId:t="",runtimeScope:n,disabled:s=!1,onSelectRuntime:i,onSelectSandboxSession:r}){var pe;const[a,l]=b.useState(!1),[c,u]=b.useState(null),[d,f]=b.useState(0),[h,m]=b.useState(0),[p,g]=b.useState("types"),[v,y]=b.useState(!1),[x,E]=b.useState([]),[w,T]=b.useState([]),[S,k]=b.useState(null),[A,C]=b.useState(""),[R,M]=b.useState(!1),[L,G]=b.useState(""),[D,F]=b.useState(""),N=b.useRef(null),O=b.useRef(null),P=b.useRef(null),$=b.useRef(0),I=b.useRef(null),q=b.useRef(null),Q=b.useRef(null),B=((pe=Du.find(oe=>oe.id===c))==null?void 0:pe.label)??"智能体",ee=b.useCallback((oe=!1)=>{var Te;q.current!==null&&(window.clearTimeout(q.current),q.current=null),Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null),l(!1),u(null),g("types"),y(!1),oe&&((Te=O.current)==null||Te.focus())},[]),z=b.useCallback(async(oe="",Te=!1)=>{const xe=++$.current;let Xe;M(!0),G("");try{const Me=await Promise.race([P1({scope:n,region:"all",pageSize:i_e,nextToken:oe}),new Promise((ze,_e)=>{Xe=window.setTimeout(()=>{_e(new Error("加载智能体超时(15 秒),请检查网络或 Runtime 服务后重试"))},r_e)})]);if($.current!==xe)return;E(ze=>{const _e=Te?Me.runtimes:[...ze,...Me.runtimes];return _e.filter((Pe,Fe)=>_e.findIndex(Ke=>Ke.runtimeId===Pe.runtimeId)===Fe)}),C(Me.nextToken),m(0)}catch(Me){if($.current!==xe)return;G(bd(Me,"加载通用智能体","GET /web/runtimes"))}finally{window.clearTimeout(Xe),$.current===xe&&M(!1)}},[n]),K=b.useCallback(async oe=>{var Xe,Me;(Xe=I.current)==null||Xe.abort();const Te=new AbortController;I.current=Te;const xe=++$.current;M(!0),G(""),T([]);try{const ze=oe==="codex"?await ln.listSessions({signal:Te.signal}):await ln.listAgentSessions(oe,{signal:Te.signal});if($.current!==xe)return;T(ze),k(oe),m(0)}catch(ze){if((ze==null?void 0:ze.name)==="AbortError"||$.current!==xe)return;G(bd(ze,`加载 ${((Me=Du.find(_e=>_e.id===oe))==null?void 0:Me.label)??oe}`,`GET /web/${oe==="codex"?"sandbox":oe}/sessions`)),k(oe)}finally{I.current===Te&&(I.current=null),$.current===xe&&M(!1)}},[]);b.useEffect(()=>{!a||c!=="general"||x.length>0||R||L||z("",!0)},[c,L,z,R,a,x.length]),b.useEffect(()=>{!a||c===null||c==="general"||S===c||K(c)},[c,K,S,a]),b.useEffect(()=>{if(!a)return;const oe=Te=>{var xe;(xe=N.current)!=null&&xe.contains(Te.target)||ee()};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[ee,a]),b.useEffect(()=>()=>{var oe;$.current+=1,(oe=I.current)==null||oe.abort(),q.current!==null&&window.clearTimeout(q.current),Q.current!==null&&window.clearTimeout(Q.current)},[]);function se(oe,Te=!1){q.current!==null&&(window.clearTimeout(q.current),q.current=null),Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null),l(!0),u(Te?"general":null),f(0),g("types"),y(Te),oe&&requestAnimationFrame(()=>{var xe;return(xe=P.current)==null?void 0:xe.focus()})}function W(){s||a||q.current!==null||(q.current=window.setTimeout(()=>{q.current=null,se(!1)},a_e))}function de(){Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null)}function ye(){q.current!==null&&(window.clearTimeout(q.current),q.current=null),!(!a||Q.current!==null)&&(Q.current=window.setTimeout(()=>{Q.current=null,ee()},o_e))}function we(oe){var Xe;const Te=(oe+Du.length)%Du.length,xe=Du[Te].id;xe!==c&&($.current+=1,(Xe=I.current)==null||Xe.abort(),I.current=null,M(!1),G("")),f(Te),u(xe),m(0)}async function ue(oe){if(!D){F(oe.runtimeId),G("");try{await i(oe),ee(!0)}catch(Te){G(bd(Te,"连接通用智能体"))}finally{F("")}}}async function he(oe){if(!D){F(oe.id),G("");try{await r(oe),ee(!0)}catch(Te){G(bd(Te,`打开 ${B}`))}finally{F("")}}}function Re(oe){if(oe.key==="Escape"){oe.preventDefault(),ee(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(oe.key)&&y(!0),p==="types"){oe.key==="ArrowDown"||oe.key==="ArrowUp"?(oe.preventDefault(),we(d+(oe.key==="ArrowDown"?1:-1))):(oe.key==="ArrowRight"||oe.key==="Enter")&&(oe.preventDefault(),c===null&&we(d),g("runtimes"));return}if(oe.key==="ArrowLeft")oe.preventDefault(),g("types");else if((c==="general"?x:w).length>0&&(oe.key==="ArrowDown"||oe.key==="ArrowUp")){oe.preventDefault();const Te=oe.key==="ArrowDown"?1:-1,xe=c==="general"?x.length:w.length;m(Xe=>(Xe+Te+xe)%xe)}else oe.key==="Enter"&&c==="general"&&x[h]?(oe.preventDefault(),ue(x[h])):oe.key==="Enter"&&c!=="general"&&w[h]&&(oe.preventDefault(),he(w[h]))}return o.jsxs("div",{className:"new-chat-agent-picker",ref:N,onPointerEnter:oe=>{oe.pointerType==="mouse"&&de()},onPointerLeave:oe=>{oe.pointerType==="mouse"&&ye()},children:[o.jsxs("button",{ref:O,type:"button",className:"new-chat-agent-picker__trigger","aria-label":"选择智能体","aria-haspopup":"menu","aria-expanded":a,disabled:s,onPointerEnter:oe=>{oe.pointerType==="mouse"&&W()},onClick:()=>a?ee():se(!0),onKeyDown:oe=>{oe.key==="ArrowDown"||oe.key==="ArrowUp"?(oe.preventDefault(),a||se(!0,!0)):oe.key==="Escape"&&a&&(oe.preventDefault(),ee(!0))},children:[o.jsx(Oc,{className:"new-chat-agent-picker__trigger-icon"}),o.jsx("span",{title:e||"选择智能体",children:e||"选择智能体"}),o.jsx(vL,{className:"new-chat-agent-picker__trigger-chevron"})]}),a?o.jsxs("div",{ref:P,className:"new-chat-agent-picker__menus",tabIndex:-1,onKeyDown:Re,onPointerMove:oe=>{oe.pointerType==="mouse"&&y(!1)},children:[o.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"智能体类型",children:Du.map((oe,Te)=>o.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":c===oe.id,className:`new-chat-agent-picker__type${v&&p==="types"&&d===Te?" is-keyboard-active":""}`,onMouseEnter:()=>we(Te),onClick:()=>{we(Te),g("runtimes")},children:[o.jsx(Wv,{type:oe.id}),o.jsx("span",{children:oe.label}),o.jsx(vL,{className:"new-chat-agent-picker__nested-chevron"})]},oe.id))}),c!==null?o.jsx("div",{className:"new-chat-agent-picker__submenu",role:"listbox","aria-label":`${B}列表`,children:c!=="general"&&R&&w.length===0?o.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):c!=="general"&&L&&w.length===0?o.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[o.jsx("span",{children:L}),o.jsx("button",{type:"button",onClick:()=>void K(c),children:"重新加载"})]}):c!=="general"&&w.length===0?o.jsxs(Zn,{className:"new-chat-agent-picker__empty",fill:"none",children:[o.jsx(Zn.Icon,{size:"sm",children:o.jsx(Wv,{type:c,className:"new-chat-agent-picker__empty-agent-icon"})}),o.jsx(Zn.Title,{children:o.jsxs("span",{className:"new-chat-agent-picker__empty-title",children:["暂无 ",B]})}),o.jsx(Zn.Description,{children:"请前往智能体页创建"})]}):c!=="general"?o.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:w.map((oe,Te)=>{const xe=D===oe.id;return o.jsxs("button",{type:"button",role:"option","aria-selected":!1,"aria-busy":xe||void 0,className:`new-chat-agent-picker__runtime${v&&p==="runtimes"&&h===Te?" is-keyboard-active":""}`,disabled:!!D,title:`${oe.displayName||B} · ${oe.id}`,onMouseEnter:()=>m(Te),onClick:()=>void he(oe),children:[o.jsx(Wv,{type:c,className:"new-chat-agent-picker__runtime-icon"}),o.jsx("span",{children:oe.displayName||B}),o.jsx("small",{children:xe?"正在打开":mx(oe.status)})]},oe.id)})}):R&&x.length===0?o.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):L&&x.length===0?o.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[o.jsx("span",{children:L}),o.jsx("button",{type:"button",onClick:()=>void z("",!0),children:"重新加载"})]}):x.length===0?o.jsxs(Zn,{className:"new-chat-agent-picker__empty",fill:"none",children:[o.jsx(Zn.Icon,{size:"sm",children:o.jsx(Oc,{})}),o.jsx(Zn.Title,{children:o.jsx("span",{className:"new-chat-agent-picker__empty-title",children:"暂无通用智能体"})}),o.jsx(Zn.Description,{children:"请前往智能体页创建"})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:x.map((oe,Te)=>{const xe=D===oe.runtimeId,Xe=oe.runtimeId===t;return o.jsxs("button",{type:"button",role:"option","aria-selected":Xe,"aria-busy":xe||void 0,className:`new-chat-agent-picker__runtime${v&&p==="runtimes"&&h===Te?" is-keyboard-active":""}`,disabled:!!D,title:oe.name,onMouseEnter:()=>m(Te),onClick:()=>void ue(oe),children:[o.jsx(Oc,{className:"new-chat-agent-picker__runtime-icon"}),o.jsx("span",{children:oe.name}),xe?o.jsx("small",{children:"正在连接"}):Xe?o.jsx(l_e,{className:"new-chat-agent-picker__check"}):null]},oe.runtimeId)})}),L?o.jsx("div",{className:"new-chat-agent-picker__inline-error",role:"alert",children:L}):null,A?o.jsx("button",{type:"button",className:"new-chat-agent-picker__load-more",disabled:R||!!D,onClick:()=>void z(A),children:R?"加载中":"加载更多"}):null]})}):null]}):null]})}const n$={ppt:["ppt_generate"],image:["image_generate"],video:["video_generate"]},u_e={ppt:[],image:[],video:["video_task_query"]},E2=["doubao-seed-2-0-pro-260215","deepseek-v4-flash-260425"];function wL(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"4.25",y:"6.25",width:"13.5",height:"13.5",rx:"2.5"}),o.jsx("path",{d:"M11 10v6M8 13h6"}),o.jsx("path",{d:"m19.25 2.75.53 1.47 1.47.53-1.47.53-.53 1.47-.53-1.47-1.47-.53 1.47-.53.53-1.47Z",fill:"currentColor",stroke:"none"})]})}const SL=[{value:"ppt",label:"PPT",icon:iJ,prompts:["复盘【季度】经营表现,提炼指标差距、原因与行动建议","汇报【项目名称】进展:里程碑、风险、预算和资源诉求","为【客户行业】输出解决方案:痛点、架构、实施路径与收益","分析【行业主题】趋势,给出竞争格局、机会与战略建议"]},{value:"image",label:"图片生成",icon:ZN,prompts:["为【品牌或产品】设计【高级科技】风格的发布会主视觉","生成【产品名称】电商海报,突出【核心卖点】与品牌色","呈现【产品或空间】在【使用场景】中的写实概念效果图","围绕【传播主题】制作简洁专业的企业社媒配图"]},{value:"video",label:"视频生成",icon:XF,prompts:["制作【品牌名称】30 秒宣传片,突出【品牌价值】","为【产品名称】制作 45 秒发布视频:痛点、功能、场景与行动号召","制作【培训主题】企业培训视频,讲清【关键操作或规范】","生成【活动名称】20 秒预热视频,包含亮点、时间地点和报名信息"]}];function d_e({sessionId:e,sessionInitializing:t=!1,appName:n,agentName:s,value:i,onChange:r,onSubmit:a,disabled:l,busy:c,showMeta:u,attachments:d,skills:f,agents:h,invocation:m,capabilitiesLoading:p=!1,allowAttachments:g=!0,onInvocationChange:v,onAddFiles:y,onRemoveAttachment:x,newChatMode:E="agent",newChatTask:w=null,newChatLayout:T=!1,showModeSelector:S=!1,onModeChange:k,onTaskChange:A,temporaryEnabled:C,skillCreateEnabled:R,harnessEnabled:M=!1,builtinTools:L=[],showAgentPicker:G=!1,agentPickerDisabled:D=!1,selectedRuntimeId:F="",runtimeScope:N="mine",onSelectRuntime:O,onSelectSandboxSession:P}){const $=b.useRef(null),I=b.useRef(null),q=b.useRef(null),Q=b.useRef(null),[B,ee]=b.useState(!1),[z,K]=b.useState(null),[se,W]=b.useState(0),[de,ye]=b.useState(!1);async function we(){if(e)try{await navigator.clipboard.writeText(e),ye(!0),setTimeout(()=>ye(!1),1500)}catch{ye(!1)}}b.useLayoutEffect(()=>{const te=$.current;te&&(te.style.height="auto",te.style.height=`${Math.min(te.scrollHeight,200)}px`)},[i]);const ue=E==="skill-create";b.useEffect(()=>{ue&&(ee(!1),K(null))},[ue]);const he=!ue&&d.some(te=>te.status!=="ready"),Re=!l&&!c&&!he&&(i.trim().length>0||!ue&&d.length>0),pe=ue?`描述你想创建的 Skill,将使用 ${E2.join(" 和 ")} 并行创建…`:l?"请先选择智能体":`向 ${s} 发消息…`,oe=(z==null?void 0:z.query.toLocaleLowerCase())??"",Te=(z==null?void 0:z.kind)==="skill"?f.filter(te=>!m.skills.some(ge=>ge.name===te.name)).filter(te=>`${te.name} ${te.description}`.toLocaleLowerCase().includes(oe)).map(te=>({kind:"skill",value:te})):(z==null?void 0:z.kind)==="agent"?h.filter(te=>`${te.name} ${te.description}`.toLocaleLowerCase().includes(oe)).map(te=>({kind:"agent",value:te})):[];function xe(te){var ge;ee(!1),K(null),(ge=te.current)==null||ge.click()}function Xe(te){A==null||A(te.value),ee(!1),K(null),requestAnimationFrame(()=>{var ge,Ue;(ge=$.current)==null||ge.focus(),(Ue=$.current)==null||Ue.setSelectionRange(i.length,i.length)})}function Me(te){r(te),ee(!1),K(null),requestAnimationFrame(()=>{var Ye,xt,at;(Ye=$.current)==null||Ye.focus();const ge=te.indexOf("【"),Ue=te.indexOf("】",ge+1);ge>=0&&Ue>ge?(xt=$.current)==null||xt.setSelectionRange(ge+1,Ue):(at=$.current)==null||at.setSelectionRange(te.length,te.length)})}function ze(){A==null||A(null),r(""),ee(!1),K(null),requestAnimationFrame(()=>{var te,ge;(te=$.current)==null||te.focus(),(ge=$.current)==null||ge.setSelectionRange(0,0)})}const _e=SL.find(te=>te.value===w),Pe=SL.filter(te=>n$[te.value].every(ge=>L.includes(ge)));function Fe(te,ge){const Ue=te.slice(0,ge),Ye=/(^|\s)([/@])([^\s/@]*)$/.exec(Ue);if(!Ye){K(null);return}const xt=Ye[2].length+Ye[3].length,at={kind:Ye[2]==="/"?"skill":"agent",query:Ye[3],start:ge-xt,end:ge},fn=!z||z.kind!==at.kind||z.query!==at.query||z.start!==at.start||z.end!==at.end;K(at),fn&&W(0),ee(!1)}function Ke(te){if(!z)return;const ge=i.slice(0,z.start)+i.slice(z.end);r(ge),te.kind==="skill"?v({...m,skills:[...m.skills,te.value]}):v({skills:[],targetAgent:te.value});const Ue=z.start;K(null),requestAnimationFrame(()=>{var Ye,xt;(Ye=$.current)==null||Ye.focus(),(xt=$.current)==null||xt.setSelectionRange(Ue,Ue)})}function X(){if(m.targetAgent){v({skills:[]});return}m.skills.length>0&&v({...m,skills:m.skills.slice(0,-1)})}function ae(te){const ge=te.target.files?Array.from(te.target.files):[];ge.length&&y(ge),te.target.value=""}return o.jsxs("div",{className:`composer${T?" composer--new-chat":""}${ue?" composer--skill-mode":""}${_e?` composer--has-task composer--task-${_e.value}`:""}`,children:[ue?null:o.jsx(gx,{value:m,onRemoveSkill:te=>v({...m,skills:m.skills.filter(ge=>ge.name!==te)}),onRemoveAgent:()=>v({skills:[]})}),!ue&&d.length>0&&o.jsx(bx,{appName:n,compact:!0,items:d,onRemove:x}),o.jsxs("div",{className:"composer-box",children:[z?o.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":z.kind==="skill"?"可用技能":"可用子 Agent",children:[o.jsxs("div",{className:"composer-command-head",children:[z.kind==="skill"?o.jsx(zc,{}):o.jsx(fP,{}),o.jsx("span",{children:z.kind==="skill"?"调用技能":"使用子 Agent"}),o.jsx("kbd",{children:z.kind==="skill"?"/":"@"})]}),p?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(wn,{className:"spin"})," 正在读取 Agent 能力…"]}):Te.length===0?o.jsx("div",{className:"composer-command-empty",children:z.kind==="skill"?"当前 Agent 没有匹配技能":"当前 Agent 没有匹配子 Agent"}):o.jsx("div",{className:"composer-command-list",children:Te.map((te,ge)=>o.jsxs("button",{type:"button",role:"option","aria-selected":ge===se,className:`composer-command-item${ge===se?" is-active":""}`,onMouseDown:Ue=>{Ue.preventDefault(),Ke(te)},onMouseEnter:()=>W(ge),children:[o.jsx("span",{className:`composer-command-icon composer-command-icon--${te.kind}`,children:te.kind==="skill"?o.jsx(zc,{}):o.jsx(Hc,{})}),o.jsxs("span",{className:"composer-command-copy",children:[o.jsxs("strong",{children:[te.kind==="skill"?"/":"@",te.value.name]}),o.jsx("span",{children:te.value.description||(te.kind==="skill"?"加载并执行该技能":"将本轮交给该 Agent")})]}),o.jsx("kbd",{children:ge===se?"↵":te.kind==="skill"?"技能":"Agent"})]},`${te.kind}-${te.value.name}`))})]}):null,ue?null:o.jsxs("div",{className:"composer-menu-wrap",children:[o.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:l||!g,onClick:()=>{K(null),ee(te=>!te)},children:o.jsx(bi,{className:"icon"})}),B&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>ee(!1)}),o.jsxs("div",{className:"composer-menu",role:"menu",children:[o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>xe(I),children:[o.jsx(ZN,{className:"icon"}),"上传图片"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>xe(q),children:[o.jsx(XN,{className:"icon"}),"上传文档或 PDF"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>xe(Q),children:[o.jsx(mP,{className:"icon"}),"上传视频"]})]})]})]}),G&&O&&P?o.jsx(c_e,{selectedAgentName:n?s:"",selectedRuntimeId:F,runtimeScope:N,disabled:D,onSelectRuntime:O,onSelectSandboxSession:P}):null,S&&k?o.jsx(s_e,{value:E,onChange:k,disabled:c,temporaryEnabled:C,skillCreateEnabled:R}):null,T&&E==="agent"&&_e&&A?o.jsxs("button",{type:"button",className:`new-chat-task-chip new-chat-task-chip--${_e.value}`,"aria-label":`取消${_e.label}任务`,disabled:c,onClick:ze,children:[o.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[o.jsx(_e.icon,{className:"new-chat-task-chip__task-icon"}),o.jsx(Ei,{className:"new-chat-task-chip__remove-icon"})]}),o.jsx("span",{children:_e.label})]}):null,T&&ue&&k?o.jsxs("button",{type:"button",className:"new-chat-task-chip new-chat-task-chip--skill","aria-label":"退出创建 Skill",disabled:c,onClick:()=>k("agent"),children:[o.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[o.jsx(wL,{className:"new-chat-task-chip__task-icon"}),o.jsx(Ei,{className:"new-chat-task-chip__remove-icon"})]}),o.jsx("span",{children:"Skill"})]}):null,o.jsxs("div",{className:"composer-input-stack",children:[o.jsx("textarea",{ref:$,className:"comp-input scroll",rows:T?4:1,value:i,disabled:l,placeholder:pe,"aria-expanded":!!z,onChange:te=>{r(te.target.value),ue||Fe(te.target.value,te.target.selectionStart)},onSelect:te=>{ue||Fe(te.currentTarget.value,te.currentTarget.selectionStart)},onBlur:()=>setTimeout(()=>K(null),0),onKeyDown:te=>{if(!x2(te.nativeEvent)){if(z){if(te.key==="ArrowDown"&&Te.length>0){te.preventDefault(),W(ge=>(ge+1)%Te.length);return}if(te.key==="ArrowUp"&&Te.length>0){te.preventDefault(),W(ge=>(ge-1+Te.length)%Te.length);return}if((te.key==="Enter"||te.key==="Tab")&&Te[se]){te.preventDefault(),Ke(Te[se]);return}if(te.key==="Escape"){te.preventDefault(),K(null);return}}if(te.key==="Backspace"&&!i&&te.currentTarget.selectionStart===0&&te.currentTarget.selectionEnd===0){X();return}te.key==="Enter"&&!te.shiftKey&&(te.preventDefault(),Re&&a())}}}),T&&i.length===0?o.jsx("span",{className:"composer-placeholder-reveal","aria-hidden":"true",children:pe},pe):null]}),o.jsx(es.button,{type:"button",className:"comp-send",disabled:!Re,onClick:a,"aria-label":"发送",whileTap:Re?{scale:.9}:void 0,transition:{type:"spring",stiffness:600,damping:22},children:c?o.jsx(wn,{className:"icon spin"}):o.jsx(dP,{className:"icon"})})]}),T&&E==="agent"&&M&&!_e?o.jsxs("div",{className:"task-shortcuts","aria-label":"选择任务类型",children:[Pe.map(te=>{const ge=te.icon;return o.jsxs("button",{type:"button",className:"task-shortcut",disabled:l||c,onClick:()=>Xe(te),children:[o.jsx(ge,{}),o.jsx("span",{children:te.label})]},te.value)}),R===!0?o.jsxs("button",{type:"button",className:"task-shortcut",disabled:c,onClick:()=>k==null?void 0:k("skill-create"),children:[o.jsx(wL,{}),o.jsx("span",{children:"创建 Skill"})]}):null]}):null,T&&E==="agent"&&_e?o.jsx("div",{className:"prompt-suggestions","aria-label":`${_e.label}企业提示词`,children:_e.prompts.map(te=>{const ge=_e.icon;return o.jsxs("button",{type:"button",className:"prompt-suggestion",disabled:l||c,onClick:()=>Me(te),children:[o.jsx(ge,{}),o.jsx("span",{children:te})]},te)})}):null,u&&o.jsxs("div",{className:"composer-meta",children:[o.jsxs("span",{className:"composer-session-line",children:["会话 ID:",o.jsx("span",{className:"composer-session-id",title:e||void 0,"aria-live":"polite",children:t?"初始化中":e||"—"}),e&&o.jsx("button",{type:"button",className:"composer-session-copy",title:de?"已复制":"复制会话 ID","aria-label":de?"已复制会话 ID":"复制会话 ID",onClick:()=>void we(),children:de?o.jsx(Ya,{}):o.jsx(k1,{})})]}),o.jsx("span",{className:"composer-meta-separator","aria-hidden":!0,children:"|"}),o.jsx("span",{children:"回答仅供参考"})]}),o.jsx("input",{ref:I,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:ae}),o.jsx("input",{ref:q,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:ae}),o.jsx("input",{ref:Q,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:ae})]})}function s$({title:e,sub:t,cards:n,footer:s}){return o.jsxs("div",{className:"stk",children:[o.jsxs("div",{className:"stk-head",children:[o.jsx("h1",{className:"stk-title",children:e}),t&&o.jsx("p",{className:"stk-sub",children:t})]}),o.jsx("div",{className:"stk-list",children:n.map((i,r)=>o.jsxs(es.button,{type:"button",className:`stk-card ${i.disabled?"stk-card-disabled":""}`,onClick:i.disabled?void 0:i.onClick,disabled:i.disabled,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.18,ease:"easeOut",delay:r*.04},children:[o.jsx("span",{className:"stk-card-icon",children:o.jsx(i.icon,{})}),o.jsxs("span",{className:"stk-card-text",children:[o.jsx("span",{className:"stk-card-title",children:i.title}),o.jsx("span",{className:"stk-card-desc",children:i.desc})]}),o.jsx(zl,{className:"stk-card-arrow"})]},i.key))}),s&&o.jsx("div",{className:"stk-footer",children:s})]})}const v2=Symbol.for("yaml.alias"),B_=Symbol.for("yaml.document"),Dl=Symbol.for("yaml.map"),i$=Symbol.for("yaml.pair"),Ga=Symbol.for("yaml.scalar"),Gf=Symbol.for("yaml.seq"),Zr=Symbol.for("yaml.node.type"),Kf=e=>!!e&&typeof e=="object"&&e[Zr]===v2,ug=e=>!!e&&typeof e=="object"&&e[Zr]===B_,dg=e=>!!e&&typeof e=="object"&&e[Zr]===Dl,Os=e=>!!e&&typeof e=="object"&&e[Zr]===i$,Kn=e=>!!e&&typeof e=="object"&&e[Zr]===Ga,fg=e=>!!e&&typeof e=="object"&&e[Zr]===Gf;function Cs(e){if(e&&typeof e=="object")switch(e[Zr]){case Dl:case Gf:return!0}return!1}function Rs(e){if(e&&typeof e=="object")switch(e[Zr]){case v2:case Dl:case Ga:case Gf:return!0}return!1}const r$=e=>(Kn(e)||Cs(e))&&!!e.anchor,gc=Symbol("break visit"),f_e=Symbol("skip children"),Lm=Symbol("remove node");function qf(e,t){const n=h_e(t);ug(e)?xd(null,e.contents,n,Object.freeze([e]))===Lm&&(e.contents=null):xd(null,e,n,Object.freeze([]))}qf.BREAK=gc;qf.SKIP=f_e;qf.REMOVE=Lm;function xd(e,t,n,s){const i=m_e(e,t,n,s);if(Rs(i)||Os(i))return p_e(e,s,i),xd(e,i,n,s);if(typeof i!="symbol"){if(Cs(t)){s=Object.freeze(s.concat(t));for(let r=0;re.replace(/[!,[\]{}]/g,t=>g_e[t]);class Fi{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Fi.defaultYaml,t),this.tags=Object.assign({},Fi.defaultTags,n)}clone(){const t=new Fi(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Fi(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Fi.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Fi.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Fi.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Fi.defaultTags),this.atNextDocument=!1);const s=t.trim().split(/[ \t]+/),i=s.shift();switch(i){case"%TAG":{if(s.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;const[r,a]=s;return this.tags[r]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[r]=s;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{const a=/^\d+\.\d+$/.test(r);return n(6,`Unsupported YAML version ${r}`,a),!1}}default:return n(0,`Unknown directive ${i}`,!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[,s,i]=t.match(/^(.*!)([^!]*)$/s);i||n(`The ${t} tag has no suffix`);const r=this.tags[s];if(r)try{return r+decodeURIComponent(i)}catch(a){return n(String(a)),null}return s==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,s]of Object.entries(this.tags))if(t.startsWith(s))return n+b_e(t.substring(s.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags);let i;if(t&&s.length>0&&Rs(t.contents)){const r={};qf(t.contents,(a,l)=>{Rs(l)&&l.tag&&(r[l.tag]=!0)}),i=Object.keys(r)}else i=[];for(const[r,a]of s)r==="!!"&&a==="tag:yaml.org,2002:"||(!t||i.some(l=>l.startsWith(a)))&&n.push(`%TAG ${r} ${a}`);return n.join(` -`)}}Fi.defaultYaml={explicit:!1,version:"1.2"};Fi.defaultTags={"!!":"tag:yaml.org,2002:"};function a$(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 o$(e){const t=new Set;return qf(e,{Value(n,s){s.anchor&&t.add(s.anchor)}}),t}function l$(e,t){for(let n=1;;++n){const s=`${e}${n}`;if(!t.has(s))return s}}function y_e(e,t){const n=[],s=new Map;let i=null;return{onAnchor:r=>{n.push(r),i??(i=o$(e));const a=l$(t,i);return i.add(a),a},setAnchors:()=>{for(const r of n){const a=s.get(r);if(typeof a=="object"&&a.anchor&&(Kn(a.node)||Cs(a.node)))a.node.anchor=a.anchor;else{const l=new Error("Failed to resolve repeated object (this should not happen)");throw l.source=r,l}}},sourceObjects:s}}function Ed(e,t,n,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0,r=s.length;iXr(s,String(i),n));if(e&&typeof e.toJSON=="function"){if(!n||!r$(e))return e.toJSON(t,n);const s={aliasCount:0,count:1,res:void 0};n.anchors.set(e,s),n.onCreate=r=>{s.res=r,delete n.onCreate};const i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class w2{constructor(t){Object.defineProperty(this,Zr,{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:s,onAnchor:i,reviver:r}={}){if(!ug(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 s=="number"?s:100},l=Xr(this,"",a);if(typeof i=="function")for(const{count:c,res:u}of a.anchors.values())i(u,c);return typeof r=="function"?Ed(r,{"":l},"",l):l}}class S2 extends w2{constructor(t){super(v2),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 s;n!=null&&n.aliasResolveCache?s=n.aliasResolveCache:(s=[],qf(t,{Node:(r,a)=>{(Kf(a)||r$(a))&&s.push(a)}}),n&&(n.aliasResolveCache=s));let i;for(const r of s){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(t,n){if(!n)return{source:this.source};const{anchors:s,doc:i,maxAliasCount:r}=n,a=this.resolve(i,n);if(!a){const c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let l=s.get(a);if(l||(Xr(a,null,n),l=s.get(a)),(l==null?void 0:l.res)===void 0){const c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(r>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=Tb(i,a,s)),l.count*l.aliasCount>r)){const c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return l.res}toString(t,n,s){const i=`*${this.source}`;if(t){if(a$(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(t.implicitKey)return`${i} `}return i}}function Tb(e,t,n){if(Kf(t)){const s=t.resolve(e),i=n&&s&&n.get(s);return i?i.count*i.aliasCount:0}else if(Cs(t)){let s=0;for(const i of t.items){const r=Tb(e,i,n);r>s&&(s=r)}return s}else if(Os(t)){const s=Tb(e,t.key,n),i=Tb(e,t.value,n);return Math.max(s,i)}return 1}const c$=e=>!e||typeof e!="function"&&typeof e!="object";class At extends w2{constructor(t){super(Ga),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:Xr(this.value,t,n)}toString(){return String(this.value)}}At.BLOCK_FOLDED="BLOCK_FOLDED";At.BLOCK_LITERAL="BLOCK_LITERAL";At.PLAIN="PLAIN";At.QUOTE_DOUBLE="QUOTE_DOUBLE";At.QUOTE_SINGLE="QUOTE_SINGLE";const x_e="tag:yaml.org,2002:";function E_e(e,t,n){if(t){const s=n.filter(r=>r.tag===t),i=s.find(r=>!r.format)??s[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return n.find(s=>{var i;return((i=s.identify)==null?void 0:i.call(s,e))&&!s.format})}function Tp(e,t,n){var f,h,m;if(ug(e)&&(e=e.contents),Rs(e))return e;if(Os(e)){const p=(h=(f=n.schema[Dl]).createNode)==null?void 0:h.call(f,n.schema,null,n);return p.items.push(e),p}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:s,onAnchor:i,onTagObj:r,schema:a,sourceObjects:l}=n;let c;if(s&&e&&typeof e=="object"){if(c=l.get(e),c)return c.anchor??(c.anchor=i(e)),new S2(c.anchor);c={anchor:null,node:null},l.set(e,c)}t!=null&&t.startsWith("!!")&&(t=x_e+t.slice(2));let u=E_e(e,t,a.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const p=new At(e);return c&&(c.node=p),p}u=e instanceof Map?a[Dl]:Symbol.iterator in Object(e)?a[Gf]:a[Dl]}r&&(r(u),delete n.onTagObj);const d=u!=null&&u.createNode?u.createNode(n.schema,e,n):typeof((m=u==null?void 0:u.nodeClass)==null?void 0:m.from)=="function"?u.nodeClass.from(n.schema,e,n):new At(e);return t?d.tag=t:u.default||(d.tag=u.tag),c&&(c.node=d),d}function Gy(e,t,n){let s=n;for(let i=t.length-1;i>=0;--i){const r=t[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){const a=[];a[r]=s,s=a}else s=new Map([[r,s]])}return Tp(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const Jh=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;let u$=class extends w2{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(s=>Rs(s)||Os(s)?s.clone(t):s),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(Jh(t))this.add(n);else{const[s,...i]=t,r=this.get(s,!0);if(Cs(r))r.addIn(i,n);else if(r===void 0&&this.schema)this.set(s,Gy(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}deleteIn(t){const[n,...s]=t;if(s.length===0)return this.delete(n);const i=this.get(n,!0);if(Cs(i))return i.deleteIn(s);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}getIn(t,n){const[s,...i]=t,r=this.get(s,!0);return i.length===0?!n&&Kn(r)?r.value:r:Cs(r)?r.getIn(i,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!Os(n))return!1;const s=n.value;return s==null||t&&Kn(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(t){const[n,...s]=t;if(s.length===0)return this.has(n);const i=this.get(n,!0);return Cs(i)?i.hasIn(s):!1}setIn(t,n){const[s,...i]=t;if(i.length===0)this.set(s,n);else{const r=this.get(s,!0);if(Cs(r))r.setIn(i,n);else if(r===void 0&&this.schema)this.set(s,Gy(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}};const v_e=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function wo(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const wc=(e,t,n)=>e.endsWith(` +`),h=(t==null?void 0:t.pendingMessage)||"正在等待构建日志…";if(b.useEffect(()=>{t&&r(s)},[e.id,t==null?void 0:t.status,s]),b.useEffect(()=>{if(!i||!c)return;const x=n.current;x&&(x.scrollTop=x.scrollHeight)},[i,c,f]),!t||!t.text&&t.status!=="error"&&!t.pendingMessage)return null;const m=owe(t.updatedAt),p=t.status==="complete"?"已同步":t.status==="error"?"读取失败":"同步中",g=t.omittedEarly?"已省略早期日志":t.snapshotTruncated?"仅显示最近的构建日志":t.truncated?"已省略部分日志":"",v=[p,t.lineCount?`${t.lineCount} 行`:"",g,m].filter(Boolean).join(" · ");async function y(){try{await navigator.clipboard.writeText(u),l(!0),window.setTimeout(()=>l(!1),1500)}catch{l(!1)}}return o.jsxs("section",{className:`aw-deploy-log is-${t.status}${i?"":" is-collapsed"}`,"aria-label":"构建日志",children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"构建日志"}),o.jsx("span",{children:v})]}),o.jsxs("div",{className:"aw-deploy-log-actions",children:[c&&o.jsx("button",{type:"button",onClick:()=>r(x=>!x),children:i?"收起":"展开"}),c&&o.jsxs("button",{type:"button",onClick:()=>void y(),"aria-label":a?"已复制构建日志":"复制构建日志",title:a?"已复制":"复制构建日志",children:[a?o.jsx(Ya,{"aria-hidden":!0}):o.jsx(A1,{"aria-hidden":!0}),o.jsx("span",{children:a?"已复制":"复制"})]})]})]}),i&&(c?o.jsx("pre",{ref:n,children:f}):o.jsx("div",{className:"aw-deploy-log-empty",children:h}))]})}function cwe({task:e}){const t=HF(e),n=zF(e),s=e.status==="success"?100:Math.max(6,Math.min(100,e.pct??6)),i=e.status==="running"?"正在部署":e.status==="success"?"部署完成":e.status==="error"?"部署失败":"部署已取消";return o.jsxs("section",{className:`aw-deploy-progress-card is-${e.status}`,"aria-live":"polite",children:[o.jsxs("div",{className:"aw-deploy-progress-head",children:[o.jsxs("div",{children:[o.jsx("span",{className:"aw-deploy-progress-icon","aria-hidden":!0,children:e.status==="running"?o.jsx(gn,{className:"spin"}):e.status==="success"?o.jsx($Z,{}):e.status==="error"?o.jsx(XN,{}):o.jsx(OR,{})}),o.jsxs("div",{children:[o.jsx("h3",{children:i}),o.jsx("p",{children:e.runtimeName})]})]}),o.jsx("strong",{children:e.status==="running"?`${Math.round(s)}%`:e.label})]}),o.jsx("div",{className:"aw-deploy-progress-track",role:"progressbar","aria-label":"部署进度","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(s),children:o.jsx("span",{style:{width:`${s}%`}})}),o.jsx("ol",{className:"aw-deploy-steps",children:t.map((r,a)=>{const l=e.status==="success"||anew Set),[St,Qt]=b.useState(()=>new Set),[zt,Zt]=b.useState(!1),[Rt,Yt]=b.useState(""),[jt,Bt]=b.useState(null),[Gn,Ds]=b.useState([]),[mi,Bn]=b.useState([]),[Kn,cn]=b.useState(!1),[Sn,rs]=b.useState(""),[Ps,Qs]=b.useState(0),[ms,vs]=b.useState(!1),[Un,qn]=b.useState(()=>new Set),[un,ps]=b.useState(!1),[ks,yn]=b.useState(""),[Jt,fe]=b.useState(""),[Me,je]=b.useState(()=>new Set),tt=b.useRef(!1),et=b.useRef(""),ht=b.useRef(null),Ae=b.useRef(0),Ot=b.useRef(0),[en,In]=b.useState(Xve),[Rn,Nt]=b.useState("");b.useEffect(()=>{e.length!==0&&In(H=>H.map((ae,he)=>he===0&&ae.agentIds.length===0?{...ae,agentIds:e.slice(0,2).map(Ie=>Ie.id)}:ae))},[e]);const rt=b.useMemo(()=>{const H=new Map;for(const ae of e)ae.runtimeId&&H.set(ae.runtimeId,ae);return H},[e]),ws=b.useMemo(()=>{var ae;const H=new Map;for(const he of t){const Ie=(ae=he.deploymentTarget)==null?void 0:ae.runtimeId;if(!Ie||!rt.has(Ie))continue;const Je=H.get(Ie);(!Je||he.updatedAt>Je.updatedAt)&&H.set(Ie,he)}return H},[rt,t]),Yn=b.useMemo(()=>{const H=new Map;for(const ae of d){if(!ae.runtimeId)continue;const he=H.get(ae.runtimeId);(!he||ae.startedAt>he.startedAt)&&H.set(ae.runtimeId,ae)}return H},[d]),Wn=b.useMemo(()=>{const H=Pe.trim().toLowerCase();return H?e.filter(ae=>{const he=ae.runtimeId?ws.get(ae.runtimeId):void 0,Ie=ae.runtimeId?Yn.get(ae.runtimeId):void 0;return[ae.label,ae.app,ae.host??"",(he==null?void 0:he.draft.name)??"",(he==null?void 0:he.draft.description)??"",(Ie==null?void 0:Ie.runtimeName)??""].join(" ").toLowerCase().includes(H)}):e},[e,Yn,Pe,ws]),Bs=b.useMemo(()=>{const H=Pe.trim().toLowerCase();return t.filter(ae=>{var Ie;const he=(Ie=ae.deploymentTarget)==null?void 0:Ie.runtimeId;return he&&rt.has(he)?!1:H?`${ae.draft.name} ${ae.draft.description}`.toLowerCase().includes(H):!0})},[rt,t,Pe]),Go=b.useMemo(()=>t.filter(H=>{var he;const ae=(he=H.deploymentTarget)==null?void 0:he.runtimeId;return!ae||!rt.has(ae)}).length,[rt,t]),Di=b.useMemo(()=>{const H=Pe.trim().toLowerCase();return H?en.filter(ae=>ae.name.toLowerCase().includes(H)):en},[en,Pe]),re=e.find(H=>H.id===k),Ut=t.find(H=>H.id===P),_n=f?d.find(H=>H.id===f):void 0,jn=re!=null&&re.runtimeId?ws.get(re.runtimeId):void 0,Ft=v?X:k&&i===k?s:null,Us=(Ft==null?void 0:Ft.appName)||(re==null?void 0:re.runtimeApp)||(re==null?void 0:re.app)||"",Na=`${(re==null?void 0:re.region)??"cn-beijing"}:${(re==null?void 0:re.runtimeId)??""}`,Ke=(ue==null?void 0:ue.requestKey)===Na?ue.value:"",Fn=(Q==null?void 0:Q.requestKey)===Na?Q:null,Rr=!!((oh=Fn==null?void 0:Fn.apiApps)!=null&&oh.length),dr=!!(Fn!=null&&Fn.a2a),Ss=((Mn=Fn==null?void 0:Fn.apiApps)==null?void 0:Mn[0])??Us,Pi=(R==null?void 0:R.endpoint)??"",Ko=Qve(((Rg=Fn==null?void 0:Fn.a2a)==null?void 0:Rg.endpoint)??"",Pi),Za=JSON.stringify([(re==null?void 0:re.runtimeId)??"",(re==null?void 0:re.region)??""]),Fs=(De==null?void 0:De.requestKey)===Za?De.value:null;b.useEffect(()=>{const H=Ae.current+1;Ae.current=H,Ve(null),Ge("");const ae=(re==null?void 0:re.runtimeId)??"",he=(re==null?void 0:re.region)??"";if(!l||!ae||!he){Fe(!1);return}const Ie=new AbortController;return Fe(!0),hB({runtimeId:ae,region:he,signal:Ie.signal}).then(Je=>{var nt;if(H===Ae.current){if(Je.runtime.runtimeId!==ae||Je.runtime.region!==he||Je.canUpdate&&!((nt=Je.agent)!=null&&nt.appName)){Ge("Runtime 更新能力响应与当前选择不匹配。");return}Ve({requestKey:Za,value:Je})}}).catch(Je=>{H!==Ae.current||Ie.signal.aborted||Ge(Je instanceof Error?Je.message:"检查 Runtime 更新能力失败。")}).finally(()=>{H===Ae.current&&!Ie.signal.aborted&&Fe(!1)}),()=>Ie.abort()},[l,re==null?void 0:re.region,re==null?void 0:re.runtimeId,Za]);const te=b.useMemo(()=>{const H=new Map(e.map((he,Ie)=>[he.id,Ie])),ae=new Map(n.map((he,Ie)=>[he,Ie]));return[...Wn].sort((he,Ie)=>{const Je=he.runtimeId?Yn.get(he.runtimeId):void 0,nt=Ie.runtimeId?Yn.get(Ie.runtimeId):void 0,rn=(Je==null?void 0:Je.status)==="running"?Je.startedAt:0,ai=(nt==null?void 0:nt.status)==="running"?nt.startedAt:0;if(rn!==ai)return ai-rn;const hn=ae.get(he.id),$n=ae.get(Ie.id);return hn!=null&&$n!=null?hn-$n:hn!=null?-1:$n!=null?1:(H.get(he.id)??0)-(H.get(Ie.id)??0)})},[n,e,Wn,Yn]),Te=(re==null?void 0:re.label)||(Ft==null?void 0:Ft.name)||(Ut==null?void 0:Ut.draft.name)||(_n==null?void 0:_n.runtimeName)||"未选择智能体",Qe=en.find(H=>H.id===Rn),pt=te.filter(H=>H.canDelete===!0),Xn=te.filter(H=>we.has(H.id)&&H.canDelete===!0),as=Bs.filter(H=>St.has(H.id)),$s=pt.length+Bs.length,Hs=Xn.length+as.length,tn=b.useMemo(()=>(_n==null?void 0:_n.agentDraft)??(Ut==null?void 0:Ut.draft)??(jn==null?void 0:jn.draft)??twe(Ft,(re==null?void 0:re.label)??"agent"),[Ft,re==null?void 0:re.label,jn==null?void 0:jn.draft,Ut==null?void 0:Ut.draft,_n==null?void 0:_n.agentDraft]),On=Ut?a?"":"当前账号没有新建 Agent 的权限。":l?re!=null&&re.runtimeId?re.region?Se?"正在检查 Runtime 更新能力…":He||(Fs?Fs.canUpdate?(Js=Fs.agent)!=null&&Js.appName?"":"Runtime 更新能力响应缺少智能体信息。":Fs.reason||"当前 Runtime 不支持原地更新。":"尚未完成 Runtime 更新能力检查。"):"Runtime 缺少地域信息,无法更新。":"仅支持更新已部署的云端智能体。":"当前账号没有管理 Agent 的权限。",Qn="aw-update-disabled-reason",Zs=Fs!=null&&Fs.agent?{runtimeId:Fs.runtime.runtimeId,name:Fs.runtime.name,region:Fs.runtime.region,appName:Fs.agent.appName,currentVersion:Fs.runtime.currentVersion}:jn==null?void 0:jn.deploymentTarget,Yi=b.useMemo(()=>{if(Ft)return Ft.tools;const H=(tn.builtinTools??[]).map(ae=>{var he;return((he=lu.find(Ie=>Ie.id===ae))==null?void 0:he.label)??ae});return Array.from(new Set([...tn.tools,...H,...(tn.customTools??[]).map(ae=>ae.name),...(tn.mcpTools??[]).map(ae=>ae.name)].filter(Boolean)))},[tn,Ft]),jr=b.useMemo(()=>Ft?Ft.skillsPreviewSupported?Ft.skills.map(H=>H.name):null:Array.from(new Set([...(tn.selectedSkills??[]).map(H=>H.name),...tn.skills].filter(Boolean))),[tn,Ft]),pi=b.useMemo(()=>{if(_n)return _n;if(Ut)return d.filter(H=>{var ae,he;return((ae=H.agentDraft)==null?void 0:ae.name)===Ut.draft.name||H.runtimeName===Ut.draft.name||!!((he=Ut.deploymentTarget)!=null&&he.runtimeId)&&H.runtimeId===Ut.deploymentTarget.runtimeId}).sort((H,ae)=>ae.startedAt-H.startedAt)[0];if(re)return d.filter(H=>!!re.runtimeId&&H.runtimeId===re.runtimeId||H.runtimeName===re.label).sort((H,ae)=>ae.startedAt-H.startedAt)[0]},[d,re,Ut,_n]),Sg=!!(f&&pi&&pi.id===f),Fx=!!(pi&&(pi.status!=="success"||Sg)),Ja=b.useMemo(()=>iwe(tn),[tn]),Jl=(re==null?void 0:re.currentVersion)??(R==null?void 0:R.currentVersion)??null,_g=Jl??(_n==null?void 0:_n.startedAt)??"unknown",bu=Ft?`runtime:${(re==null?void 0:re.runtimeId)??Ft.name}:v${_g}:${Ja}`:`draft:${(_n==null?void 0:_n.id)??(Ut==null?void 0:Ut.id)??(re==null?void 0:re.id)??Te}:${Ja}`;b.useEffect(()=>{if(!f)return;const H=d.find(he=>he.id===f),ae=H!=null&&H.runtimeId?rt.get(H.runtimeId):void 0;if(ae){$(""),j(ae.id),F("basic");return}j(""),$(""),F("basic")},[rt,d,f]),b.useEffect(()=>{if(!h){et.current="";return}const H=`${h}:${m}:${p}`;et.current!==H&&e.some(ae=>ae.id===h)&&(et.current=H,$(""),j(h),F(m),m==="evaluations"&&(ot(p),It("")))},[e,h,m,p]),b.useEffect(()=>{for(const H of te.slice(0,8)){if(!H.runtimeId)continue;const ae=H.region??"cn-beijing";pB(H.runtimeId,ae),JP(H.runtimeId,ae,H.runtimeApp??""),vy(H.runtimeId,ae,H.runtimeApp??"").then(he=>{const Ie=he.appName||H.app;Ie&&$S({runtimeId:H.runtimeId??"",region:ae,appName:Ie,pageSize:100})}).catch(()=>{})}},[te]),b.useEffect(()=>{!(re!=null&&re.runtimeId)||!Us||$S({runtimeId:re.runtimeId,region:re.region??"cn-beijing",appName:Us,pageSize:100})},[Us,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),b.useEffect(()=>{let H=!1;const ae=(re==null?void 0:re.runtimeId)??"",he=(re==null?void 0:re.region)??"cn-beijing",Ie=(re==null?void 0:re.runtimeApp)??"",Je=ae?ZP(ae,he,Ie):null;if(ie(Je),ge(!!Je||!v||!ae),!(!v||!ae))return vy(ae,he,Ie,{force:!0}).then(nt=>{H||ie(nt)}).catch(()=>{!H&&!Je&&ie(null)}).finally(()=>{H||ge(!0)}),()=>{H=!0}},[v,re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeApp,re==null?void 0:re.runtimeId]),b.useEffect(()=>{Ot.current+=1,me(null),pe(!1),ve(!1),Ze(""),_e("api-server")},[Na,D]);function Tg(){Ot.current+=1,me(null),pe(!1),ve(!1),Ze("")}function eo(H){H!==ye&&(Tg(),_e(H))}async function Ng(){if(Ce){Tg();return}const H=(re==null?void 0:re.runtimeId)??"",ae=(re==null?void 0:re.region)??"cn-beijing";if(!H)return;const he=Ot.current+1;Ot.current=he,ve(!0),Ze("");try{const Ie=await dB(H,ae);if(he!==Ot.current)return;me({requestKey:Na,value:Ie}),pe(!0)}catch(Ie){if(he!==Ot.current)return;me(null),pe(!1),Ze(Ie instanceof Error?Ie.message:"读取 Runtime API Key 失败。")}finally{he===Ot.current&&ve(!1)}}b.useEffect(()=>{let H=!1;const ae=(re==null?void 0:re.runtimeId)??"",he=(re==null?void 0:re.region)??"cn-beijing",Ie=ae?mB(ae,he):null;if(q(Ie),!!ae)return pk(ae,he,{force:!0}).then(Je=>{H||q(Je)}).catch(()=>{!H&&!Ie&&q(null)}),()=>{H=!0}},[re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),b.useEffect(()=>{let H=!1;const ae=(re==null?void 0:re.runtimeId)??"",he=(re==null?void 0:re.region)??"cn-beijing",Ie=`${he}:${ae}`;if(ne(""),D!=="integrations"||!ae){z(!1),ae||B(null);return}z(!0);const Je=mk(ae,he,{retryProbe:!0}).catch(nt=>{if(nt instanceof Er&&nt.unsupported)return null;throw nt});return Promise.all([Je,uB(ae,he,{retryProbe:!0})]).then(([nt,rn])=>{H||B({requestKey:Ie,apiApps:nt,a2a:rn})}).catch(nt=>{H||(B(null),ne(nt instanceof Error?nt.message:"探测集成方式失败。"))}).finally(()=>{H||z(!1)}),()=>{H=!0}},[W,D,re==null?void 0:re.currentVersion,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),b.useEffect(()=>{let H=!1;const ae=(re==null?void 0:re.runtimeId)??"",he=(re==null?void 0:re.region)??"cn-beijing",Ie=ae&&Us?BP({runtimeId:ae,region:he,appName:Us,pageSize:100}):null;if(Ds(Ie?lL(Ie):[]),Bn((Ie==null?void 0:Ie.sets)??[]),rs(""),D!=="evaluations"||!ae){cn(!1);return}if(v&&!Us){cn(!se);return}return cn(!Ie),P1({runtimeId:ae,region:he,appName:Us,pageSize:100},{force:!0}).then(Je=>{H||(Bn(Je.sets),Ds(lL(Je)))}).catch(Je=>{H||rs(Je instanceof Error?Je.message:String(Je))}).finally(()=>{H||cn(!1)}),()=>{H=!0}},[se,v,Ps,D,Us,Ft==null?void 0:Ft.appName,re==null?void 0:re.region,re==null?void 0:re.runtimeId]),b.useEffect(()=>{const H=new Set(Gn.map(ae=>ae.id));qn(ae=>{const he=new Set([...ae].filter(Ie=>H.has(Ie)));return he.size===ae.size?ae:he}),je(ae=>{const he=new Set([...ae].filter(Ie=>H.has(Ie)));return he.size===ae.size?ae:he}),Jt&&!H.has(Jt)&&fe("")},[Gn,Jt]),b.useEffect(()=>{vs(!1),qn(new Set),je(new Set),yn(""),fe("")},[re==null?void 0:re.runtimeId]),b.useEffect(()=>{const H=new Set(te.filter(ae=>ae.canDelete===!0).map(ae=>ae.id));Ue(ae=>{const he=new Set([...ae].filter(Ie=>H.has(Ie)));return he.size===ae.size?ae:he})},[te]),b.useEffect(()=>{const H=new Set(Bs.map(ae=>ae.id));Qt(ae=>{const he=new Set([...ae].filter(Ie=>H.has(Ie)));return he.size===ae.size?ae:he})},[Bs]);const bn=b.useMemo(()=>!g||!(re!=null&&re.runtimeId)||g.runtimeId!==re.runtimeId||Us&&g.agentName&&g.agentName!==Us?null:{...g,tag:g.kind==="good"?"Good case":"Bad case"},[g,re==null?void 0:re.runtimeId,Us]),yu=b.useMemo(()=>re!=null&&re.runtimeId?bn?[bn,...Gn.filter(H=>H.id!==bn.id&&(!H.messageId||H.messageId!==bn.messageId))]:Gn:Wve,[Gn,bn,re==null?void 0:re.runtimeId]),qo=yu.filter(H=>{if(H.kind!==bt)return!1;const ae=fn.trim().toLowerCase();return ae?[H.input,H.output,H.referenceOutput,H.comment,H.tag??"",H.sessionId,H.messageId,H.userId,H.evaluationSetName].join(" ").toLowerCase().includes(ae):!0}),Zf=qo.filter(H=>Un.has(H.id)),Ti=!!(re!=null&&re.runtimeId),kg=H=>{ot(H),It(""),yn("");const ae=yu.find(he=>he.kind===H);fe((ae==null?void 0:ae.id)??""),window.setTimeout(()=>{var he;(he=ht.current)==null||he.scrollIntoView({behavior:"smooth",block:"start"})},0)},Jf=H=>{yn(""),qn(ae=>{const he=new Set(ae);return he.has(H.id)?he.delete(H.id):he.add(H.id),he})},$x=()=>{yn(""),qn(new Set(qo.map(H=>H.id)))},Hx=()=>{yn(""),qn(new Set),vs(!1)},eh=H=>{je(ae=>{const he=new Set(ae);return he.has(H)?he.delete(H):he.add(H),he})},th=H=>{fe(H.id),yn(""),!(!H.sessionId||!H.messageId)&&(N==null||N(H))},xu=async H=>{if(!(re!=null&&re.runtimeId)||!Us||un||H.length===0)return;const ae=H.length===1?"确定删除这条反馈案例?原始聊天记录不会被删除。":`确定删除选中的 ${H.length} 条反馈案例?原始聊天记录不会被删除。`;if(!window.confirm(ae))return;const he=H.map(Je=>Je.id),Ie=new Set(he);ps(!0),yn("");try{await $P({runtimeId:re.runtimeId,region:re.region??"cn-beijing",appName:Us,itemIds:he});const Je=new Map;for(const nt of H)Je.set(nt.kind,(Je.get(nt.kind)??0)+1);Ds(nt=>nt.filter(rn=>!Ie.has(rn.id))),Bn(nt=>nt.map(rn=>({...rn,itemCount:Math.max(0,rn.itemCount-(Je.get(rn.kind)??0))}))),qn(nt=>new Set([...nt].filter(rn=>!Ie.has(rn)))),je(nt=>new Set([...nt].filter(rn=>!Ie.has(rn)))),Jt&&Ie.has(Jt)&&fe(""),H.length>1&&vs(!1),A==null||A(H)}catch(Je){yn(Je instanceof Error?Je.message:String(Je))}finally{ps(!1)}},Ag=H=>{In(ae=>ae.map(he=>he.id===H.id?H:he))},nh=()=>{const H=new Set(e.map(Ie=>Ie.id)),ae=n.filter(Ie=>H.has(Ie)),he=new Set(ae);return[...ae,...e.filter(Ie=>!he.has(Ie.id)).map(Ie=>Ie.id)]},to=(H,ae,he)=>{if(!x||H===ae)return;const Ie=nh().filter(rn=>rn!==H),Je=Ie.indexOf(ae),nt=Je<0?Ie.length:he==="after"?Je+1:Je;Ie.splice(nt,0,H),x(Ie)},Pt=(H,ae)=>{if(!Et||Et===ae)return;const he=H.currentTarget.getBoundingClientRect();qt(ae),vt(H.clientY>he.top+he.height/2?"after":"before")},sh=(H,ae)=>{if(!x)return;const he=nh(),Ie=he.indexOf(H),Je=Math.max(0,Math.min(he.length-1,Ie+ae));Ie<0||Ie===Je||(he.splice(Ie,1),he.splice(Je,0,H),x(he))},Cg=H=>{H.canDelete===!0&&(Yt(""),Ue(ae=>{const he=new Set(ae);return he.has(H.id)?he.delete(H.id):he.add(H.id),he}))},zx=H=>{Yt(""),Qt(ae=>{const he=new Set(ae);return he.has(H.id)?he.delete(H.id):he.add(H.id),he})},ih=()=>{Yt(""),Ue(new Set(pt.map(H=>H.id))),Qt(new Set(Bs.map(H=>H.id)))},rh=()=>{Yt(""),Ue(new Set),Qt(new Set),Tt(!1)},Vx=()=>{if(Hs===0||zt)return;const H=Xn.length,ae=as.length;Yt(""),Bt({kind:"selection",title:H===1&&ae===0?"删除 Agent?":H===0&&ae===1?"删除草稿?":"删除所选项目?",description:H===1&&ae===0?`"${Xn[0].label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`:H===0&&ae===1?`"${as[0].draft.name||"未命名 Agent"}" 将从本地草稿中删除。`:`将删除选中的 ${Hs} 个项目。${H>0?`${H} 个云端 Runtime 将被永久删除,此操作不可撤销。`:"草稿删除后无法恢复。"}`,confirmLabel:H===0&&ae===1?"删除草稿":"删除所选",agents:Xn,drafts:as})},Gx=async()=>{if(!(!jt||zt)){Zt(!0),Yt("");try{if(jt.kind==="selection"){const{agents:H,drafts:ae}=jt;if(H.length>0){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E(H)}ae.length>0&&(w==null||w(ae)),Ue(new Set),Qt(new Set),Tt(!1),H.some(he=>he.id===k)&&j(""),ae.some(he=>he.id===P)&&$("")}else if(jt.kind==="agent"){if(!E)throw new Error("当前页面不支持删除已部署 Agent。");await E([jt.agent]),k===jt.agent.id&&j("")}else{if(!w)throw new Error("当前页面不支持删除草稿。");w([jt.draft]),P===jt.draft.id&&$("")}Bt(null)}catch(H){Yt(H instanceof Error?H.message:String(H))}finally{Zt(!1)}}},ah=H=>{!E||H.canDelete!==!0||zt||(Yt(""),Bt({kind:"agent",title:"删除 Agent?",description:`"${H.label}" 对应的云端 Runtime 将被永久删除,此操作不可撤销。`,confirmLabel:"删除 Agent",agent:H}))},ri=H=>{if(!w||zt)return;const ae=H.draft.name||"未命名 Agent";Yt(""),Bt({kind:"draft",title:"删除草稿?",description:`"${ae}" 将从本地草稿中删除。`,confirmLabel:"删除草稿",draft:H})},Ig=()=>{const H=`eval-${Date.now()}`,ae={id:H,name:`新评测组 ${en.length+1}`,agentIds:[],caseSet:"核心回归集",evaluator:"综合质量评估器",metrics:["回答质量"],concurrency:"4",history:[]};In(he=>[ae,...he]),Nt(H)},As=H=>{Ag({...H,history:[{id:`run-${Date.now()}`,createdAt:"刚刚",score:86+H.history.length%7,status:"completed"},...H.history]})};return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:`aw-root${v?" is-detail-only":""}`,children:[o.jsxs("nav",{className:"aw-view-tabs","aria-label":"智能体工作台",children:[o.jsx("button",{type:"button",className:L==="library"?"is-active":"","aria-pressed":L==="library",onClick:()=>{G("library"),Ye("")},children:"智能体库"}),o.jsx("button",{type:"button",className:L==="evaluation"?"is-active":"","aria-pressed":L==="evaluation",onClick:()=>{G("evaluation"),Ye("")},children:"评测"})]}),o.jsxs("div",{className:"aw-workspace-frame",children:[o.jsxs("div",{className:"aw-workspace","aria-hidden":L==="evaluation"||void 0,ref:H=>{H==null||H.toggleAttribute("inert",L==="evaluation")},children:[o.jsxs("aside",{className:"aw-sidebar","aria-label":L==="library"?"智能体列表":"评测组列表",children:[o.jsxs("label",{className:"aw-search",children:[o.jsx(gy,{"aria-hidden":!0}),o.jsx("input",{value:Pe,onChange:H=>Ye(H.currentTarget.value),placeholder:L==="library"?"搜索智能体":"搜索评测组","aria-label":L==="library"?"搜索智能体":"搜索评测组"})]}),o.jsxs("button",{type:"button",className:"aw-create-card",onClick:L==="library"?C:Ig,disabled:L==="library"&&!a,children:[o.jsx(vi,{"aria-hidden":!0}),o.jsx("span",{children:L==="library"?"新建 Agent":"新建评测组"})]}),L==="library"&&(E||w)&&o.jsx("div",{className:`aw-selection-toolbar${Xe?" is-active":""}`,children:Xe?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"aw-selection-count",children:["已选 ",Hs," 个"]}),o.jsx("button",{type:"button",onClick:ih,disabled:$s===0||zt,children:"全选"}),o.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void Vx(),disabled:Hs===0||zt,children:zt?"删除中…":"删除所选"}),o.jsx("button",{type:"button",onClick:rh,disabled:zt,children:"取消"})]}):o.jsx("button",{type:"button",onClick:()=>{Yt(""),Tt(!0)},disabled:$s===0,children:"选择"})}),L==="library"&&Rt&&o.jsx("div",{className:"aw-delete-error",role:"alert",children:Rt}),o.jsx("div",{className:"aw-agent-list",children:L==="evaluation"?Di.length===0?o.jsx("div",{className:"aw-list-empty",children:"没有匹配的评测组"}):Di.map(H=>o.jsxs("button",{type:"button",className:`aw-agent-item${H.id===Rn?" is-active":""}`,onClick:()=>Nt(H.id),children:[o.jsxs("span",{className:"aw-agent-copy aw-eval-group-copy",children:[o.jsx("strong",{children:H.name}),o.jsxs("small",{children:[H.agentIds.length," 个智能体 · ",H.history.length," 次运行"]})]}),o.jsx(vm,{"aria-hidden":!0})]},H.id)):c&&te.length===0&&Bs.length===0?o.jsx("div",{className:"aw-list-empty",children:"正在读取云端智能体…"}):u&&te.length===0&&Bs.length===0?o.jsxs("div",{className:"aw-list-empty aw-list-error",children:[o.jsx("span",{children:u}),y&&o.jsx("button",{type:"button",onClick:y,children:"重试"})]}):te.length===0&&Bs.length===0?o.jsx("div",{className:"aw-list-empty",children:"没有匹配的智能体"}):o.jsxs(o.Fragment,{children:[Bs.map(H=>{const ae=d.filter(Ie=>{var Je,nt;return((Je=Ie.agentDraft)==null?void 0:Je.name)===H.draft.name||Ie.runtimeName===H.draft.name||!!((nt=H.deploymentTarget)!=null&&nt.runtimeId)&&Ie.runtimeId===H.deploymentTarget.runtimeId}).sort((Ie,Je)=>Je.startedAt-Ie.startedAt)[0],he=St.has(H.id);return o.jsxs("button",{type:"button",className:["aw-agent-item",Xe?"is-selecting":"",he?"is-selected-for-delete":"",H.id===P?"is-active":""].filter(Boolean).join(" "),"aria-pressed":Xe?he:void 0,onClick:()=>{if(Xe){zx(H);return}j(""),$(H.id),F("basic")},children:[Xe&&o.jsx("span",{className:`aw-select-marker${he?" is-checked":""}`,"aria-hidden":"true"}),o.jsxs("span",{className:"aw-agent-copy",children:[o.jsxs("span",{className:"aw-agent-name-row",children:[o.jsx("strong",{children:H.draft.name||"未命名 Agent"}),o.jsx("span",{className:`aw-draft-badge${(ae==null?void 0:ae.status)==="running"?" is-deploying":""}`,children:(ae==null?void 0:ae.status)==="running"?"部署中":"草稿"})]}),o.jsx("small",{children:H.deploymentTarget?"待更新":"尚未发布"})]}),o.jsx(vm,{"aria-hidden":!0})]},H.id)}),te.map(H=>{const ae=H.runtimeId?Yn.get(H.runtimeId):void 0,he=H.runtimeId?ws.get(H.runtimeId):void 0,Ie=we.has(H.id),Je=H.canDelete===!0,nt=(ae==null?void 0:ae.status)==="running"?{label:"部署中",className:" is-deploying"}:(ae==null?void 0:ae.status)==="error"?{label:"失败",className:" is-error"}:(ae==null?void 0:ae.status)==="cancelled"?{label:"已取消",className:" is-muted"}:he?{label:"待更新",className:""}:null,rn=(ae==null?void 0:ae.status)==="running"?"正在更新部署":he?"待更新":H.remote?H.host||"远程智能体":"本地智能体",ai=["aw-agent-item","aw-agent-item--sortable",H.id===k?"is-active":"",Xe?"is-selecting":"",Ie?"is-selected-for-delete":"",Xe&&!Je?"is-selection-disabled":"",H.id===Et?"is-dragging":"",H.id===$e&&H.id!==Et?`is-drop-target is-drop-${it}`:""].filter(Boolean).join(" ");return o.jsxs("button",{type:"button",draggable:!!x&&!Xe,className:ai,"aria-pressed":Xe?Ie:void 0,"aria-keyshortcuts":x?"Alt+ArrowUp Alt+ArrowDown":void 0,onDragStart:hn=>{x&&(tt.current=!0,yt(H.id),hn.dataTransfer.effectAllowed="move",hn.dataTransfer.setData("text/plain",H.id))},onDragEnter:hn=>{Pt(hn,H.id)},onDragOver:hn=>{!Et||Et===H.id||(hn.preventDefault(),hn.dataTransfer.dropEffect="move",Pt(hn,H.id))},onDragLeave:hn=>{const $n=hn.relatedTarget;$n instanceof Node&&hn.currentTarget.contains($n)||$e===H.id&&qt("")},onDrop:hn=>{hn.preventDefault();const $n=hn.dataTransfer.getData("text/plain")||Et;to($n,H.id,it),yt(""),qt(""),vt("before")},onDragEnd:()=>{yt(""),qt(""),vt("before"),window.setTimeout(()=>{tt.current=!1},0)},onKeyDown:hn=>{hn.altKey&&(hn.key==="ArrowUp"?(hn.preventDefault(),sh(H.id,-1)):hn.key==="ArrowDown"&&(hn.preventDefault(),sh(H.id,1)))},onClick:hn=>{if(Xe){hn.preventDefault(),Cg(H);return}if(tt.current){hn.preventDefault(),tt.current=!1;return}$(""),j(H.id),F("basic"),T(H.id)},children:[Xe&&o.jsx("span",{className:`aw-select-marker${Ie?" is-checked":""}`,"aria-hidden":"true"}),o.jsxs("span",{className:"aw-agent-copy",children:[o.jsxs("span",{className:"aw-agent-name-row",children:[o.jsx("strong",{children:H.label}),H.currentVersion!=null&&o.jsxs("span",{className:"aw-version-badge",children:["v",H.currentVersion]}),nt&&o.jsx("span",{className:`aw-draft-badge${nt.className}`,children:nt.label})]}),o.jsx("small",{children:rn})]}),o.jsx(vm,{"aria-hidden":!0})]},H.id)})]})}),o.jsxs("div",{className:"aw-list-count",children:["共 ",L==="library"?e.length+Go:en.length," 个"]})]}),L==="evaluation"&&Qe?o.jsx(fwe,{group:Qe,agents:e,cases:yu,onChange:Ag,onRun:As}):L==="evaluation"?o.jsx("main",{className:"aw-main aw-empty-selection",children:o.jsx("p",{children:"未选择评测组"})}):!re&&!Ut&&!_n?o.jsx("main",{className:"aw-main aw-empty-selection",children:o.jsx("p",{children:"未选择智能体"})}):o.jsxs("main",{className:"aw-main",children:[re&&!Ft&&r&&o.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:o.jsxs("div",{className:"aw-detail-loading-card",children:[o.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),o.jsxs("span",{children:[o.jsx("strong",{children:"正在加载智能体"}),o.jsx("small",{children:"正在读取配置与运行信息…"})]})]})}),D==="integrations"&&ee&&o.jsx("div",{className:"aw-detail-loading",role:"status","aria-live":"polite",children:o.jsxs("div",{className:"aw-detail-loading-card",children:[o.jsx("span",{className:"loading-gap-spinner","aria-hidden":"true"}),o.jsxs("span",{children:[o.jsx("strong",{children:"正在探测接入方式"}),o.jsx("small",{children:"正在确认 API Server 与 A2A…"})]})]})}),o.jsxs("div",{className:"aw-agent-head",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"aw-agent-title-row",children:[o.jsx("h2",{children:Te}),Jl!=null&&o.jsxs("span",{children:["v",Jl]}),Ut&&o.jsx("span",{children:"草稿"}),jn&&o.jsx("span",{children:"待更新"}),!re&&!Ut&&_n&&o.jsx("span",{children:_n.label})]}),o.jsx("p",{children:tn.description||(r||v&&!se?"正在读取智能体信息…":"暂无描述")})]}),(Ut||jn||(re==null?void 0:re.canDelete))&&o.jsxs("div",{className:"aw-head-actions",children:[(Ut||jn)&&o.jsxs("button",{type:"button",className:"aw-head-delete aw-head-delete--draft",onClick:()=>{const H=Ut??jn;H&&ri(H)},disabled:zt,"aria-label":"删除草稿",title:"删除草稿",children:[o.jsx(Po,{"aria-hidden":!0}),o.jsx("span",{children:"删除草稿"})]}),(re==null?void 0:re.canDelete)&&o.jsxs("button",{type:"button",className:"aw-head-delete",onClick:()=>void ah(re),disabled:zt,"aria-label":"删除 Agent",title:"删除 Agent",children:[o.jsx(Po,{"aria-hidden":!0}),o.jsx("span",{children:zt?"删除中…":"删除 Agent"})]})]})]}),pi&&Fx&&o.jsx("div",{className:"aw-detail-deployment",children:o.jsx(cwe,{task:pi})}),o.jsx("nav",{className:"aw-agent-tabs","aria-label":"智能体详情",role:"tablist",children:ju.map(H=>o.jsx("button",{type:"button",id:`agent-${H.id}-tab`,className:D===H.id?"is-active":"",role:"tab","aria-selected":D===H.id,"aria-controls":`agent-${H.id}-panel`,tabIndex:D===H.id?0:-1,onClick:()=>F(H.id),onKeyDown:ae=>{var nt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(ae.key))return;ae.preventDefault();const he=ju.findIndex(rn=>rn.id===H.id),Ie=ae.key==="Home"?0:ae.key==="End"?ju.length-1:(he+(ae.key==="ArrowRight"?1:-1)+ju.length)%ju.length,Je=ju[Ie];F(Je.id),(nt=document.getElementById(`agent-${Je.id}-tab`))==null||nt.focus()},children:H.label},H.id))}),o.jsxs("div",{className:"aw-content",id:`agent-${D}-panel`,role:"tabpanel","aria-labelledby":`agent-${D}-tab`,children:[D==="basic"&&o.jsxs("div",{className:"aw-basic-stack",children:[o.jsxs("section",{className:"aw-deployment-panel aw-settings-card",children:[o.jsx("div",{className:"aw-section-head",children:o.jsxs("div",{children:[o.jsx("h3",{children:"部署配置"}),o.jsx("p",{children:"配置目标环境与网络访问方式。"})]})}),o.jsxs("dl",{className:"aw-readonly-config",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"运行状态"}),o.jsxs("dd",{className:(R==null?void 0:R.status.toLowerCase())==="ready"?"is-ready":void 0,children:[(R==null?void 0:R.status.toLowerCase())==="ready"&&o.jsx("span",{className:"aw-status-dot"}),(R==null?void 0:R.status)||"读取中…"]})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"部署区域"}),o.jsx("dd",{children:(R==null?void 0:R.region)||(re==null?void 0:re.region)||(pi==null?void 0:pi.region)||"暂未提供"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"网络访问"}),o.jsx("dd",{children:R!=null&&R.networkTypes.length?R.networkTypes.join(" / "):"暂未提供"})]})]})]}),o.jsxs("section",{className:"aw-canvas-card",children:[o.jsx("div",{className:"aw-card-head",children:o.jsx("strong",{children:"执行流程"})}),o.jsx("div",{className:"aw-canvas",children:o.jsx(yp,{draft:tn,direction:"horizontal",selectedPath:[],onSelect:()=>{},onAdd:()=>{},onInsert:()=>{},onDelete:()=>{},readOnly:!0,interactivePreview:!0},bu)})]}),o.jsxs("section",{className:"aw-details-card",children:[o.jsx("div",{className:"aw-card-head",children:o.jsx("strong",{children:"详细信息"})}),o.jsxs("dl",{className:"aw-facts",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"模型"}),o.jsx("dd",{children:(Ft==null?void 0:Ft.model)||tn.modelName||"暂未提供"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"智能体数量"}),o.jsx("dd",{children:Ft!=null&&Ft.graph?FF(Ft.graph):$F(tn)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"工具"}),o.jsx("dd",{className:"aw-fact-badges",children:Yi.length?Yi.map(H=>o.jsx("span",{children:H},H)):"暂无"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"技能"}),o.jsx("dd",{className:"aw-fact-badges",children:jr===null?"暂不支持预览":jr.length?jr.map(H=>o.jsx("span",{children:H},H)):"暂无"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:Jl!=null?`v${Jl}`:"暂未提供"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:Ut?"草稿":(pi==null?void 0:pi.status)==="error"?"部署失败":(pi==null?void 0:pi.status)==="cancelled"?"已取消":jn?"待更新":o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"aw-status-dot"}),"可用"]})})]})]})]}),o.jsxs("section",{className:"aw-option-panel aw-settings-card",children:[o.jsx("div",{className:"aw-section-head",children:o.jsxs("div",{children:[o.jsx("h3",{children:"优化项"}),o.jsx("p",{children:"针对运行质量开启专项优化策略。"})]})}),o.jsxs("div",{className:"aw-option-content",children:[o.jsx("div",{className:"aw-option-list","aria-disabled":"true",children:[["上下文优化","压缩冗余信息,保留对当前任务最有价值的上下文。"],["幻觉抑制","在证据不足时降低确定性表达并主动请求补充信息。"],["工具调用优化","减少重复调用,并优先复用已经获得的结果。"]].map(([H,ae])=>o.jsxs("label",{children:[o.jsx("input",{type:"checkbox",disabled:!0}),o.jsxs("span",{children:[o.jsx("strong",{children:H}),o.jsx("small",{children:ae})]})]},H))}),o.jsx("div",{className:"aw-option-glass",role:"status",children:o.jsx("span",{children:"暂未开放"})})]})]})]}),D==="integrations"&&o.jsxs("div",{className:"aw-integration-stack",children:[o.jsxs("div",{className:"aw-integration-intro",children:[o.jsx("h3",{children:"接入方式"}),o.jsx("p",{children:"仅展示当前 Runtime 可确认的公开协议与地址。"})]}),K&&o.jsxs("div",{className:"aw-integration-error",role:"alert",children:[o.jsx("span",{children:K}),o.jsx("button",{type:"button",onClick:()=>de(H=>H+1),children:"重试"})]}),!K&&o.jsxs("div",{className:"aw-integration-body",children:[o.jsxs("div",{className:`aw-integration-protocol-tabs${ye==="a2a"?" is-a2a":""}`,role:"tablist","aria-label":"接入协议",children:[o.jsx("span",{className:"aw-integration-protocol-slider","aria-hidden":"true"}),Oh.map((H,ae)=>o.jsx("button",{type:"button",id:`integration-${H.id}-tab`,role:"tab","aria-selected":ye===H.id,"aria-controls":`integration-${H.id}-panel`,tabIndex:ye===H.id?0:-1,onClick:()=>eo(H.id),onKeyDown:he=>{var nt;if(!["ArrowLeft","ArrowRight","Home","End"].includes(he.key))return;he.preventDefault();const Ie=he.key==="Home"?0:he.key==="End"?Oh.length-1:(ae+(he.key==="ArrowRight"?1:-1)+Oh.length)%Oh.length,Je=Oh[Ie];eo(Je.id),(nt=document.getElementById(`integration-${Je.id}-tab`))==null||nt.focus()},children:H.label},H.id))]}),ye==="api-server"?o.jsx(oL,{protocol:"api-server",title:"API Server",available:Rr,fields:[{label:"Agent",value:Rr?((Eu=Fn==null?void 0:Fn.apiApps)==null?void 0:Eu.join("、"))??"":""},{label:"发现接口",value:Rr?qv(Pi,"/list-apps"):""},{label:"调用接口",value:Rr?qv(Pi,"/run_sse"):""},{label:"鉴权方式",value:Rr?rL(R==null?void 0:R.authType):""},{label:"API Key",value:o.jsx(aL,{available:Rr,authType:R==null?void 0:R.authType,value:Ke,visible:Ce&&!!Ke,loading:oe,error:xe,onToggle:()=>void Ng()})}],example:Rr?Zve(Pi,Ss,R==null?void 0:R.authType):""}):o.jsx(oL,{protocol:"a2a",title:"A2A",available:dr,fields:[{label:"Agent",value:((vu=Fn==null?void 0:Fn.a2a)==null?void 0:vu.name)??""},{label:"Agent Card",value:dr?qv(Pi,"/.well-known/agent-card.json"):""},{label:"调用地址",value:Ko},{label:"鉴权方式",value:dr?rL(R==null?void 0:R.authType):""},{label:"API Key",value:o.jsx(aL,{available:dr,authType:R==null?void 0:R.authType,value:Ke,visible:Ce&&!!Ke,loading:oe,error:xe,onToggle:()=>void Ng()})}],example:dr?Jve(Ko,R==null?void 0:R.authType):""})]})]}),D==="evaluations"&&o.jsxs("section",{className:"aw-cases",children:[re!=null&&re.runtimeId?o.jsx("div",{className:"aw-case-summary",children:["good","bad"].map(H=>{const ae=swe(mi,H),he=yu.filter(Je=>Je.kind===H).length,Ie=bn?he:(ae==null?void 0:ae.itemCount)??he;return o.jsxs("button",{type:"button",onClick:()=>kg(H),children:[o.jsx("strong",{children:Ie}),o.jsx("span",{children:H==="good"?"Good cases":"Bad cases"})]},H)})}):o.jsx("div",{className:"aw-case-note",children:"只有已部署到 AgentKit Runtime 的 Agent 会同步展示用户反馈评测集。"}),o.jsx("div",{className:"aw-case-filters",children:["good","bad"].map(H=>o.jsx("button",{type:"button",className:bt===H?"is-active":"","aria-pressed":bt===H,onClick:()=>ot(H),children:H==="good"?"Good case":"Bad case"},H))}),o.jsxs("label",{className:"aw-case-search",children:[o.jsx(gy,{"aria-hidden":!0}),o.jsx("input",{type:"search",value:fn,onChange:H=>It(H.currentTarget.value),placeholder:"搜索用户输入、期望行为或标签","aria-label":"搜索评测案例"})]}),Ti&&o.jsx("div",{className:`aw-case-toolbar${ms?" is-active":""}`,children:ms?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"aw-selection-count",children:["已选 ",Zf.length," 条"]}),o.jsx("button",{type:"button",onClick:$x,disabled:qo.length===0||un,children:"全选当前"}),o.jsx("button",{type:"button",className:"aw-selection-danger",onClick:()=>void xu(Zf),disabled:Zf.length===0||un,children:un?"删除中…":"删除所选"}),o.jsx("button",{type:"button",onClick:Hx,disabled:un,children:"取消"})]}):o.jsx("button",{type:"button",onClick:()=>{yn(""),vs(!0)},disabled:qo.length===0||un,children:"选择案例"})}),ks&&o.jsx("div",{className:"aw-delete-error",role:"alert",children:ks}),o.jsx("div",{ref:ht,children:o.jsx(dwe,{cases:qo,loading:Kn&&qo.length===0,error:Sn,runtimeBacked:!!(re!=null&&re.runtimeId),selectionMode:ms,selectedCaseIds:Un,focusedCaseId:Jt,expandedCaseIds:Me,deleting:un,canDelete:Ti,onOpenCase:th,onToggleCase:Jf,onToggleExpanded:eh,onDeleteCase:H=>void xu([H]),onRetry:()=>Qs(H=>H+1)})})]})]}),D==="basic"&&(re||Ut)&&o.jsxs("div",{className:"aw-basic-actions",children:[re&&o.jsxs("button",{type:"button",className:"aw-talk studio-update-action",onClick:()=>S==null?void 0:S(re),children:[o.jsx(lJ,{"aria-hidden":!0}),o.jsx("span",{children:"去对话"})]}),o.jsxs("span",{className:`aw-update-wrap${On?" is-disabled":""}`,tabIndex:On?0:void 0,"aria-describedby":On?Qn:void 0,children:[o.jsx("button",{type:"button",className:"aw-update studio-update-action",disabled:!!On,"aria-busy":Se||void 0,"aria-describedby":On?Qn:void 0,onClick:()=>{var H;return Ut?O==null?void 0:O(Ut):jn?O==null?void 0:O({...jn,deploymentTarget:Zs}):Fs?I(((H=Fs.agent)==null?void 0:H.draft)??tn,Fs):void 0},children:Se?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"loading-gap-spinner aw-update-spinner","aria-hidden":"true"}),o.jsx("span",{children:"检测中"})]}):Ut||jn?"继续编辑":"更新"}),On&&o.jsx("span",{id:Qn,className:"aw-update-disabled-reason",role:"tooltip",children:On})]})]})]})]}),L==="evaluation"&&o.jsx("div",{className:"aw-evaluation-glass",role:"status",children:o.jsx("span",{children:"敬请期待"})})]})]}),jt&&o.jsx(b2,{variant:"danger",title:jt.title,description:jt.description,confirmLabel:zt?"删除中...":jt.confirmLabel,closeLabel:"关闭删除确认",busy:zt,onCancel:()=>Bt(null),onConfirm:()=>void Gx()})]})}function dwe({cases:e,loading:t=!1,error:n="",runtimeBacked:s=!1,selectionMode:i=!1,selectedCaseIds:r,focusedCaseId:a="",expandedCaseIds:l,deleting:c=!1,canDelete:u=!1,onOpenCase:d,onToggleCase:f,onToggleExpanded:h,onDeleteCase:m,onRetry:p}){return o.jsxs("div",{className:"aw-case-table",children:[o.jsxs("div",{className:"aw-case-row aw-case-row-head",children:[o.jsx("span",{children:"用户输入"}),o.jsx("span",{children:"Agent 输出"}),o.jsx("span",{children:"来源"})]}),t?o.jsx("div",{className:"aw-case-empty",children:"正在读取 AgentKit 评测集…"}):n?o.jsxs("div",{className:"aw-case-empty aw-case-error",children:[o.jsx("span",{children:n}),p&&o.jsx("button",{type:"button",onClick:p,children:"重试"})]}):e.length===0?o.jsx("div",{className:"aw-case-empty",children:s?"暂无用户反馈案例":"没有匹配的案例"}):e.map(g=>{const v=g.id.startsWith("local:"),y=(r==null?void 0:r.has(g.id))??!1,x=(l==null?void 0:l.has(g.id))??!1,w=g.output.length+g.referenceOutput.length>220,T=u&&!v;return o.jsxs("div",{className:["aw-case-row",a===g.id?"is-focused":"",i?"is-selecting":"",y?"is-selected-for-delete":""].filter(Boolean).join(" "),role:"row",tabIndex:0,"aria-selected":i?y:void 0,onClick:()=>{if(i){T&&(f==null||f(g));return}d==null||d(g)},onKeyDown:S=>{S.target===S.currentTarget&&(S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),i?T&&(f==null||f(g)):d==null||d(g)))},children:[o.jsxs("div",{className:"aw-case-text",children:[o.jsxs("span",{className:"aw-case-title-line",children:[i&&T&&o.jsx("span",{className:`aw-select-marker${y?" is-checked":""}`,"aria-hidden":"true"}),o.jsx("strong",{title:g.input,children:g.input||"无用户输入"})]}),g.comment&&o.jsxs("small",{title:g.comment,children:["备注:",g.comment]})]}),o.jsxs("div",{className:`aw-case-output${x?" is-expanded":""}`,children:[o.jsx("p",{className:"aw-case-output-preview",title:g.output,children:g.output||"无可见回复"}),g.referenceOutput&&o.jsxs("small",{className:"aw-case-output-preview",title:g.referenceOutput,children:["Reference: ",g.referenceOutput]}),w&&o.jsx("button",{type:"button",className:"aw-case-expand",onClick:S=>{S.stopPropagation(),h==null||h(g.id)},children:x?"收起":"展开"})]}),o.jsxs("div",{className:"aw-case-meta",children:[o.jsxs("span",{className:"aw-case-meta-top",children:[o.jsx("span",{className:`aw-case-tag is-${g.kind}`,children:g.kind==="good"?"Good case":"Bad case"}),T&&o.jsx("button",{type:"button",className:"aw-case-delete",onClick:S=>{S.stopPropagation(),m==null||m(g)},disabled:c,title:"删除反馈案例","aria-label":"删除反馈案例",children:o.jsx(Po,{"aria-hidden":!0})})]}),o.jsx("small",{children:nwe(g.createdAt)}),(g.userId||g.sessionId)&&o.jsx("small",{title:[g.userId,g.sessionId].filter(Boolean).join(" · "),children:[g.userId,g.sessionId].filter(Boolean).join(" · ")})]})]},g.id)})]})}function fwe({group:e,agents:t,cases:n,onChange:s,onRun:i}){const[r,a]=b.useState("config"),l=e.agentIds.map(f=>t.find(h=>h.id===f)).filter(f=>!!f),c=["回答质量","事实准确性","工具调用","响应效率"];b.useEffect(()=>a("config"),[e.id]);const u=f=>{s({...e,agentIds:e.agentIds.includes(f)?e.agentIds.filter(h=>h!==f):[...e.agentIds,f]})},d=f=>{s({...e,metrics:e.metrics.includes(f)?e.metrics.filter(h=>h!==f):[...e.metrics,f]})};return o.jsxs("main",{className:"aw-main",children:[o.jsxs("div",{className:"aw-eval-head",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"aw-agent-title-row",children:[o.jsx("h2",{children:e.name}),o.jsx("span",{children:"评测组"})]}),o.jsxs("p",{children:[l.length," 个参评智能体 · ",e.caseSet," · ",e.history.length," 次运行"]})]}),o.jsxs("button",{type:"button",className:"aw-run",onClick:()=>i(e),disabled:!0,children:[o.jsx(ZZ,{"aria-hidden":!0}),"开始评测"]})]}),o.jsxs("nav",{className:"aw-agent-tabs","aria-label":"评测组详情",children:[o.jsx("button",{type:"button",className:r==="config"?"is-active":"","aria-pressed":r==="config",onClick:()=>a("config"),disabled:!0,children:"评测配置"}),o.jsx("button",{type:"button",className:r==="history"?"is-active":"","aria-pressed":r==="history",onClick:()=>a("history"),disabled:!0,children:"历史结果"})]}),o.jsx("div",{className:"aw-content",children:r==="config"?o.jsxs("div",{className:"aw-eval-setup",children:[o.jsxs("section",{className:"aw-eval-block",children:[o.jsxs("div",{className:"aw-card-head",children:[o.jsx("strong",{children:"参评智能体"}),o.jsxs("span",{children:["已选择 ",l.length," 个"]})]}),o.jsx("div",{className:"aw-eval-agent-grid",children:t.map(f=>o.jsxs("label",{children:[o.jsx("input",{type:"checkbox",checked:e.agentIds.includes(f.id),onChange:()=>u(f.id)}),o.jsxs("span",{children:[o.jsx("strong",{children:f.label}),o.jsx("small",{children:f.remote?"远程":"本地"})]})]},f.id))})]}),o.jsxs("div",{className:"aw-eval-setting-grid",children:[o.jsxs("section",{className:"aw-eval-block",children:[o.jsx("div",{className:"aw-card-head",children:o.jsx("strong",{children:"评测资源"})}),o.jsxs("div",{className:"aw-eval-fields",children:[o.jsxs("label",{children:[o.jsx("span",{children:"评测集"}),o.jsxs("select",{value:e.caseSet,onChange:f=>s({...e,caseSet:f.currentTarget.value}),children:[o.jsx("option",{children:"核心回归集"}),o.jsx("option",{children:"安全边界集"}),o.jsx("option",{children:"工具调用集"})]}),o.jsxs("small",{children:[n.length," 条案例"]})]}),o.jsxs("label",{children:[o.jsx("span",{children:"评估器"}),o.jsxs("select",{value:e.evaluator,onChange:f=>s({...e,evaluator:f.currentTarget.value}),children:[o.jsx("option",{children:"综合质量评估器"}),o.jsx("option",{children:"事实一致性评估器"}),o.jsx("option",{children:"工具调用评估器"})]})]}),o.jsxs("label",{children:[o.jsx("span",{children:"并发数"}),o.jsxs("select",{value:e.concurrency,onChange:f=>s({...e,concurrency:f.currentTarget.value}),children:[o.jsx("option",{value:"2",children:"2"}),o.jsx("option",{value:"4",children:"4"}),o.jsx("option",{value:"8",children:"8"})]})]})]})]}),o.jsxs("section",{className:"aw-eval-block",children:[o.jsxs("div",{className:"aw-card-head",children:[o.jsx("strong",{children:"评测指标"}),o.jsxs("span",{children:["已选择 ",e.metrics.length," 项"]})]}),o.jsx("div",{className:"aw-metric-list",children:c.map(f=>o.jsxs("label",{children:[o.jsx("input",{type:"checkbox",checked:e.metrics.includes(f),onChange:()=>d(f)}),o.jsx("span",{children:f})]},f))})]})]})]}):o.jsxs("section",{className:"aw-eval-history",children:[o.jsx("div",{className:"aw-section-head",children:o.jsxs("div",{children:[o.jsx("h3",{children:"历史结果"}),o.jsx("p",{children:"查看该评测组历次运行的总体表现。"})]})}),e.history.length===0?o.jsxs("div",{className:"aw-results-empty",children:[o.jsx("strong",{children:"暂无历史结果"}),o.jsx("span",{children:"完成首次评测后,结果会出现在这里。"})]}):o.jsx("div",{className:"aw-history-list",children:e.history.map((f,h)=>o.jsxs("button",{type:"button",children:[o.jsxs("span",{children:[o.jsxs("strong",{children:["评测运行 #",e.history.length-h]}),o.jsxs("small",{children:[f.createdAt," · ",l.length," 个智能体"]})]}),o.jsxs("span",{className:"aw-history-score",children:[o.jsx("strong",{children:f.score}),o.jsx("small",{children:"综合得分"})]}),o.jsxs("span",{className:"aw-complete",children:[o.jsx(Ya,{}),"已完成"]}),o.jsx(vm,{"aria-hidden":!0})]},f.id))})]})})]})}function VF(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const n=t.offsetWidth;let s=.985;n<=80?s=.96:n<=150?s=.97:n<=220?s=.98:n>600&&(s=.995),t.style.setProperty("--scale",s.toString())},U_=(e,t)=>{const n=()=>{const a=setTimeout(e);return()=>{clearTimeout(a)}};if(!bwe||typeof window.requestAnimationFrame!="function"||KF&&document.visibilityState==="hidden")return n();let i=2,r=window.requestAnimationFrame(function a(){i-=1,i===0?e():r=window.requestAnimationFrame(a)});return()=>{typeof window.cancelAnimationFrame=="function"&&window.cancelAnimationFrame(r)}},ywe=e=>Object.keys(e).reduce((n,s)=>{const i=e[s];if(i||i===0){const r=s.startsWith("--")?"":"--",a=typeof i=="number"?`${i}px`:i;n[`${r}${s}`]=a}return n},{}),xwe=e=>{const t=b.Children.toArray(e),n=[];let s="";const i=()=>{s!==""&&(n.push(s),s="")};for(const r of t)if(!(r==null||typeof r=="boolean")){if(typeof r=="string"||typeof r=="number"){s+=String(r);continue}i(),n.push(r)}return i(),n},YF=e=>{const t=xwe(e),n=b.Children.count(t);return b.Children.map(t,s=>{if(typeof s=="string"&&s.trim())return n<=1?s:o.jsx("span",{children:s});if(b.isValidElement(s)){const i=s,{children:r,...a}=i.props;return r!=null?b.cloneElement(i,a,YF(r)):i}return s})};b.createContext(null);var Ewe=typeof yl=="object"&&yl&&yl.Object===Object&&yl,vwe=typeof self=="object"&&self&&self.Object===Object&&self;Ewe||vwe||Function("return this")();var wwe=typeof window<"u"?b.useLayoutEffect:b.useEffect;function Swe(){const e=b.useRef(!1);return b.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),b.useCallback(()=>e.current,[])}var cL={width:void 0,height:void 0};function _we(e){const{ref:t,box:n="content-box"}=e,[{width:s,height:i},r]=b.useState(cL),a=Swe(),l=b.useRef({...cL}),c=b.useRef(void 0);return c.current=e.onResize,b.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=uL(d,f,"inlineSize"),m=uL(d,f,"blockSize");if(l.current.width!==h||l.current.height!==m){const g={width:h,height:m};l.current.width=h,l.current.height=m,c.current?c.current(g):a()&&r(g)}});return u.observe(t.current,{box:n}),()=>{u.disconnect()}},[n,t,a]),{width:s,height:i}}function uL(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 Twe(e,t){const n=b.useRef(e);wwe(()=>{n.current=e},[e]),b.useEffect(()=>{if(!t&&t!==0)return;const s=setTimeout(()=>{n.current()},t);return()=>{clearTimeout(s)}},[t])}const Nwe="_LoadingIndicator_7yl6f_1",kwe={LoadingIndicator:Nwe},Awe=({className:e,size:t,strokeWidth:n,style:s,...i})=>o.jsx("div",{...i,className:ta(kwe.LoadingIndicator,e),style:s||ywe({"indicator-size":t,"indicator-stroke":n})});function Cwe(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}const Iwe=()=>GF,dL=(e,t=!1,n="TransitionGroup")=>{const s=[];return b.Children.forEach(e,i=>{if(i&&typeof i=="object"&&"key"in i&&i.key)s.push(i);else if(t)throw new Error(`Child elements of <${n} /> must include a \`key\``)}),s},Ou=()=>{},Mu=e=>{const t=b.useRef(e);return t.current=e,b.useCallback(n=>t.current(n),[])};function Rwe(e,t,n,s){const i=e.reduce((c,u)=>({...c,[u.key]:1}),{}),r=t.reduce((c,u)=>({...c,[u.component.key]:1}),{}),a=e.filter(c=>!r[c.key]).map(n),l=t.map(c=>({...c,component:e.find(({key:u})=>u===c.component.key)||c.component,shouldRender:!!i[c.component.key]}));return s==="append"?l.concat(a):a.concat(l)}function jwe(e,t,n){if((GF||mwe)&&t&&n>1)throw new Error(`Cannot use forwardRef with multiple children in <${e} />`)}const Owe="_TransitionGroupChild_1hv1z_1",Mwe={TransitionGroupChild:Owe},WF={enter:!1,enterActive:!1,exit:!1,exitActive:!1,interrupted:!1},Lwe=e=>({...WF,enter:!e}),Dwe=(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 WF}},Pwe=({ref:e,as:t,children:n,className:s,transitionId:i,style:r,preventMountTransition:a,shouldRender:l,enterDuration:c,exitDuration:u,removeChild:d,onEnter:f,onEnterActive:h,onEnterComplete:m,onExit:p,onExitActive:g,onExitComplete:v})=>{const[y,x]=b.useReducer(Dwe,Lwe(a||!1)),E=b.useRef(!1),w=b.useRef(null),T=b.useRef(c);T.current=c;const S=b.useRef(u);S.current=u;const N=b.useRef(null),A=b.useCallback(C=>{const I=w.current;if(!(!I||C===N.current))switch(N.current=C,C){case"enter":f(I);break;case"enter-active":h(I);break;case"enter-complete":m(I);break;case"exit":p(I);break;case"exit-active":g(I);break;case"exit-complete":v(I);break}},[f,h,m,p,g,v]);return Lt.useLayoutEffect(()=>{if(!l){let O;x({type:"exit-before"}),A("exit");const L=U_(()=>{x({type:"exit-active"}),A("exit-active"),O=window.setTimeout(()=>{A("exit-complete"),d()},S.current)});return()=>{L(),O!==void 0&&clearTimeout(O)}}if(a&&!E.current){E.current=!0;return}let C;x({type:"enter-before"}),A("enter");const I=U_(()=>{x({type:"enter-active"}),A("enter-active"),C=window.setTimeout(()=>{x({type:"done"}),A("enter-complete")},T.current)});return()=>{I(),C!==void 0&&clearTimeout(C)}},[l,a,d,A]),b.useEffect(()=>()=>{E.current=!1},[]),o.jsx(t,{ref:Cwe([w,e]),className:ta(s,Mwe.TransitionGroupChild),"data-transition-id":i,style:r,"data-entering":y.enter?"":void 0,"data-entering-active":y.enterActive?"":void 0,"data-exiting":y.exit?"":void 0,"data-exiting-active":y.exitActive?"":void 0,"data-interrupted":y.interrupted?"":void 0,children:n})},Bwe=e=>{const{enterMountDelay:t,preventMountTransition:n}=e,s=!n&&t!=null?t:null,[i,r]=b.useState(s==null);return Twe(()=>r(!0),i?null:s),i?o.jsx(Pwe,{...e}):null},Uwe=e=>{const{ref:t,as:n="span",children:s,className:i,transitionId:r,style:a,enterDuration:l=0,exitDuration:c=0,preventInitialTransition:u=!0,enterMountDelay:d,insertMethod:f="append",disableAnimations:h=Iwe()}=e,m=Mu(e.onEnter??Ou),p=Mu(e.onEnterActive??Ou),g=Mu(e.onEnterComplete??Ou),v=Mu(e.onExit??Ou),y=Mu(e.onExitActive??Ou),x=Mu(e.onExitComplete??Ou);b.Children.forEach(s,S=>{if(S&&!S.key)throw new Error("Child elements of must include a `key`")});const E=b.useCallback(S=>({component:S,shouldRender:!0,removeChild:()=>{T(N=>N.filter(A=>S.key!==A.component.key))},onEnter:m,onEnterActive:p,onEnterComplete:g,onExit:v,onExitActive:y,onExitComplete:x}),[m,p,g,v,y,x]),[w,T]=b.useState(()=>dL(s).map(S=>({...E(S),preventMountTransition:u})));return b.useLayoutEffect(()=>{T(S=>{const N=dL(s);return Rwe(N,S,E,f)})},[s,f,E]),jwe("TransitionGroup",t,b.Children.count(s)),h?o.jsx(o.Fragment,{children:b.Children.map(s,S=>o.jsx(n,{ref:t,className:i,style:a,"data-transition-id":r,children:S}))}):o.jsx(o.Fragment,{children:w.map(({component:S,...N})=>o.jsx(Bwe,{...N,as:n,className:i,transitionId:r,enterDuration:l,exitDuration:c,enterMountDelay:d,style:a,ref:t,children:S},S.key))})},Fwe="_Button_1864l_1",$we="_ButtonInner_1864l_4",Hwe="_ButtonLoader_1864l_749",Yv={Button:Fwe,ButtonInner:$we,ButtonLoader:Hwe},fL=e=>{const{type:t="button",color:n="primary",variant:s="solid",pill:i=!0,uniform:r=!1,size:a="md",iconSize:l,gutterSize:c,loading:u,selected:d,block:f,opticallyAlign:h,children:m,className:p,onClick:g,disabled:v,disabledTone:y,inert:x=u,...E}=e,w=v||x,T=b.useCallback(S=>{v||g==null||g(S)},[g,v]);return o.jsxs("button",{type:t,className:ta(Yv.Button,p),"data-color":n,"data-variant":s,"data-pill":i?"":void 0,"data-uniform":r?"":void 0,"data-size":a,"data-gutter-size":c,"data-icon-size":l,"data-loading":u?"":void 0,"data-selected":d?"":void 0,"data-block":f?"":void 0,"data-optically-align":h,onPointerEnter:qF,disabled:w,"aria-disabled":w,tabIndex:w?-1:void 0,"data-disabled":v?"":void 0,"data-disabled-tone":v?y:void 0,onClick:T,...E,children:[o.jsx(Uwe,{className:Yv.ButtonLoader,enterDuration:250,exitDuration:150,children:u&&o.jsx(Awe,{},"loader")}),o.jsx("span",{className:Yv.ButtonInner,children:YF(m)})]})},zwe=e=>o.jsx("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",...e,children:o.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"})}),Vwe="_EmptyMessage_1r5gu_1",Gwe="_IconBadge_1r5gu_16",Kwe="_Title_1r5gu_54",qwe="_Description_1r5gu_69",Ywe="_ActionRow_1r5gu_77",ug={EmptyMessage:Vwe,IconBadge:Gwe,Title:Kwe,Description:qwe,ActionRow:Ywe},Jn=({children:e,className:t,fill:n="static"})=>o.jsx("div",{className:ta(ug.EmptyMessage,t),"data-fill":n,children:e}),Wwe=({size:e="md",color:t="secondary",children:n,className:s})=>o.jsx("div",{className:ta(ug.IconBadge,s),"data-size":e,"data-color":t,children:n}),Xwe=({children:e,className:t,color:n="secondary"})=>o.jsx("div",{className:ta(ug.Title,t),"data-color":n,children:e}),Qwe=({children:e,className:t})=>o.jsx("div",{className:ta(ug.Description,t),children:e}),Zwe=({children:e,className:t})=>o.jsx("div",{className:ta(ug.ActionRow,t),children:e});Jn.Icon=Wwe;Jn.Title=Xwe;Jn.Description=Qwe;Jn.ActionRow=Zwe;const tr="/web/sandbox/sessions",hL=3e4,mL=33e4,Jwe=6e4,eSe=6e5,Wv=15e3,ho=6e4,tSe=33e4,pL=40;function bx(e){switch(e.trim().toLowerCase()){case"ready":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 ei(e){const t=j1(e);return t.has("Accept")||t.set("Accept","application/json"),t}async function ti(e,t){const n=await e.text().catch(()=>"");let s={};try{s=JSON.parse(n)}catch{const c=`${t}(HTTP ${e.status})`;return new Error(n?`${c}:${n}`:c)}const i=s.detail,r=i&&typeof i=="object"&&"message"in i?i.message:i??s.error??s.message,a=typeof r=="string"?r:r==null?"":JSON.stringify(r),l=`${t}(HTTP ${e.status})`;return new Error(a?`${l}:${a}`:l)}function Lu(e,t="codex"){if(!e.sessionId||!e.status)throw new Error("AgentKit 沙箱返回了无效的 Session 信息。");return{id:e.sessionId,toolName:t,userSessionId:e.userSessionId??"",displayName:e.displayName??"",status:e.status,createdAt:e.createdAt??"",expireAt:e.expireAt??"",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:yx(e.permissions)}}const Mh={approvalPolicy:"on-request",approvalsReviewer:"user",sandboxMode:"workspace-write",networkAccess:!1};function yx(e){if(!e||typeof e!="object")return{...Mh};const t=e,n=t.approvalPolicy,s=t.approvalsReviewer,i=t.sandboxMode;return{approvalPolicy:n==="untrusted"||n==="on-request"||n==="never"?n:Mh.approvalPolicy,approvalsReviewer:s==="user"||s==="auto_review"?s:Mh.approvalsReviewer,sandboxMode:i==="read-only"||i==="workspace-write"||i==="danger-full-access"?i:Mh.sandboxMode,networkAccess:typeof t.networkAccess=="boolean"?t.networkAccess:Mh.networkAccess}}function gL(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:yx(t.permissions)}}function fa(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function nSe(e){const t=fa(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 sSe(e){const t=fa(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 XF(e){const t=fa(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 I0(e){const t=fa(e),n=XF(t==null?void 0:t.thread);if(!t||!n||typeof t.threadId!="string"||!Array.isArray(t.messages))throw new Error("Sandbox 返回了无效 Thread 快照。");const s=t.messages.flatMap(i=>{const r=fa(i);if(!r||typeof r.id!="string"||r.role!=="user"&&r.role!=="assistant"||typeof r.content!="string"||typeof r.timestamp!="number")return[];const a=Array.isArray(r.skillNames)?r.skillNames.filter(l=>typeof l=="string"&&!!l):[];return[{id:r.id,role:r.role,content:r.content,timestamp:r.timestamp,...a.length?{skillNames:a}:{}}]});return{thread:n,threadId:t.threadId,messages:s,...typeof t.model=="string"?{model:t.model}:{},...typeof t.cwd=="string"?{cwd:t.cwd}:{},workspaceLocked:t.workspaceLocked===!0,permissions:yx(t.permissions)}}function F_(e){if(!e||typeof e!="object")return;const t=e;if(![t.totalTokens,t.inputTokens,t.cachedInputTokens,t.outputTokens,t.reasoningOutputTokens].some(s=>typeof s!="number"||!Number.isFinite(s)||s<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 iSe(e){const t=F_(e.usage);if(!t||typeof e.turnId!="string")return;const n=F_(e.threadTotal),s=e.modelContextWindow;return{turnId:e.turnId,usage:t,...n?{threadTotal:n}:{},...typeof s=="number"&&Number.isFinite(s)&&s>=0?{modelContextWindow:Math.trunc(s)}:{}}}function rSe(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 aSe(e,t={}){if(!e.body)throw new Error("沙箱对话服务未返回内容。");const n=e.body.getReader(),s=new TextDecoder;let i="",r="";const a=[],l=new Map;let c;function u(){var m;(m=t.onBlocks)==null||m.call(t,a.map(p=>({...p})))}function d(m){r+=m;const p=a[a.length-1];(p==null?void 0:p.kind)==="text"?p.text+=m:a.push({kind:"text",text:m}),u()}function f(m){if(typeof m.id!="string"||m.kind!=="thinking"&&m.kind!=="tool"||m.status!=="running"&&m.status!=="done")return;const p=m.status==="done";let g;if(m.kind==="thinking"){if(typeof m.text!="string"||!m.text)return;g={kind:"thinking",text:m.text,done:p}}else{if(typeof m.name!="string"||!m.name)return;g={kind:"tool",name:m.name,args:m.args,response:m.response,done:p}}const v=l.get(m.id);v===void 0?(l.set(m.id,a.length),a.push(g)):a[v]=g,u()}function h(m){var y,x,E;let p="message";const g=[];for(const w of m.split(/\r?\n/))w.startsWith("event:")&&(p=w.slice(6).trim()),w.startsWith("data:")&&g.push(w.slice(5).trimStart());if(g.length===0)return;let v;try{v=JSON.parse(g.join(` +`))}catch{throw new Error("沙箱对话服务返回了无法解析的响应。")}if(p==="error")throw new Error(typeof v.message=="string"&&v.message?v.message:"沙箱对话失败,请稍后重试。");if(p==="activity"&&f(v),p==="approval"){const w=rSe(v);w&&((y=t.onApproval)==null||y.call(t,w))}if(p==="usage"){const w=iSe(v);w&&(c=w,(x=t.onUsage)==null||x.call(t,w))}p==="approval_resolved"&&typeof v.approvalId=="string"&&((E=t.onApprovalResolved)==null||E.call(t,v.approvalId)),p==="delta"&&typeof v.text=="string"&&d(v.text),p==="done"&&!r&&typeof v.text=="string"&&d(v.text)}for(;;){const{done:m,value:p}=await n.read();i+=s.decode(p,{stream:!m});const g=i.split(/\r?\n\r?\n/);if(i=g.pop()??"",g.forEach(h),m)break}if(i.trim()&&h(i),a.length===0)throw new Error("沙箱未返回有效回复,请重试。");return{text:r,blocks:a,...c?{usage:c}:{}}}async function Ra(e,t,{method:n="GET",body:s,options:i={},fallback:r}){if(!e)throw new Error("缺少要操作的 AgentKit Session。");const a=await fetch(kn(`${tr}/${encodeURIComponent(e)}/${t}`),{method:n,headers:ei(s===void 0?void 0:{"Content-Type":"application/json"}),...s===void 0?{}:{body:JSON.stringify(s)},signal:Ln(i.signal,ho)});if(!a.ok)throw await ti(a,r);return a.json()}const on={async listSessions(e={}){const t=await fetch(kn(tr),{method:"GET",headers:ei(),signal:Ln(e.signal,hL)});if(!t.ok)throw await ti(t,"无法读取 Codex 智能体,请稍后重试。");const n=await t.json();if(!Array.isArray(n.sessions))throw new Error("AgentKit 沙箱返回了无效的 Session 列表。");return n.sessions.map(s=>Lu(s))},async startSession(e={}){var n;const t=await fetch(kn(tr),{method:"POST",headers:ei({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((n=e.displayName)==null?void 0:n.trim())??""}),signal:Ln(e.signal,mL)});if(!t.ok)throw await ti(t,"无法启动 AgentKit 沙箱,请稍后重试。");return Lu(await t.json())},async listAgentSessions(e,t={}){const n=await fetch(kn(`/web/${e}/sessions`),{method:"GET",headers:ei(),signal:Ln(t.signal,hL)});if(!n.ok)throw await ti(n,`无法读取 ${e} 智能体,请稍后重试。`);const s=await n.json();if(!Array.isArray(s.sessions))throw new Error(`AgentKit 返回了无效的 ${e} Session 列表。`);return s.sessions.map(i=>Lu(i,e))},async startAgentSession(e,t={}){var s;const n=await fetch(kn(`/web/${e}/sessions`),{method:"POST",headers:ei({"Content-Type":"application/json"}),body:JSON.stringify({displayName:((s=t.displayName)==null?void 0:s.trim())??""}),signal:Ln(t.signal,mL)});if(!n.ok)throw await ti(n,`无法创建 ${e} 智能体,请稍后重试。`);return Lu(await n.json(),e)},async openAgentSession(e,t,n={}){if(!t)throw new Error("缺少要打开的 AgentKit Session。");const s=await fetch(kn(`/web/${e}/sessions/${encodeURIComponent(t)}/open`),{method:"POST",headers:ei(),signal:Ln(n.signal,ho)});if(!s.ok)throw await ti(s,`无法打开 ${e} 智能体。`);const i=await s.json();if(typeof i.webuiUrl!="string"||!i.webuiUrl.startsWith("/"))throw new Error(`${e} 智能体返回了无效的主页面地址。`);return{session:Lu(i,e),kind:e,webuiUrl:kn(i.webuiUrl)}},async launchAgentTerminal(e,t,n={}){if(!t)throw new Error("缺少要打开 Terminal 的 AgentKit Session。");const s=await fetch(kn(`/web/${e}/sessions/${encodeURIComponent(t)}/terminal`),{method:"POST",headers:ei(),signal:Ln(n.signal,ho)});if(!s.ok)throw await ti(s,`无法打开 ${e} Terminal。`);const i=await s.json();return{url:QF(i.url,`${e} Terminal`),...typeof i.shellSessionId=="string"?{shellSessionId:i.shellSessionId}:{}}},async deleteAgentSession(e,t,n={}){if(!t)return;const s=await fetch(kn(`/web/${e}/sessions/${encodeURIComponent(t)}`),{method:"DELETE",headers:ei(),signal:Ln(n.signal,Wv)});if(!s.ok&&s.status!==404)throw await ti(s,`无法删除 ${e} 智能体。`)},async connectSession(e,t={}){if(!e)throw new Error("缺少要连接的 AgentKit Session。");const n=await fetch(kn(`${tr}/${encodeURIComponent(e)}/connect`),{method:"POST",headers:ei({"Content-Type":"application/json"}),signal:Ln(t.signal,Jwe)});if(!n.ok)throw await ti(n,"无法连接 Codex 智能体,请稍后重试。");const s=Lu(await n.json());if(s.status.toLowerCase()!=="ready")throw new Error(`AgentKit Session 尚未就绪,当前状态:${s.status}。`);return s},async sendMessage(e,t={}){var s;if(!e.sessionId||!e.text.trim())throw new Error("内置智能体会话缺少有效的消息内容。");const n=await fetch(kn(`${tr}/${encodeURIComponent(e.sessionId)}/messages`),{method:"POST",headers:ei({Accept:"text/event-stream","Content-Type":"application/json"}),body:JSON.stringify({message:e.text,...(s=e.skillIds)!=null&&s.length?{skillIds:e.skillIds}:{}}),signal:Ln(t.signal,eSe)});if(!n.ok)throw await ti(n,"沙箱对话失败,请稍后重试。");return aSe(n,t)},async getStatus(e,t={}){const n=await Ra(e,"status",{options:t,fallback:"无法读取 Codex 状态。"}),s=gL(n),i=fa(n),r=F_(i==null?void 0:i.threadTotal),a=i==null?void 0:i.modelContextWindow;return{...s,...r?{threadTotal:r}:{},...typeof a=="number"&&Number.isFinite(a)&&a>=0?{modelContextWindow:Math.trunc(a)}:{}}},async listModels(e,t={}){const n=fa(await Ra(e,"models",{options:t,fallback:"无法读取 Codex 模型列表。"}));if(!Array.isArray(n==null?void 0:n.models))throw new Error("Sandbox 返回了无效模型列表。");return n.models.flatMap(s=>{const i=nSe(s);return i?[i]:[]})},async setModel(e,t,n={}){const s=fa(await Ra(e,"model",{method:"PUT",body:{model:t},options:n,fallback:"无法切换 Codex 模型。"}));if(typeof(s==null?void 0:s.model)!="string"||!s.model)throw new Error("Sandbox 返回了无效模型。");return s.model},async listSkills(e,t=!1,n={}){const i=fa(await Ra(e,`skills${t?"?force_reload=true":""}`,{options:n,fallback:"无法读取 Codex Skills。"}));if(!Array.isArray(i==null?void 0:i.skills))throw new Error("Sandbox 返回了无效 Skill 列表。");return i.skills.flatMap(r=>{const a=sSe(r);return a?[a]:[]})},async listThreads(e,t={},n={}){const s=new URLSearchParams;t.cursor&&s.set("cursor",t.cursor),t.search&&s.set("search",t.search),t.archived&&s.set("archived","true");const i=s.size?`?${s}`:"",r=fa(await Ra(e,`threads${i}`,{options:n,fallback:"无法读取 Codex Thread 列表。"}));if(!Array.isArray(r==null?void 0:r.threads))throw new Error("Sandbox 返回了无效 Thread 列表。");return{threads:r.threads.flatMap(a=>{const l=XF(a);return l?[l]:[]}),...typeof r.nextCursor=="string"?{nextCursor:r.nextCursor}:{}}},async newThread(e,t={}){return I0(await Ra(e,"threads/new",{method:"POST",options:t,fallback:"无法创建新的 Codex Thread。"}))},async resumeThread(e,t,n={}){return I0(await Ra(e,"threads/resume",{method:"POST",body:{threadId:t},options:n,fallback:"无法恢复 Codex Thread。"}))},async forkThread(e,t={}){return I0(await Ra(e,"threads/fork",{method:"POST",options:t,fallback:"无法分叉 Codex Thread。"}))},async archiveThread(e,t,n={}){const s=fa(await Ra(e,"threads/archive",{method:"POST",body:{threadId:t},options:n,fallback:"无法归档 Codex Thread。"}));if((s==null?void 0:s.archived)!==!0)throw new Error("Sandbox 返回了无效归档结果。");return{archived:!0,...s.thread?{snapshot:I0(s)}:{}}},async compactThread(e,t={}){await Ra(e,"threads/compact",{method:"POST",options:t,fallback:"无法压缩 Codex Thread。"})},async getSettings(e,t={}){const n=await fetch(kn(`${tr}/${encodeURIComponent(e)}/settings`),{method:"GET",headers:ei(),signal:Ln(t.signal,ho)});if(!n.ok)throw await ti(n,"无法读取 Codex 权限与工作空间。");return gL(await n.json())},async updatePermissions(e,t,n={}){const s=await fetch(kn(`${tr}/${encodeURIComponent(e)}/permissions`),{method:"PUT",headers:ei({"Content-Type":"application/json"}),body:JSON.stringify(t),signal:Ln(n.signal,ho)});if(!s.ok)throw await ti(s,"无法更新 Codex 权限。");const i=await s.json();return yx(i.permissions)},async updateWorkspace(e,t,n={}){const s=await fetch(kn(`${tr}/${encodeURIComponent(e)}/workspace`),{method:"PUT",headers:ei({"Content-Type":"application/json"}),body:JSON.stringify({cwd:t}),signal:Ln(n.signal,ho)});if(!s.ok)throw await ti(s,"无法更新 Codex 工作空间。");const i=await s.json();if(typeof i.cwd!="string"||!i.cwd)throw new Error("Sandbox 返回了无效工作目录。");return i.cwd},async listDirectories(e,t,n={}){const s=new URLSearchParams({path:t}),i=await fetch(kn(`${tr}/${encodeURIComponent(e)}/directories?${s}`),{method:"GET",headers:ei(),signal:Ln(n.signal,ho)});if(!i.ok)throw await ti(i,"无法读取 Sandbox 目录。");const r=await i.json();if(typeof r.path!="string"||!Array.isArray(r.directories)||r.directories.some(a=>!a||typeof a.name!="string"||typeof a.path!="string"))throw new Error("Sandbox 返回了无效目录列表。");return{path:r.path,...typeof r.parent=="string"?{parent:r.parent}:{},directories:r.directories}},async resolveApproval(e,t,n,s={}){const i=await fetch(kn(`${tr}/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`),{method:"POST",headers:ei({"Content-Type":"application/json"}),body:JSON.stringify({decision:n}),signal:Ln(s.signal,ho)});if(!i.ok)throw await ti(i,"无法提交 Codex 审批决定。")},async launchTerminal(e,t={}){return bL(e,"terminal",t)},async launchBrowser(e,t={}){return bL(e,"browser",t)},async uploadFile(e,t,n={}){const s=new FormData;s.set("file",t,t.name);const i=await fetch(kn(`${tr}/${encodeURIComponent(e)}/files`),{method:"POST",headers:ei(),body:s,signal:Ln(n.signal,tSe)});if(!i.ok)throw await ti(i,"无法上传文件到 Sandbox。");const r=await i.json();if(typeof r.id!="string"||typeof r.path!="string"||typeof r.name!="string"||typeof r.mimeType!="string"||typeof r.sizeBytes!="number")throw new Error("Sandbox 返回了无效上传结果。");return r},async closeSession(e,t={}){if(!e)return;const n=await fetch(kn(`${tr}/${encodeURIComponent(e)}/disconnect`),{method:"POST",headers:ei(),signal:Ln(t.signal,Wv)});if(!n.ok&&n.status!==404)throw await ti(n,"无法断开 Codex 智能体连接。")},async deleteSession(e,t={}){if(!e)return;const n=await fetch(kn(`${tr}/${encodeURIComponent(e)}`),{method:"DELETE",headers:ei(),signal:Ln(t.signal,Wv)});if(!n.ok&&n.status!==404)throw await ti(n,"无法删除 Codex 智能体。")}};async function bL(e,t,n){const s=await fetch(kn(`${tr}/${encodeURIComponent(e)}/${t}`),{method:"POST",headers:ei(),signal:Ln(n.signal,ho)});if(!s.ok)throw await ti(s,t==="terminal"?"无法打开 Sandbox Terminal。":"无法打开 Sandbox Browser。");const i=await s.json();return{url:QF(i.url,"Sandbox 工具"),...typeof i.shellSessionId=="string"?{shellSessionId:i.shellSessionId}:{}}}function QF(e,t){if(typeof e!="string")throw new Error(`${t} 返回了无效地址。`);if(e.startsWith("/"))return kn(e);let n;try{n=new URL(e)}catch{throw new Error(`${t} 返回了无效地址。`)}const s=n.protocol==="http:"&&window.location.protocol==="http:";if(n.protocol!=="https:"&&!s)throw new Error(`${t} 返回了不安全的地址。`);return n.toString()}function bd(e,t,n){const s=e instanceof Error?`${e.name}: ${e.message}`:String(e||"未知错误");return[`${t}失败`,`详细信息:${s}`,n?`请求:${n}`:""].filter(Boolean).join(` +`)}function oSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.jsx("path",{d:"m7.8 12.3 2 2-2 2M12.2 16.3h3.2"})]})}function lSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M18.9 6.25A8.4 8.4 0 1 0 19.6 16"}),o.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"}),o.jsx("circle",{cx:"10.6",cy:"12.8",r:"2.45"}),o.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 cSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.jsx("path",{d:"M9.3 12.65h.01M14.9 12.65h.01M10.8 15.55c.8.5 1.65.5 2.45 0"}),o.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 Tp({kind:e,...t}){return e==="codex"?o.jsx(oSe,{...t}):e==="openclaw"?o.jsx(lSe,{...t}):o.jsx(cSe,{...t})}const yL="cn-beijing",Xv=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],uSe=24,dSe=3e4,yd=new Map,Md=new Map,fSe=new Set;function R0(e){if(!e){yd.clear(),Md.clear();return}const t=new Set(e);if(t.size!==0){for(const[n,s]of Md)s.page.runtimes.some(i=>t.has(i.runtimeId))&&Md.delete(n);yd.clear()}}function hSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function Qv(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"M8 3.25v9.5M3.25 8h9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function mSe({type:e}){return e==="general"?o.jsx(jc,{}):o.jsx(Tp,{kind:e})}function y2(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 pSe(e){return e==="cn-shanghai"?"上海":e==="cn-beijing"?"北京":e||"—"}function xL(e){var t;return{id:e.runtimeId,name:e.name,description:((t=e.description)==null?void 0:t.trim())||"暂无描述",createdAt:y2(e.createdAt??""),specificationLabel:"创建人",specification:e.author||"—",isMine:e.isMine,runtime:{runtimeId:e.runtimeId,region:e.region,currentVersion:e.currentVersion,canDelete:e.canDelete}}}function gSe(e){return{id:e.id,name:e.displayName||`${e.toolName} 智能体`,description:bx(e.status),createdAt:y2(e.createdAt),specificationLabel:"创建人",specification:e.createdBy||"—",sandbox:e}}function bSe(e){var t;return{id:e.id,name:e.draft.name||"未命名 Agent",description:((t=e.draft.description)==null?void 0:t.trim())||"暂无描述",createdAt:y2(new Date(e.updatedAt).toISOString()),specificationLabel:"存储位置",specification:"当前浏览器",draft:e}}async function ySe(e,t,n){const s=`${e}:all:${t}`,i=Md.get(s);if(i&&i.expiresAt>Date.now())return n(i.page.runtimes.map(xL)),i.page.nextToken;i&&Md.delete(s);let r=yd.get(s);r||(r=F1({scope:e,region:"all",pageSize:uSe,nextToken:t}),yd.set(s,r),r.then(()=>yd.delete(s),()=>yd.delete(s)));const a=await r;return Md.set(s,{page:a,expiresAt:Date.now()+dSe}),n(a.runtimes.map(xL)),a.nextToken}function xSe({agent:e,onUse:t,onViewDetails:n,connecting:s,connected:i,showOwnership:r,deploymentTask:a,onViewDeploymentTask:l,onEditDraft:c,onDeleteDraft:u}){const d=!!(e.runtime||e.sandbox);return o.jsxs("article",{className:"my-agent-card",children:[o.jsxs("div",{className:"my-agent-card-content",children:[o.jsxs("div",{className:"my-agent-card-title",children:[o.jsxs("div",{className:"my-agent-card-title-copy",children:[o.jsx("h3",{children:e.name}),e.sandbox?o.jsx("span",{className:"my-agent-session-id",title:e.sandbox.id,children:e.sandbox.id}):null]}),e.draft?o.jsx("span",{className:"my-agent-draft-badge",children:a?"部署中":"草稿"}):e.sandbox?o.jsx("span",{className:"my-agent-status-label","data-ready":e.sandbox.status.toLowerCase()==="ready"||void 0,children:e.description}):e.runtime?o.jsxs("div",{className:"my-agent-card-badges",children:[a?o.jsx("span",{className:"my-agent-deploying-badge",children:"部署中"}):null,o.jsx("span",{className:"my-agent-region-badge",children:pSe(e.runtime.region)}),r&&e.isMine?o.jsx("span",{className:"runtime-owner-badge",children:"我创建的"}):null]}):null]}),e.sandbox?null:o.jsx("p",{className:"my-agent-description",children:e.description}),o.jsxs("dl",{className:"my-agent-meta",children:[o.jsxs("div",{className:"my-agent-created-at",children:[o.jsx("dt",{children:e.draft?"更新时间":"创建时间"}),o.jsx("dd",{children:e.createdAt})]}),o.jsxs("div",{className:"my-agent-region",children:[o.jsx("dt",{children:e.specificationLabel}),o.jsx("dd",{children:e.specification})]})]})]}),o.jsx("footer",{className:"my-agent-actions",children:e.draft?o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"my-agent-details","aria-label":a?`查看 ${e.name} 部署进度`:`编辑草稿 ${e.name}`,onClick:()=>a?l==null?void 0:l(a):c==null?void 0:c(e.draft),children:a?"查看进度":"编辑"}),o.jsx("button",{type:"button",className:"my-agent-delete","aria-label":`删除草稿 ${e.name}`,onClick:()=>u==null?void 0:u(e.draft),children:"删除"})]}):o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"my-agent-details",disabled:!d,"aria-label":a?`查看 ${e.name} 部署进度`:`查看 ${e.name} 详情`,onClick:()=>a?l==null?void 0:l(a):n==null?void 0:n(e),children:a?"查看进度":"查看详情"}),o.jsx("button",{type:"button",className:`my-agent-use${i?" is-connected":""}`,disabled:!d||s||i,"aria-busy":s||void 0,"aria-label":i?`${e.name} 已连接`:`使用 ${e.name}`,onClick:()=>void(t==null?void 0:t(e)),children:s?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-use-spinner","aria-hidden":"true"}),o.jsx("span",{children:"连接中"})]}):i?"已连接":"使用"})]})})]})}function ESe({canCreate:e,runtimeScope:t,onCreateAgent:n,onUseAgent:s,onViewAgentDetails:i,onCreateSandboxAgent:r,onUseSandboxAgent:a,onViewSandboxAgentDetails:l,sandboxRefreshKey:c=0,connectedRuntimeId:u="",hiddenRuntimeIds:d=fSe,drafts:f=[],deploymentTasks:h=[],draftDeploymentTaskIds:m={},onViewDeploymentTask:p,onEditDraft:g,onDeleteDraft:v}){const y=b.useRef(null),x=b.useRef(null),E=b.useRef(0),w=b.useRef(0),T=b.useRef(null),[S,N]=b.useState("general"),[A,C]=b.useState(""),[I,O]=b.useState([]),[L,G]=b.useState(""),[D,F]=b.useState(!0),[k,j]=b.useState(""),[P,$]=b.useState([]),[R,q]=b.useState(!1),[Q,B]=b.useState(""),[ee,z]=b.useState(""),[K,ne]=b.useState(null),W=b.useMemo(()=>f.map(bSe),[f]),de=b.useMemo(()=>{const Se=new Map,Fe=new Map;for(const He of h){if(He.status!=="running"||(Se.set(He.id,He),!He.runtimeId))continue;const Ge=Fe.get(He.runtimeId);(!Ge||He.startedAt>Ge.startedAt)&&Fe.set(He.runtimeId,He)}return{byId:Se,byRuntimeId:Fe}},[h]),ye=b.useCallback(Se=>{var He;if(Se.draft){const Ge=m[Se.draft.id];return Ge?de.byId.get(Ge):void 0}const Fe=(He=Se.runtime)==null?void 0:He.runtimeId;return Fe?de.byRuntimeId.get(Fe):void 0},[de,m]),_e=b.useCallback((Se,Fe)=>{const He=++E.current;return F(!0),j(""),ySe(t,Se,Ge=>{E.current===He&&O(X=>Fe?Ge:[...X,...Ge])}).then(Ge=>{E.current===He&&G(Ge)}).catch(Ge=>{E.current===He&&j(bd(Ge,"加载通用智能体","GET /web/runtimes"))}).finally(()=>{E.current===He&&F(!1)})},[t]);b.useEffect(()=>{if(S==="general")return O([]),G(""),_e("",!0),()=>{E.current+=1}},[S,_e]);const ue=b.useCallback(async Se=>{var Ge,X;(Ge=T.current)==null||Ge.abort();const Fe=new AbortController;T.current=Fe;const He=++w.current;q(!0),B(""),$([]);try{const ie=Se==="codex"?await on.listSessions({signal:Fe.signal}):await on.listAgentSessions(Se,{signal:Fe.signal});if(w.current!==He)return;$(ie.map(gSe))}catch(ie){if((ie==null?void 0:ie.name)==="AbortError"||w.current!==He)return;B(bd(ie,`加载 ${((X=Xv.find(se=>se.id===Se))==null?void 0:X.label)??Se}`,`GET /web/${Se==="codex"?"sandbox":Se}/sessions`))}finally{T.current===Fe&&(T.current=null),w.current===He&&q(!1)}},[]);function me(Se){var Fe;Se!==S&&(Se==="general"?(E.current+=1,O([]),G(""),j(""),F(!0)):((Fe=T.current)==null||Fe.abort(),T.current=null,w.current+=1,$([]),B(""),q(!0)),N(Se))}b.useEffect(()=>{var Se;if(S==="general"){(Se=T.current)==null||Se.abort(),T.current=null,w.current+=1;return}return ue(S),()=>{var Fe;(Fe=T.current)==null||Fe.abort(),T.current=null,w.current+=1}},[S,ue,c]),b.useEffect(()=>{const Se=x.current,Fe=y.current;if(!Se||!Fe||S!=="general"||!L||D)return;const He=new IntersectionObserver(([Ge])=>{Ge.isIntersecting&&_e(L,!1)},{root:Fe,rootMargin:"240px 0px",threshold:.01});return He.observe(Se),()=>He.disconnect()},[S,_e,D,L]);const Ce=b.useCallback(async Se=>{if(!ee){z(Se.id);try{await new Promise(Fe=>requestAnimationFrame(()=>Fe())),Se.sandbox?await a(Se.sandbox):await s(Se)}finally{z("")}}},[ee,s,a]),pe=b.useMemo(()=>{const Se=A.trim().toLocaleLowerCase(),Fe=S==="general"?[...W,...I]:P,He=Se?Fe.filter(ie=>ie.name.toLocaleLowerCase().includes(Se)):Fe;if(S!=="general")return He;const Ge=d.size>0?He.filter(ie=>!ie.runtime||!d.has(ie.runtime.runtimeId)):He,X=Ge.findIndex(ie=>{var se;return((se=ie.runtime)==null?void 0:se.runtimeId)===u});return X<=0?Ge:[Ge[X],...Ge.slice(0,X),...Ge.slice(X+1)]},[S,u,W,d,A,I,P]),oe=Xv.find(Se=>Se.id===S),ve=(oe==null?void 0:oe.label)??"智能体",xe=S==="general"?D&&I.length===0&&W.length===0:R&&P.length===0,Ze=!xe&&pe.length===0,De=e?S==="general"?()=>n(yL):()=>r(S):void 0,Ve=e?void 0:"当前账号没有创建智能体权限";return o.jsxs("div",{className:"my-agents-page",children:[o.jsxs("header",{className:"my-agents-header",children:[o.jsxs("div",{className:"my-agents-heading",children:[o.jsx("div",{className:"my-agents-title-row",children:o.jsx("h1",{children:"智能体"})}),o.jsx("p",{children:t==="all"?"在此处浏览所有智能体":"在此处浏览您的所有智能体"})]}),o.jsxs("label",{className:"my-agent-search",children:[o.jsx(hSe,{}),o.jsx("input",{type:"search","aria-label":"搜索智能体",value:A,onChange:Se=>C(Se.target.value),placeholder:"搜索所有类型智能体名称"})]})]}),o.jsxs("div",{className:"my-agent-type-bar",children:[o.jsx("nav",{className:"my-agent-type-pills","aria-label":"智能体类型",children:Xv.map(Se=>o.jsx("button",{type:"button",className:`my-agent-type-pill${S===Se.id?" is-active":""}`,"aria-pressed":S===Se.id,onClick:()=>me(Se.id),children:Se.label},Se.id))}),o.jsxs("button",{type:"button",className:"my-agent-create-primary",disabled:!De,title:Ve,onClick:()=>De==null?void 0:De(),children:[o.jsx(Qv,{}),o.jsx("span",{children:"创建智能体"})]})]}),o.jsxs("section",{className:"my-agent-results",ref:y,"aria-label":`${ve}列表`,children:[xe?o.jsxs("div",{className:"my-agent-initial-loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载智能体"})]}):(S==="general"?k:Q)&&pe.length===0?o.jsxs("div",{className:"my-agent-empty",role:"alert",children:[o.jsx("p",{children:S==="general"?k:Q}),o.jsx("button",{type:"button",onClick:()=>{S==="general"?_e("",!0):ue(S)},children:"重新加载"})]}):Ze?A.trim()?o.jsx("div",{className:"my-agent-empty-message",children:o.jsxs(Jn,{fill:"none",children:[o.jsx(Jn.Icon,{children:o.jsx(zwe,{})}),o.jsx(Jn.Title,{children:"没有匹配的智能体"}),o.jsx(Jn.Description,{children:"请尝试搜索其他名称"})]})}):S!=="general"?o.jsx("div",{className:"my-agent-empty-message",children:o.jsxs(Jn,{fill:"none",children:[o.jsx(Jn.Icon,{children:o.jsx(mSe,{type:S})}),o.jsxs(Jn.Title,{children:["暂无 ",ve]}),e?o.jsx(Jn.ActionRow,{children:o.jsxs(fL,{color:"primary",size:"lg",onClick:()=>r(S),children:[o.jsx(Qv,{}),"创建智能体"]})}):null]})}):o.jsx("div",{className:"my-agent-empty-message",children:o.jsxs(Jn,{fill:"none",children:[o.jsx(Jn.Icon,{children:o.jsx(jc,{})}),o.jsx(Jn.Title,{children:"暂无通用智能体"}),o.jsx(Jn.Description,{children:"创建一个通用智能体,开始构建和对话"}),e?o.jsx(Jn.ActionRow,{children:o.jsxs(fL,{color:"primary",size:"lg",onClick:()=>n(yL),children:[o.jsx(Qv,{}),"创建智能体"]})}):null]})}):o.jsxs(o.Fragment,{children:[S==="general"&&k?o.jsxs("div",{className:"my-agent-inline-error",role:"alert",children:[o.jsx("span",{children:k}),o.jsx("button",{type:"button",onClick:()=>void _e("",!0),children:"重新加载"})]}):null,o.jsx("div",{className:"my-agent-grid",children:pe.map(Se=>{var Fe;return o.jsx(xSe,{agent:Se,deploymentTask:ye(Se),onViewDeploymentTask:p,onUse:Ce,onViewDetails:He=>{He.sandbox?l(He.sandbox):i(He)},connecting:Se.id===ee,connected:((Fe=Se.runtime)==null?void 0:Fe.runtimeId)===u,showOwnership:t==="all",onEditDraft:g,onDeleteDraft:ne},Se.id)})})]}),S==="general"&&!k&&!xe&&(pe.length>0||!!L)&&o.jsx("div",{className:"my-agent-load-more",ref:x,"aria-live":"polite",children:D?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"my-agent-loading-mark","aria-hidden":"true"}),o.jsx("span",{children:"正在加载更多智能体"})]}):L?o.jsx("span",{children:"继续下滑加载更多"}):o.jsx("span",{children:"已加载全部智能体"})})]}),K?o.jsx(b2,{title:"删除草稿?",description:`删除后将无法恢复“${K.draft.name||"未命名 Agent"}”。`,confirmLabel:"删除草稿",variant:"danger",onCancel:()=>ne(null),onConfirm:()=>{v==null||v(K),ne(null)}}):null]})}function ZF(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",...e,children:o.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"})})}const vSe=[{id:"development",label:"研发"}],wSe=[{id:"github",name:"AgentKit Runtime 持续交付",description:"为您的仓库添加持续交付到 AgentKit Runtime 的自动化工作流。"}];function EL(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.8",cy:"10.8",r:"6.2",stroke:"currentColor",strokeWidth:"1.7"}),o.jsx("path",{d:"m15.4 15.4 4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function SSe({onOpenGitHub:e}){const[t,n]=b.useState("development"),[s,i]=b.useState(""),r=b.useDeferredValue(s),a=b.useMemo(()=>{const l=r.trim().toLocaleLowerCase();return wSe.filter(c=>!l||`${c.name} ${c.description}`.toLocaleLowerCase().includes(l))},[r]);return o.jsxs("div",{className:"applications-page",children:[o.jsxs("header",{className:"applications-header",children:[o.jsxs("div",{children:[o.jsx("h1",{children:"自动化"}),o.jsx("p",{children:"连接研发工具,为智能体扩展自动化工作流"})]}),o.jsxs("label",{className:"applications-search",children:[o.jsx(EL,{}),o.jsx("input",{type:"search","aria-label":"搜索自动化",value:s,onChange:l=>i(l.target.value),placeholder:"搜索自动化"})]})]}),o.jsx("nav",{className:"applications-categories","aria-label":"自动化分类",children:vSe.map(l=>o.jsx("button",{type:"button",className:t===l.id?"is-active":"","aria-pressed":t===l.id,onClick:()=>n(l.id),children:l.label},l.id))}),o.jsx("section",{className:"applications-results","aria-label":"研发自动化列表",children:a.length?o.jsx("div",{className:"applications-grid",children:a.map(l=>o.jsxs("button",{type:"button",className:"application-card",onClick:e,"aria-label":`打开${l.name}`,children:[o.jsx(ZF,{className:"application-card-icon"}),o.jsxs("div",{className:"application-card-copy",children:[o.jsx("h2",{children:l.name}),o.jsx("p",{children:l.description})]})]},l.id))}):o.jsxs("div",{className:"applications-empty",role:"status",children:[o.jsx(EL,{}),o.jsx("h2",{children:"没有匹配的自动化"}),o.jsx("p",{children:"请尝试搜索其他名称"})]})})]})}async function _Se(e){const t=await fetch("/web/integrations/github/pull-requests",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(3e4)});if(!t.ok){const n=await t.json().catch(()=>null);throw new Error((n==null?void 0:n.detail)||`提交 PR 失败(HTTP ${t.status})`)}return t.json()}const TSe={repository:"",baseBranch:"main",projectPath:".",runtimeName:"",runtimeId:"",region:"cn-beijing",token:""};function NSe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 kSe({hidden:e,...t}){return o.jsxs("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:[o.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"}),o.jsx("circle",{cx:"10",cy:"10",r:"1.8"}),e?o.jsx("path",{d:"m4 4 12 12"}):null]})}function vL(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 ASe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m4 6 4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function CSe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 wL(e,t){const n=t.trim();return!n&&(e==="baseBranch"||e==="projectPath")?"":n?e==="repository"&&!/^(?:https:\/\/github\.com\/)?[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?$/.test(n)?"请输入 owner/repository 或完整 GitHub Repo URL":e==="baseBranch"&&(!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(n)||n.includes(".."))?"目标分支格式不正确":e==="projectPath"&&(n.startsWith("/")||n.split("/").includes(".."))?"请输入仓库内的相对目录":e==="runtimeName"&&!/^[A-Za-z][A-Za-z0-9_-]{0,63}$/.test(n)?"以字母开头,仅支持字母、数字、下划线和连字符":e==="runtimeId"&&!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(n)?"Runtime ID 格式不正确":"":"此项不能为空"}function ISe({onBack:e}){const[t,n]=b.useState(TSe),[s,i]=b.useState({}),[r,a]=b.useState(""),[l,c]=b.useState(!1),[u,d]=b.useState(!1),[f,h]=b.useState(!1),[m,p]=b.useState(null),g=(w,T)=>{n(S=>({...S,[w]:T})),s[w]&&i(S=>({...S,[w]:""}))},v=w=>{const T=wL(w,t[w]);i(S=>({...S,[w]:T}))},y=async w=>{w.preventDefault();const T={};for(const S of Object.keys(t)){if(S==="region")continue;const N=wL(S,t[S]);N&&(T[S]=N)}if(i(T),!Object.keys(T).length){c(!0),a(""),p(null);try{const S=await _Se({...t,repository:t.repository.trim(),baseBranch:t.baseBranch.trim()||"main",projectPath:t.projectPath.trim()||".",runtimeName:t.runtimeName.trim(),runtimeId:t.runtimeId.trim(),token:t.token.trim()});p(S),n(N=>({...N,token:""}))}catch(S){a(S instanceof Error?S.message:String(S))}finally{c(!1)}}},x=w=>{w.key==="Enter"&&(w.nativeEvent.isComposing||w.nativeEvent.keyCode===229)&&w.preventDefault()},E=(w,T,S,N,A)=>o.jsxs("div",{className:"github-field",children:[o.jsxs("label",{htmlFor:`github-${w}`,children:[o.jsx("span",{children:T}),o.jsx("span",{className:`github-field-requirement${A?" is-required":""}`,children:A?"必填":"可选"})]}),o.jsx("input",{id:`github-${w}`,value:t[w],onChange:C=>g(w,C.target.value),onBlur:()=>v(w),placeholder:S,required:A,"aria-invalid":!!s[w],"aria-describedby":`github-${w}-help${s[w]?` github-${w}-error`:""}`}),o.jsx("span",{id:`github-${w}-help`,className:"github-field-help",children:N}),s[w]?o.jsx("span",{id:`github-${w}-error`,className:"github-field-error",role:"alert",children:s[w]}):null]});return o.jsxs("div",{className:"github-integration-page",children:[o.jsxs("header",{className:"github-integration-header",children:[o.jsx("button",{type:"button",className:"github-back",onClick:e,"aria-label":"返回自动化列表",children:o.jsx(NSe,{})}),o.jsx(ZF,{className:"github-integration-logo"}),o.jsxs("div",{children:[o.jsx("h1",{children:"AgentKit Runtime 持续交付"}),o.jsx("p",{children:"用 Pull Request 把持续发布配置安全地加入代码仓库"})]})]}),o.jsx("div",{className:"github-integration-layout",children:o.jsxs("section",{id:"github-panel-release",className:"github-section-panel",children:[o.jsx("div",{className:"github-panel-heading",children:o.jsx("p",{children:"提交后将在目标仓库创建发布分支,并发起包含 GitHub Actions 工作流的 PR。"})}),o.jsxs("form",{className:"github-release-form",onSubmit:y,onKeyDown:x,noValidate:!0,children:[o.jsxs("div",{className:"github-field-grid",children:[E("repository","GitHub Repo","owner/repository","支持 owner/repository 或完整 github.com URL",!0),E("baseBranch","目标分支","main","留空时使用 main,PR 将以此分支为 base",!1),E("projectPath","Agent 项目目录",".","留空时使用仓库根目录;目录内需包含 app.py,导出由 create_agentkit_app(root_agent, …) 创建的顶层 ASGI 变量 app,并在 python -m app 时调用 run_agentkit_app(app) 启动服务",!1),E("runtimeName","Runtime 名称","support-agent","用于 AgentKit 发布配置",!0),E("runtimeId","Runtime ID","rt-xxxxxxxx","持续更新的目标 AgentKit Runtime",!0),o.jsxs("div",{className:"github-field",children:[o.jsxs("label",{id:"github-region-label",children:[o.jsx("span",{children:"地域"}),o.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),o.jsxs("div",{className:"pp-network-region github-region-picker",onKeyDown:w=>{w.key==="Escape"&&h(!1)},children:[o.jsxs("button",{type:"button",className:"pp-region-trigger","aria-labelledby":"github-region-label","aria-haspopup":"listbox","aria-expanded":f,onClick:()=>h(w=>!w),children:[o.jsx("span",{children:t.region==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),o.jsx(ASe,{className:`pp-region-chevron${f?" is-open":""}`})]}),f?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>h(!1)}),o.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"地域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(w=>{const T=w.value===t.region;return o.jsxs("button",{type:"button",role:"option","aria-selected":T,className:`pp-region-option${T?" is-selected":""}`,onClick:()=>{g("region",w.value),h(!1)},children:[o.jsx("span",{children:w.label}),T?o.jsx(CSe,{}):null]},w.value)})})]}):null]}),o.jsx("span",{className:"github-field-help",children:"必须与目标 Runtime 所在地域一致"})]})]}),o.jsxs("div",{className:"github-field github-token-field",children:[o.jsxs("div",{className:"github-token-label-row",children:[o.jsxs("label",{htmlFor:"github-token",children:[o.jsx("span",{children:"GitHub Token"}),o.jsx("span",{className:"github-field-requirement is-required",children:"必填"})]}),o.jsxs("a",{href:"https://github.com/settings/personal-access-tokens/new?name=VeADK%20Studio&description=Create%20an%20AgentKit%20release%20workflow%20pull%20request&contents=write&pull_requests=write",target:"_blank",rel:"noreferrer",children:["获取 Token",o.jsx(vL,{})]})]}),o.jsxs("div",{className:"github-token-input",children:[o.jsx("input",{id:"github-token",type:u?"text":"password",value:t.token,onChange:w=>g("token",w.target.value),onBlur:()=>v("token"),autoComplete:"off",required:!0,placeholder:"需要仓库 Contents 与 Pull requests 写权限","aria-invalid":!!s.token,"aria-describedby":`github-token-help${s.token?" github-token-error":""}`}),o.jsx("button",{type:"button",onClick:()=>d(w=>!w),"aria-label":u?"隐藏 Token":"显示 Token",title:u?"隐藏 Token":"显示 Token",children:o.jsx(kSe,{hidden:u})})]}),o.jsx("span",{id:"github-token-help",className:"github-field-help",children:"Token 仅用于本次提交,不会保存在浏览器或写入 PR"}),s.token?o.jsx("span",{id:"github-token-error",className:"github-field-error",role:"alert",children:s.token}):null]}),r?o.jsx("div",{className:"github-submit-message is-error",role:"alert",children:r}):null,m?o.jsxs("div",{className:"github-submit-message is-success",role:"status",children:[o.jsxs("span",{children:["PR #",m.number," 已创建"]}),o.jsxs("a",{href:m.url,target:"_blank",rel:"noreferrer",children:["在 GitHub 查看",o.jsx(vL,{})]})]}):null,o.jsxs("div",{className:"github-form-actions",children:[o.jsxs("div",{className:"github-secrets-note",children:[o.jsx("strong",{children:"合并 PR 前,请在仓库的 GitHub Actions Secrets 中配置:"}),o.jsx("span",{children:"VOLCENGINE_ACCESS_KEY、VOLCENGINE_SECRET_KEY(必填)"}),o.jsx("span",{children:"VOLCENGINE_SESSION_TOKEN(使用临时凭据时必填)"})]}),o.jsx("button",{type:"submit",disabled:l,children:l?"提交 PR 中…":"确定并提交 PR"})]})]})]})})]})}const RSe={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 jSe(e,t){if(!t||t==="/")return e;const n=t.replace(/^\//,"").split("/").map(i=>i.replace(/~1/g,"/").replace(/~0/g,"~"));let s=e;for(const i of n){if(s==null||typeof s!="object")return;s=s[i]}return s}function OSe(e){return typeof e=="object"&&e!==null&&typeof e.path=="string"}function MSe(e){return typeof e=="object"&&e!==null&&typeof e.call=="string"}function x2(e,t){if(OSe(e))return jSe(t,e.path);if(MSe(e)){const n=RSe[e.call],s={};for(const[i,r]of Object.entries(e.args??{}))s[i]=x2(r,t);return n?n(s):`[unknown fn: ${e.call}]`}return e}function LSe(e,t){const n=x2(e,t);return n==null?"":typeof n=="string"?n:String(n)}const JF=new Map;function hu(e,t){JF.set(e,t)}function DSe(e){return JF.get(e)}function PSe(e,t,n){const s=t.replace(/^\//,"").split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));let i=e;for(let r=0;rx2(s,e.dataModel),resolveString:s=>LSe(s,e.dataModel),dispatchAction:t,render:s=>{if(!s)return null;const i=e.components[s];if(!i)return null;const r=DSe(i.component)??BSe;return o.jsx(r,{node:i,ctx:n},s)}};return o.jsx("div",{className:"a2ui-surface","data-a2ui-surface":e.surfaceId,children:n.render(e.rootId)})}function FSe(e){const t=b.useRef(null),n=b.useRef(!0),s=28,i=b.useCallback(()=>{const r=t.current;r&&(n.current=r.scrollHeight-r.scrollTop-r.clientHeight{const r=t.current;r&&n.current&&(r.scrollTop=r.scrollHeight)},[e]),{ref:t,onScroll:i}}function xx({value:e,skillPrefix:t="/",onRemoveSkill:n,onRemoveAgent:s}){return e.skills.length===0&&!e.targetAgent?null:o.jsxs("div",{className:"invocation-chips","aria-label":"本轮调用上下文",children:[e.skills.map(i=>o.jsxs("span",{className:"invocation-chip invocation-chip--skill",title:i.description,children:[o.jsx(zc,{"aria-hidden":!0}),o.jsxs("span",{children:[t,i.name]}),n?o.jsx("button",{type:"button",onClick:()=>n(i.name),"aria-label":`移除技能 ${i.name}`,children:o.jsx(_i,{})}):null]},i.name)),e.targetAgent?o.jsxs("span",{className:"invocation-chip invocation-chip--agent",title:e.targetAgent.description,children:[o.jsx(bP,{"aria-hidden":!0}),o.jsx("span",{children:e.targetAgent.name}),s?o.jsx("button",{type:"button",onClick:s,"aria-label":`移除 Agent ${e.targetAgent.name}`,children:o.jsx(_i,{})}):null]}):null]})}function E2(e=""){return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e==="application/pdf"?"pdf":e==="text/markdown"?"markdown":"text"}function t$(e){var n,s,i,r;const t=E2(e.mimeType);return t==="pdf"?"PDF":t==="markdown"?"MD":t==="video"?((s=(n=e.mimeType)==null?void 0:n.split("/")[1])==null?void 0:s.toUpperCase())??"VIDEO":t==="image"?((r=(i=e.mimeType)==null?void 0:i.split("/")[1])==null?void 0:r.toUpperCase())??"IMAGE":"TXT"}function n$(e){return e?e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:""}function s$(e,t){return e.previewUrl?e.previewUrl:e.data?`data:${e.mimeType??"application/octet-stream"};base64,${e.data}`:e.uri?qP(t,e.uri):""}function $Se({kind:e}){return e==="image"?o.jsx(ek,{}):e==="video"?o.jsx(xP,{}):e==="pdf"?o.jsx(XZ,{}):o.jsx(ZN,{})}function Ex({appName:e,items:t,compact:n=!1,onRemove:s}){const[i,r]=b.useState(null);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`media-grid${n?" media-grid--compact":""}`,children:t.map(a=>{const l=E2(a.mimeType),c=s$(a,e),u=a.status==="uploading"||a.status==="error"||!c,d=o.jsxs("button",{type:"button",className:"media-card-main",disabled:u,onClick:()=>r(a),"aria-label":`预览 ${a.name??"附件"}`,children:[l==="image"&&c?o.jsx("img",{className:"media-card-image",src:c,alt:a.name??"图片",loading:"lazy"}):l==="video"&&c?o.jsxs("div",{className:"media-card-video-container",children:[o.jsx("video",{className:"media-card-video",src:c,muted:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),o.jsx("span",{className:"media-card-video-play",children:o.jsx(bJ,{})})]}):o.jsx("span",{className:"media-card-icon",children:o.jsx($Se,{kind:l})}),o.jsxs("span",{className:"media-card-copy",children:[o.jsx("span",{className:"media-card-name",children:a.name??"附件"}),o.jsxs("span",{className:"media-card-meta",children:[o.jsx("span",{className:"media-card-type",children:t$(a)}),a.status==="uploading"?o.jsxs(o.Fragment,{children:[o.jsx(gn,{className:"media-card-spinner"})," 上传中"]}):a.status==="error"?a.error??"上传失败":n$(a.sizeBytes)]})]}),!n&&a.status!=="uploading"&&a.status!=="error"?o.jsx(Rc,{className:"media-card-open"}):null]});return o.jsxs(ts.div,{className:`media-card media-card--${l}${a.status==="error"?" media-card--error":""}`,layout:!0,initial:{opacity:0,scale:.985,y:4},animate:{opacity:1,scale:1,y:0},children:[l==="image"&&!u?o.jsx(hP,{src:c,children:d}):d,s?o.jsx("button",{type:"button",className:"media-card-remove","aria-label":`移除 ${a.name??"附件"}`,onClick:()=>s(a.id),children:o.jsx(_i,{})}):null]},a.id)})}),o.jsx(Eo,{children:i?o.jsx(HSe,{appName:e,item:i,onClose:()=>r(null)}):null})]})}function HSe({appName:e,item:t,onClose:n}){const s=b.useMemo(()=>s$(t,e),[e,t]),i=E2(t.mimeType),[r,a]=b.useState(""),[l,c]=b.useState(i==="text"||i==="markdown"),[u,d]=b.useState("");return b.useEffect(()=>{const f=h=>{h.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),b.useEffect(()=>{if(i!=="text"&&i!=="markdown")return;const f=new AbortController;return c(!0),d(""),fetch(s,{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||c(!1)}),()=>f.abort()},[i,s]),o.jsx(ts.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:o.jsxs(ts.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:[o.jsxs("header",{className:"media-viewer-header",children:[o.jsxs("div",{children:[o.jsx("strong",{children:t.name??"附件"}),o.jsxs("span",{children:[t$(t),t.sizeBytes?` · ${n$(t.sizeBytes)}`:""]})]}),o.jsxs("nav",{children:[o.jsx("a",{href:s,download:t.name,"aria-label":"下载",children:o.jsx(C1,{})}),o.jsx("button",{type:"button",onClick:n,"aria-label":"关闭",children:o.jsx(_i,{})})]})]}),o.jsxs("div",{className:`media-viewer-body media-viewer-body--${i}`,children:[i==="image"?o.jsx("img",{src:s,alt:t.name??"图片"}):null,i==="video"?o.jsx("div",{className:"media-viewer-video-wrapper",children:o.jsx("video",{src:s,controls:!0,autoPlay:!0,playsInline:!0,preload:"auto",className:"media-viewer-video"})}):null,i==="pdf"?o.jsx("iframe",{src:s,title:t.name??"PDF"}):null,l?o.jsxs("div",{className:"media-viewer-loading",children:[o.jsx(gn,{})," 正在读取文档…"]}):null,!l&&u?o.jsxs("div",{className:"media-viewer-loading",children:["文档加载失败:",u]}):null,!l&&i==="markdown"?o.jsx("div",{className:"media-document",children:o.jsx(zf,{text:r})}):null,!l&&i==="text"?o.jsx("pre",{className:"media-document media-document--plain",children:r}):null]})]})})}function zSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("circle",{cx:"10.25",cy:"10.25",r:"6.25"}),o.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 VSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.25",y:"5.25",width:"15.5",height:"13.5",rx:"2.25"}),o.jsx("circle",{cx:"8.1",cy:"9.3",r:"1.35"}),o.jsx("path",{d:"m4.7 16.5 3.65-3.7 2.45 2.25 2.2-2.2 4.35 4.1"}),o.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 i$(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.25",y:"5.25",width:"17.5",height:"13.5",rx:"2.4"}),o.jsx("path",{d:"M3.25 9h17.5M6.75 5.25 9.3 9M12 5.25 14.55 9M17.25 5.25 19.8 9"}),o.jsx("path",{d:"m10.25 11.45 4 2.55-4 2.55v-5.1Z"})]})}function GSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 5.25h15.5v10.5H4.25zM8.25 19.75h7.5M12 15.75v4"}),o.jsx("path",{d:"m7.25 12.75 2.35-2.4 2.15 1.65 3.4-3.6 1.6 1.55"}),o.jsx("circle",{cx:"7.25",cy:"8.4",r:".7",fill:"currentColor",stroke:"none"})]})}function KSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.jsx("path",{d:"M8.2 12.25h.01M8.2 16.8h.01"})]})}function qSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.25 4.25h4.5v15.5h-4.5zM8.75 5.75h5v14h-5zM13.75 4.25h4.1v10.25h-4.1z"}),o.jsx("path",{d:"M5.75 7h1.5M10.25 8.25h2M10.25 11h2M15.15 7h1.3"}),o.jsx("circle",{cx:"17.45",cy:"17.35",r:"2.45"}),o.jsx("path",{d:"m19.25 19.15 1.55 1.55"})]})}function YSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.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 WSe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"m4.2 8.4 1.15 10.2h13.3L19.8 8.4"}),o.jsx("path",{d:"M4.2 8.4h15.6L17.9 5H6.1L4.2 8.4Z"}),o.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"}),o.jsx("path",{d:"m8.2 15.1 1.45 1.35 1.45-1.35M13.55 16.45h2.35"})]})}function r$(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6 3.25 4.5 4.75L6 12.75"})})}function XSe({definition:e,label:t,done:n,open:s,onToggle:i}){const r=e.icon,a=t??(n?e.doneLabel:e.runningLabel);return o.jsxs("button",{type:"button",className:`builtin-tool-head${n?" is-done":" is-running"}`,"data-tool-tone":e.tone,onClick:i,"aria-expanded":s,children:[o.jsx("span",{className:"builtin-tool-icon","aria-hidden":"true",children:o.jsx(r,{})}),n?o.jsx("span",{className:"builtin-tool-label",children:a}):o.jsx(Vl,{className:"builtin-tool-label",duration:2.4,spread:18,"aria-live":"polite",children:a}),o.jsx(r$,{className:`builtin-tool-chevron${s?" is-open":""}`})]})}const QSe={web_search:{name:"web_search",runningLabel:"正在进行网络搜索",doneLabel:"已完成网络搜索",tone:"search",icon:zSe},run_code:{name:"run_code",runningLabel:"正在 AgentKit 沙箱中执行代码",doneLabel:"已在 AgentKit 沙箱中完成代码执行",tone:"sandbox",icon:WSe},image_generate:{name:"image_generate",runningLabel:"正在生成图片",doneLabel:"已完成图片生成",tone:"image",icon:VSe},video_generate:{name:"video_generate",runningLabel:"正在生成视频",doneLabel:"已完成视频生成",tone:"video",icon:i$},ppt_generate:{name:"ppt_generate",runningLabel:"正在生成 PPT",doneLabel:"已完成 PPT 生成",tone:"presentation",icon:GSe},load_memory:{name:"load_memory",runningLabel:"正在检索长期记忆",doneLabel:"已完成记忆检索",tone:"memory",icon:KSe},load_knowledgebase:{name:"load_knowledgebase",runningLabel:"正在检索知识库",doneLabel:"已完成知识库检索",tone:"knowledge",icon:qSe},load_skill:{name:"load_skill",runningLabel:"正在加载技能",doneLabel:"已加载技能",tone:"skill",icon:YSe}};function ZSe(e){return QSe[e]}const a$="send_a2ui_json_to_client",JSe=28;function e_e(e,t,n){let s=t;for(let i=0;i65535?2:1}return s}function t_e(e){return e<=4?1:Math.min(18,Math.max(2,Math.ceil(e/6)))}function o$(e,t,n){const[s,i]=b.useState(()=>t?"":e),r=b.useRef(s),a=b.useRef(e),l=b.useRef(null),c=b.useRef(0),u=b.useRef(n);return a.current=e,u.current=n,b.useEffect(()=>{const d=r.current,f=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!t||f||!e.startsWith(d)){l.current!==null&&window.cancelAnimationFrame(l.current),l.current=null,d!==e&&(r.current=e,i(e));return}if(d===e||l.current!==null)return;const h=m=>{const p=a.current,g=r.current;if(!p.startsWith(g)){r.current=p,i(p),l.current=null;return}if(m-c.current{var d;(d=u.current)==null||d.call(u)},[s]),b.useEffect(()=>()=>{l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null)},[]),s}function n_e({className:e}){return o.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:o.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 s_e(){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.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 i_e(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 l$({text:e,done:t,answerStarted:n=!1,streaming:s=!1,onStreamFrame:i}){const[r,a]=b.useState(!(t||n)),l=b.useRef(!1);b.useEffect(()=>{l.current||a(!(t||n))},[n,t]);const c=()=>{l.current=!0,a(m=>!m)},u=e.replace(/^\s+/,""),d=o$(u,!t||s,i),{ref:f,onScroll:h}=FSe(d);return o.jsxs("div",{className:"block-thinking",children:[o.jsxs("button",{className:"think-head",onClick:c,type:"button",children:[o.jsx("span",{className:"think-icon","aria-hidden":"true",children:o.jsx(n_e,{className:`spark ${t?"":"pulse"}`})}),t?o.jsx("span",{className:"think-label think-label--done",children:"已完成思考"}):o.jsx(Vl,{className:"think-label",duration:2.4,spread:18,children:"思考中"}),o.jsx(zl,{className:`chev ${r?"open":""}`})]}),o.jsx("div",{className:`think-collapse ${r&&d?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:o.jsx("div",{className:"think-body scroll",ref:f,onScroll:h,children:d})})})]})}function c$(){return o.jsx(l$,{text:"",done:!1})}const r_e=b.memo(function({text:t,streaming:n,onStreamFrame:s}){const i=o$(t,n,s);return i?o.jsx("div",{className:"bubble",children:o.jsx(zf,{text:i})}):null});function a_e({name:e,args:t,response:n,done:s}){const[i,r]=b.useState(!1),a=e===a$?"渲染 UI":e,l=ZSe(e),c=n==null?null:typeof n=="string"?n:JSON.stringify(n,null,2),u=c&&c.length>2e3?c.slice(0,2e3)+` +…(已截断)`:c;return o.jsxs(ts.div,{className:`block-tool${l?" block-tool--builtin":""}`,initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[l?o.jsx(XSe,{definition:l,label:i_e(e,t),done:s,open:i,onToggle:()=>r(d=>!d)}):o.jsxs("button",{className:"tool-head tool-head--generic",onClick:()=>r(d=>!d),type:"button","aria-expanded":i,children:[o.jsx("span",{className:"tool-icon tool-icon--generic","aria-hidden":"true",children:o.jsx(s_e,{})}),s?o.jsx("span",{className:"tool-name",children:a}):o.jsx(Vl,{className:"tool-name",duration:2.2,spread:15,children:a}),o.jsx(r$,{className:`tool-chevron${i?" is-open":""}`})]}),o.jsx("div",{className:`think-collapse ${i?"open":""}`,children:o.jsx("div",{className:"think-collapse-inner",children:o.jsxs("div",{className:"tool-detail",children:[t!=null&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"参数"}),o.jsx("pre",{className:"tool-args",children:JSON.stringify(t,null,2)})]}),u!=null&&o.jsxs("div",{className:"tool-section",children:[o.jsx("div",{className:"tool-section-label",children:"返回"}),o.jsx("pre",{className:"tool-args tool-result",children:u})]})]})})})]})}function o_e({block:e,onDownload:t,onPreview:n}){const[s,i]=b.useState(""),[r,a]=b.useState(""),[l,c]=b.useState(null);b.useEffect(()=>()=>{l&&URL.revokeObjectURL(l.url)},[l]);const u=()=>c(null),d=async(m,p)=>{if(t){i(`download:${m}`),a("");try{await t(m,p)}catch(g){a(g instanceof Error?g.message:String(g))}finally{i("")}}},f=async(m,p,g)=>{if(n){i(`preview:${g}`),a("");try{const v=await n(m,p);c({name:g,url:v})}catch(v){a(v instanceof Error?v.message:String(v))}finally{i("")}}},h=e.files.filter(m=>!m.filename.endsWith(".preview.webp"));return o.jsxs("div",{className:"artifact-list",children:[h.map(m=>{const p=`${m.filename.replace(/\.pptx$/i,"")}.preview.webp`,g=e.files.find(v=>v.filename===p);return o.jsxs("div",{className:"artifact-card",children:[o.jsx("span",{className:"artifact-card__icon","aria-hidden":"true",children:o.jsx(ZN,{})}),o.jsxs("span",{className:"artifact-card__copy",children:[o.jsx("span",{className:"artifact-card__name",children:m.filename}),o.jsx("span",{className:"artifact-card__hint",children:"PowerPoint 演示文稿"})]}),o.jsxs("span",{className:"artifact-card__actions",children:[g&&o.jsxs("button",{className:"artifact-card__action",type:"button",disabled:!n||s!=="",onClick:()=>void f(g.filename,g.version,m.filename),children:[s===`preview:${m.filename}`?o.jsx(gn,{className:"spin"}):o.jsx(yP,{}),"预览"]}),o.jsxs("button",{className:"artifact-card__action artifact-card__action--primary",type:"button",disabled:!t||s!=="",onClick:()=>void d(m.filename,m.version),children:[s===`download:${m.filename}`?o.jsx(gn,{className:"spin"}):o.jsx(C1,{}),"下载"]})]})]},`${m.filename}:${m.version}`)}),r&&o.jsx("div",{className:"artifact-card__error",children:r}),l&&o.jsxs("div",{className:"artifact-preview",role:"dialog","aria-modal":"true","aria-label":`${l.name} 预览`,children:[o.jsx("button",{className:"artifact-preview__backdrop",type:"button","aria-label":"关闭预览",onClick:u}),o.jsxs("div",{className:"artifact-preview__panel",children:[o.jsxs("div",{className:"artifact-preview__header",children:[o.jsx("span",{children:l.name}),o.jsx("button",{type:"button","aria-label":"关闭预览",onClick:u,children:o.jsx(_i,{})})]}),o.jsx("div",{className:"artifact-preview__canvas",children:o.jsx("img",{src:l.url,alt:`${l.name} 幻灯片预览`})})]})]})]})}function l_e({block:e,onAuth:t}){const[n,s]=b.useState(e.done?"done":"idle"),[i,r]=b.useState(""),a=e.label||"MCP 工具集",l=(()=>{try{return e.authUri?new URL(e.authUri).host:""}catch{return""}})(),c=async()=>{if(t){r(""),s("authorizing");try{await t(e),s("done")}catch(d){r(d instanceof Error?d.message:String(d)),s("idle")}}};return e.done||n==="done"?o.jsxs(ts.div,{className:"auth-card-collapsed",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},children:[o.jsx(LR,{className:"auth-card-icon auth-card-icon--done"}),o.jsxs("span",{children:["已授权 · ",a]})]}):o.jsxs(ts.div,{className:"auth-card",initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[o.jsxs("div",{className:"auth-card-head",children:[o.jsx(LR,{className:"auth-card-icon"}),o.jsxs("span",{className:"auth-card-title",children:[a," 需要授权"]})]}),o.jsxs("p",{className:"auth-card-desc",children:["工具集 ",o.jsx("code",{className:"auth-card-code",children:a})," 使用 OAuth 保护, 需登录授权后方可调用。",l&&o.jsxs(o.Fragment,{children:[" ","将跳转至 ",o.jsx("code",{className:"auth-card-code",children:l})," 完成登录,"]}),"授权完成后对话自动继续。"]}),o.jsx("button",{className:"auth-card-btn",onClick:c,disabled:n==="authorizing"||!e.authUri,children:n==="authorizing"?o.jsxs(o.Fragment,{children:[o.jsx(gn,{className:"cw-i spin"})," 等待授权…"]}):o.jsx(o.Fragment,{children:"去授权"})}),!e.authUri&&o.jsx("div",{className:"auth-card-err",children:"未在事件中找到授权地址。"}),i&&o.jsx("div",{className:"auth-card-err",children:i})]})}function v2({blocks:e,appName:t="",streaming:n=!1,onStreamFrame:s,onAction:i,onAuth:r,onArtifactDownload:a,onArtifactPreview:l}){return o.jsx(o.Fragment,{children:e.map((c,u)=>{switch(c.kind){case"thinking":{const d=e.slice(u+1).some(f=>f.kind==="text"&&!!f.text.trim());return o.jsx(l$,{text:c.text,done:c.done,answerStarted:d,streaming:n,onStreamFrame:s},u)}case"text":{const d=c.text.replace(/^\s+/,"");return d?o.jsx(r_e,{text:d,streaming:n,onStreamFrame:s},u):null}case"attachment":return o.jsx(Ex,{appName:t,items:c.files},u);case"artifact":return o.jsx(o_e,{block:c,onDownload:a,onPreview:l},u);case"invocation":return o.jsx(xx,{value:c.value},u);case"tool":return c.name===a$&&c.done?null:o.jsx(a_e,{name:c.name,args:c.args,response:c.response,done:c.done},u);case"agent-transfer":return null;case"auth":return o.jsx(l_e,{block:c,onAuth:r},u);case"a2ui":return e$(c.messages).filter(d=>d.components[d.rootId]).map(d=>o.jsx(ts.div,{initial:{opacity:0,y:8,scale:.985},animate:{opacity:1,y:0,scale:1},transition:{type:"spring",stiffness:380,damping:30},children:o.jsx(USe,{surface:d,onAction:i})},`${u}-${d.surfaceId}`));default:return null}})})}function w2(e){return e.isComposing||e.keyCode===229}function c_e({className:e="icon"}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"m10.05 3.7 1.95-1.12 1.95 1.12"}),o.jsx("path",{d:"m16.25 5.03 3.9 2.25v4.5"}),o.jsx("path",{d:"M20.15 15.08v1.64l-3.9 2.25"}),o.jsx("path",{d:"m13.95 20.3-1.95 1.12-1.95-1.12"}),o.jsx("path",{d:"m7.75 18.97-3.9-2.25v-4.5"}),o.jsx("path",{d:"M3.85 8.92V7.28l3.9-2.25"}),o.jsx("path",{d:"m12 7.55 1.28 3.17L16.45 12l-3.17 1.28L12 16.45l-1.28-3.17L7.55 12l3.17-1.28L12 7.55Z",fill:"currentColor",stroke:"none"})]})}const ia=[{value:"agent",label:"Agent",description:"与当前选择的 Agent 对话"},{value:"temporary",label:"内置智能体",description:"使用平台提供的智能体"},{value:"skill-create",label:"创建 Skill",description:"使用两个模型生成并对比 Skill"}],u_e=[{label:"ArkClaw",kind:"openclaw"},{label:"Hermes 智能体",kind:"hermes"}];function SL({mode:e}){return e==="skill-create"?o.jsxs("svg",{className:"new-chat-mode__skill-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("path",{d:"M10 2.2l1.35 4.1 4.15 1.35-4.15 1.35L10 13.1 8.65 9 4.5 7.65 8.65 6.3 10 2.2Z"}),o.jsx("path",{d:"M15.6 12.2l.6 1.8 1.8.6-1.8.6-.6 1.8-.6-1.8-1.8-.6 1.8-.6.6-1.8Z"})]}):e==="temporary"?o.jsxs("svg",{className:"new-chat-mode__temporary-icon",viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("path",{d:"m10 2.8 6.1 3.45v7.5L10 17.2l-6.1-3.45v-7.5L10 2.8Z"}),o.jsx("path",{d:"m3.9 6.25 6.1 3.5 6.1-3.5M10 9.75v7.45"})]}):o.jsx(c_e,{className:"new-chat-mode__agent-icon"})}function d_e(){return o.jsx("svg",{className:"new-chat-mode__nested-chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:o.jsx("path",{d:"m4.5 3 3 3-3 3"})})}function f_e({value:e,onChange:t,disabled:n=!1,temporaryEnabled:s,skillCreateEnabled:i}){const[r,a]=b.useState(!1),[l,c]=b.useState(!1),[u,d]=b.useState(()=>ia.findIndex(T=>T.value===e)),f=b.useRef(null),h=b.useRef(null),m=ia.find(T=>T.value===e)??ia[0],p=m.value==="temporary"?"Codex 智能体":m.label;function g(T){return T.value==="temporary"?s:T.value==="skill-create"?i:!0}function v(T){return g(T)!==!0}function y(T){const S=g(T);return S===void 0?"正在检查配置":S?T.description:"管理员未配置"}b.useEffect(()=>{if(!r)return;const T=S=>{var N;(N=f.current)!=null&&N.contains(S.target)||(a(!1),c(!1))};return document.addEventListener("mousedown",T),()=>document.removeEventListener("mousedown",T)},[r]);function x(T){let S=u;do S=(S+T+ia.length)%ia.length;while(v(ia[S]));d(S),c(ia[S].value==="temporary")}function E(T){var S;if(!v(T)){if(T.value==="temporary"){c(!0);return}t(T.value),a(!1),c(!1),(S=h.current)==null||S.focus()}}function w(){t("temporary"),a(!1),c(!1)}return o.jsxs("div",{className:"new-chat-mode",ref:f,children:[o.jsxs("button",{ref:h,type:"button",className:"new-chat-mode__trigger","aria-label":"选择新会话模式","aria-haspopup":"listbox","aria-expanded":r,disabled:n,onClick:()=>{d(ia.findIndex(T=>T.value===e)),a(T=>(T&&c(!1),!T))},onKeyDown:T=>{T.key==="ArrowDown"||T.key==="ArrowUp"?(T.preventDefault(),r?x(T.key==="ArrowDown"?1:-1):a(!0)):r&&(T.key==="Enter"||T.key===" ")?(T.preventDefault(),E(ia[u])):r&&T.key==="Escape"&&(T.preventDefault(),a(!1),c(!1))},children:[o.jsx("span",{className:"new-chat-mode__icon",children:o.jsx(SL,{mode:m.value})}),o.jsx("span",{className:"new-chat-mode__current",title:p,children:p}),o.jsx("svg",{className:"new-chat-mode__chevron",viewBox:"0 0 12 12","aria-hidden":"true",children:o.jsx("path",{d:"m3 4.5 3 3 3-3"})})]}),r?o.jsx("div",{className:"new-chat-mode__menu",role:"listbox","aria-label":"新会话模式",tabIndex:-1,onKeyDown:T=>{var S;T.key==="ArrowDown"||T.key==="ArrowUp"?(T.preventDefault(),x(T.key==="ArrowDown"?1:-1)):T.key==="Enter"?(T.preventDefault(),E(ia[u])):T.key==="Escape"&&(T.preventDefault(),a(!1),c(!1),(S=h.current)==null||S.focus())},children:ia.map((T,S)=>{const N=T.value==="temporary";return o.jsxs("button",{type:"button",role:"option","aria-selected":e===T.value,"aria-haspopup":N?"menu":void 0,"aria-expanded":N?l:void 0,"aria-disabled":v(T),disabled:v(T),className:`new-chat-mode__option${S===u?" is-active":""}`,onMouseEnter:()=>{d(S),c(T.value==="temporary")},onClick:()=>E(T),children:[o.jsx("span",{className:"new-chat-mode__option-icon",children:o.jsx(SL,{mode:T.value})}),o.jsxs("span",{className:"new-chat-mode__copy",children:[o.jsxs("span",{className:"new-chat-mode__label",children:[T.label,T.value==="skill-create"?o.jsx("span",{className:"new-chat-mode__beta",children:"Beta"}):null]}),o.jsx("span",{children:y(T)})]}),N?o.jsx(d_e,{}):e===T.value?o.jsx("svg",{className:"new-chat-mode__check",viewBox:"0 0 16 16","aria-hidden":"true",children:o.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})}):null]},T.value)})}):null,r&&l?o.jsxs("div",{className:"new-chat-mode__submenu",role:"menu","aria-label":"内置智能体",children:[o.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",onClick:w,children:[o.jsx(Tp,{kind:"codex",className:"new-chat-mode__builtin-icon"}),o.jsxs("span",{className:"new-chat-mode__copy",children:[o.jsx("span",{className:"new-chat-mode__label",children:"Codex 智能体"}),o.jsx("span",{children:"在沙箱中执行任务"})]})]}),u_e.map(({label:T,kind:S})=>o.jsxs("button",{type:"button",role:"menuitem",className:"new-chat-mode__submenu-option",disabled:!0,children:[o.jsx(Tp,{kind:S,className:"new-chat-mode__builtin-icon"}),o.jsxs("span",{className:"new-chat-mode__copy",children:[o.jsx("span",{className:"new-chat-mode__label",children:T}),o.jsx("span",{children:"暂不可用"})]})]},T))]}):null]})}const Du=[{id:"general",label:"通用智能体"},{id:"codex",label:"Codex 智能体"},{id:"openclaw",label:"OpenClaw 智能体"},{id:"hermes",label:"Hermes 智能体"}],h_e=15,m_e=15e3,p_e=120,g_e=180;function _L(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.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 b_e(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m3.25 8.25 3 3 6.5-6.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Zv({type:e,className:t="new-chat-agent-picker__type-icon"}){return e==="general"?o.jsx(jc,{className:t}):o.jsx(Tp,{kind:e,className:t})}function y_e({selectedAgentName:e="",selectedRuntimeId:t="",runtimeScope:n,disabled:s=!1,onSelectRuntime:i,onSelectSandboxSession:r}){var pe;const[a,l]=b.useState(!1),[c,u]=b.useState(null),[d,f]=b.useState(0),[h,m]=b.useState(0),[p,g]=b.useState("types"),[v,y]=b.useState(!1),[x,E]=b.useState([]),[w,T]=b.useState([]),[S,N]=b.useState(null),[A,C]=b.useState(""),[I,O]=b.useState(!1),[L,G]=b.useState(""),[D,F]=b.useState(""),k=b.useRef(null),j=b.useRef(null),P=b.useRef(null),$=b.useRef(0),R=b.useRef(null),q=b.useRef(null),Q=b.useRef(null),B=((pe=Du.find(oe=>oe.id===c))==null?void 0:pe.label)??"智能体",ee=b.useCallback((oe=!1)=>{var ve;q.current!==null&&(window.clearTimeout(q.current),q.current=null),Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null),l(!1),u(null),g("types"),y(!1),oe&&((ve=j.current)==null||ve.focus())},[]),z=b.useCallback(async(oe="",ve=!1)=>{const xe=++$.current;let Ze;O(!0),G("");try{const De=await Promise.race([F1({scope:n,region:"all",pageSize:h_e,nextToken:oe}),new Promise((Ve,Se)=>{Ze=window.setTimeout(()=>{Se(new Error("加载智能体超时(15 秒),请检查网络或 Runtime 服务后重试"))},m_e)})]);if($.current!==xe)return;E(Ve=>{const Se=ve?De.runtimes:[...Ve,...De.runtimes];return Se.filter((Fe,He)=>Se.findIndex(Ge=>Ge.runtimeId===Fe.runtimeId)===He)}),C(De.nextToken),m(0)}catch(De){if($.current!==xe)return;G(bd(De,"加载通用智能体","GET /web/runtimes"))}finally{window.clearTimeout(Ze),$.current===xe&&O(!1)}},[n]),K=b.useCallback(async oe=>{var Ze,De;(Ze=R.current)==null||Ze.abort();const ve=new AbortController;R.current=ve;const xe=++$.current;O(!0),G(""),T([]);try{const Ve=oe==="codex"?await on.listSessions({signal:ve.signal}):await on.listAgentSessions(oe,{signal:ve.signal});if($.current!==xe)return;T(Ve),N(oe),m(0)}catch(Ve){if((Ve==null?void 0:Ve.name)==="AbortError"||$.current!==xe)return;G(bd(Ve,`加载 ${((De=Du.find(Se=>Se.id===oe))==null?void 0:De.label)??oe}`,`GET /web/${oe==="codex"?"sandbox":oe}/sessions`)),N(oe)}finally{R.current===ve&&(R.current=null),$.current===xe&&O(!1)}},[]);b.useEffect(()=>{!a||c!=="general"||x.length>0||I||L||z("",!0)},[c,L,z,I,a,x.length]),b.useEffect(()=>{!a||c===null||c==="general"||S===c||K(c)},[c,K,S,a]),b.useEffect(()=>{if(!a)return;const oe=ve=>{var xe;(xe=k.current)!=null&&xe.contains(ve.target)||ee()};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[ee,a]),b.useEffect(()=>()=>{var oe;$.current+=1,(oe=R.current)==null||oe.abort(),q.current!==null&&window.clearTimeout(q.current),Q.current!==null&&window.clearTimeout(Q.current)},[]);function ne(oe,ve=!1){q.current!==null&&(window.clearTimeout(q.current),q.current=null),Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null),l(!0),u(ve?"general":null),f(0),g("types"),y(ve),oe&&requestAnimationFrame(()=>{var xe;return(xe=P.current)==null?void 0:xe.focus()})}function W(){s||a||q.current!==null||(q.current=window.setTimeout(()=>{q.current=null,ne(!1)},p_e))}function de(){Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null)}function ye(){q.current!==null&&(window.clearTimeout(q.current),q.current=null),!(!a||Q.current!==null)&&(Q.current=window.setTimeout(()=>{Q.current=null,ee()},g_e))}function _e(oe){var Ze;const ve=(oe+Du.length)%Du.length,xe=Du[ve].id;xe!==c&&($.current+=1,(Ze=R.current)==null||Ze.abort(),R.current=null,O(!1),G("")),f(ve),u(xe),m(0)}async function ue(oe){if(!D){F(oe.runtimeId),G("");try{await i(oe),ee(!0)}catch(ve){G(bd(ve,"连接通用智能体"))}finally{F("")}}}async function me(oe){if(!D){F(oe.id),G("");try{await r(oe),ee(!0)}catch(ve){G(bd(ve,`打开 ${B}`))}finally{F("")}}}function Ce(oe){if(oe.key==="Escape"){oe.preventDefault(),ee(!0);return}if(["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Enter"].includes(oe.key)&&y(!0),p==="types"){oe.key==="ArrowDown"||oe.key==="ArrowUp"?(oe.preventDefault(),_e(d+(oe.key==="ArrowDown"?1:-1))):(oe.key==="ArrowRight"||oe.key==="Enter")&&(oe.preventDefault(),c===null&&_e(d),g("runtimes"));return}if(oe.key==="ArrowLeft")oe.preventDefault(),g("types");else if((c==="general"?x:w).length>0&&(oe.key==="ArrowDown"||oe.key==="ArrowUp")){oe.preventDefault();const ve=oe.key==="ArrowDown"?1:-1,xe=c==="general"?x.length:w.length;m(Ze=>(Ze+ve+xe)%xe)}else oe.key==="Enter"&&c==="general"&&x[h]?(oe.preventDefault(),ue(x[h])):oe.key==="Enter"&&c!=="general"&&w[h]&&(oe.preventDefault(),me(w[h]))}return o.jsxs("div",{className:"new-chat-agent-picker",ref:k,onPointerEnter:oe=>{oe.pointerType==="mouse"&&de()},onPointerLeave:oe=>{oe.pointerType==="mouse"&&ye()},children:[o.jsxs("button",{ref:j,type:"button",className:"new-chat-agent-picker__trigger","aria-label":"选择智能体","aria-haspopup":"menu","aria-expanded":a,disabled:s,onPointerEnter:oe=>{oe.pointerType==="mouse"&&W()},onClick:()=>a?ee():ne(!0),onKeyDown:oe=>{oe.key==="ArrowDown"||oe.key==="ArrowUp"?(oe.preventDefault(),a||ne(!0,!0)):oe.key==="Escape"&&a&&(oe.preventDefault(),ee(!0))},children:[o.jsx(jc,{className:"new-chat-agent-picker__trigger-icon"}),o.jsx("span",{title:e||"选择智能体",children:e||"选择智能体"}),o.jsx(_L,{className:"new-chat-agent-picker__trigger-chevron"})]}),a?o.jsxs("div",{ref:P,className:"new-chat-agent-picker__menus",tabIndex:-1,onKeyDown:Ce,onPointerMove:oe=>{oe.pointerType==="mouse"&&y(!1)},children:[o.jsx("div",{className:"new-chat-agent-picker__menu",role:"menu","aria-label":"智能体类型",children:Du.map((oe,ve)=>o.jsxs("button",{type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":c===oe.id,className:`new-chat-agent-picker__type${v&&p==="types"&&d===ve?" is-keyboard-active":""}`,onMouseEnter:()=>_e(ve),onClick:()=>{_e(ve),g("runtimes")},children:[o.jsx(Zv,{type:oe.id}),o.jsx("span",{children:oe.label}),o.jsx(_L,{className:"new-chat-agent-picker__nested-chevron"})]},oe.id))}),c!==null?o.jsx("div",{className:"new-chat-agent-picker__submenu",role:"listbox","aria-label":`${B}列表`,children:c!=="general"&&I&&w.length===0?o.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):c!=="general"&&L&&w.length===0?o.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[o.jsx("span",{children:L}),o.jsx("button",{type:"button",onClick:()=>void K(c),children:"重新加载"})]}):c!=="general"&&w.length===0?o.jsxs(Jn,{className:"new-chat-agent-picker__empty",fill:"none",children:[o.jsx(Jn.Icon,{size:"sm",children:o.jsx(Zv,{type:c,className:"new-chat-agent-picker__empty-agent-icon"})}),o.jsx(Jn.Title,{children:o.jsxs("span",{className:"new-chat-agent-picker__empty-title",children:["暂无 ",B]})}),o.jsx(Jn.Description,{children:"请前往智能体页创建"})]}):c!=="general"?o.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:w.map((oe,ve)=>{const xe=D===oe.id;return o.jsxs("button",{type:"button",role:"option","aria-selected":!1,"aria-busy":xe||void 0,className:`new-chat-agent-picker__runtime${v&&p==="runtimes"&&h===ve?" is-keyboard-active":""}`,disabled:!!D,title:`${oe.displayName||B} · ${oe.id}`,onMouseEnter:()=>m(ve),onClick:()=>void me(oe),children:[o.jsx(Zv,{type:c,className:"new-chat-agent-picker__runtime-icon"}),o.jsx("span",{children:oe.displayName||B}),o.jsx("small",{children:xe?"正在打开":bx(oe.status)})]},oe.id)})}):I&&x.length===0?o.jsxs("div",{className:"new-chat-agent-picker__status",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"new-chat-agent-picker__spinner","aria-hidden":"true"}),"正在加载智能体"]}):L&&x.length===0?o.jsxs("div",{className:"new-chat-agent-picker__error",role:"alert",children:[o.jsx("span",{children:L}),o.jsx("button",{type:"button",onClick:()=>void z("",!0),children:"重新加载"})]}):x.length===0?o.jsxs(Jn,{className:"new-chat-agent-picker__empty",fill:"none",children:[o.jsx(Jn.Icon,{size:"sm",children:o.jsx(jc,{})}),o.jsx(Jn.Title,{children:o.jsx("span",{className:"new-chat-agent-picker__empty-title",children:"暂无通用智能体"})}),o.jsx(Jn.Description,{children:"请前往智能体页创建"})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"new-chat-agent-picker__runtime-list",children:x.map((oe,ve)=>{const xe=D===oe.runtimeId,Ze=oe.runtimeId===t;return o.jsxs("button",{type:"button",role:"option","aria-selected":Ze,"aria-busy":xe||void 0,className:`new-chat-agent-picker__runtime${v&&p==="runtimes"&&h===ve?" is-keyboard-active":""}`,disabled:!!D,title:oe.name,onMouseEnter:()=>m(ve),onClick:()=>void ue(oe),children:[o.jsx(jc,{className:"new-chat-agent-picker__runtime-icon"}),o.jsx("span",{children:oe.name}),xe?o.jsx("small",{children:"正在连接"}):Ze?o.jsx(b_e,{className:"new-chat-agent-picker__check"}):null]},oe.runtimeId)})}),L?o.jsx("div",{className:"new-chat-agent-picker__inline-error",role:"alert",children:L}):null,A?o.jsx("button",{type:"button",className:"new-chat-agent-picker__load-more",disabled:I||!!D,onClick:()=>void z(A),children:I?"加载中":"加载更多"}):null]})}):null]}):null]})}const u$={ppt:["ppt_generate"],image:["image_generate"],video:["video_generate"]},x_e={ppt:[],image:[],video:["video_task_query"]},S2=["doubao-seed-2-0-pro-260215","deepseek-v4-flash-260425"];function TL(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"4.25",y:"6.25",width:"13.5",height:"13.5",rx:"2.5"}),o.jsx("path",{d:"M11 10v6M8 13h6"}),o.jsx("path",{d:"m19.25 2.75.53 1.47 1.47.53-1.47.53-.53 1.47-.53-1.47-1.47-.53 1.47-.53.53-1.47Z",fill:"currentColor",stroke:"none"})]})}const NL=[{value:"ppt",label:"PPT",icon:fJ,prompts:["复盘【季度】经营表现,提炼指标差距、原因与行动建议","汇报【项目名称】进展:里程碑、风险、预算和资源诉求","为【客户行业】输出解决方案:痛点、架构、实施路径与收益","分析【行业主题】趋势,给出竞争格局、机会与战略建议"]},{value:"image",label:"图片生成",icon:ek,prompts:["为【品牌或产品】设计【高级科技】风格的发布会主视觉","生成【产品名称】电商海报,突出【核心卖点】与品牌色","呈现【产品或空间】在【使用场景】中的写实概念效果图","围绕【传播主题】制作简洁专业的企业社媒配图"]},{value:"video",label:"视频生成",icon:i$,prompts:["制作【品牌名称】30 秒宣传片,突出【品牌价值】","为【产品名称】制作 45 秒发布视频:痛点、功能、场景与行动号召","制作【培训主题】企业培训视频,讲清【关键操作或规范】","生成【活动名称】20 秒预热视频,包含亮点、时间地点和报名信息"]}];function E_e({sessionId:e,sessionInitializing:t=!1,appName:n,agentName:s,value:i,onChange:r,onSubmit:a,disabled:l,busy:c,showMeta:u,attachments:d,skills:f,agents:h,invocation:m,capabilitiesLoading:p=!1,allowAttachments:g=!0,onInvocationChange:v,onAddFiles:y,onRemoveAttachment:x,newChatMode:E="agent",newChatTask:w=null,newChatLayout:T=!1,showModeSelector:S=!1,onModeChange:N,onTaskChange:A,temporaryEnabled:C,skillCreateEnabled:I,harnessEnabled:O=!1,builtinTools:L=[],showAgentPicker:G=!1,agentPickerDisabled:D=!1,selectedRuntimeId:F="",runtimeScope:k="mine",onSelectRuntime:j,onSelectSandboxSession:P}){const $=b.useRef(null),R=b.useRef(null),q=b.useRef(null),Q=b.useRef(null),[B,ee]=b.useState(!1),[z,K]=b.useState(null),[ne,W]=b.useState(0),[de,ye]=b.useState(!1);async function _e(){if(e)try{await navigator.clipboard.writeText(e),ye(!0),setTimeout(()=>ye(!1),1500)}catch{ye(!1)}}b.useLayoutEffect(()=>{const se=$.current;se&&(se.style.height="auto",se.style.height=`${Math.min(se.scrollHeight,200)}px`)},[i]);const ue=E==="skill-create";b.useEffect(()=>{ue&&(ee(!1),K(null))},[ue]);const me=!ue&&d.some(se=>se.status!=="ready"),Ce=!l&&!c&&!me&&(i.trim().length>0||!ue&&d.length>0),pe=ue?`描述你想创建的 Skill,将使用 ${S2.join(" 和 ")} 并行创建…`:l?"请先选择智能体":`向 ${s} 发消息…`,oe=(z==null?void 0:z.query.toLocaleLowerCase())??"",ve=(z==null?void 0:z.kind)==="skill"?f.filter(se=>!m.skills.some(ge=>ge.name===se.name)).filter(se=>`${se.name} ${se.description}`.toLocaleLowerCase().includes(oe)).map(se=>({kind:"skill",value:se})):(z==null?void 0:z.kind)==="agent"?h.filter(se=>`${se.name} ${se.description}`.toLocaleLowerCase().includes(oe)).map(se=>({kind:"agent",value:se})):[];function xe(se){var ge;ee(!1),K(null),(ge=se.current)==null||ge.click()}function Ze(se){A==null||A(se.value),ee(!1),K(null),requestAnimationFrame(()=>{var ge,Pe;(ge=$.current)==null||ge.focus(),(Pe=$.current)==null||Pe.setSelectionRange(i.length,i.length)})}function De(se){r(se),ee(!1),K(null),requestAnimationFrame(()=>{var Ye,bt,ot;(Ye=$.current)==null||Ye.focus();const ge=se.indexOf("【"),Pe=se.indexOf("】",ge+1);ge>=0&&Pe>ge?(bt=$.current)==null||bt.setSelectionRange(ge+1,Pe):(ot=$.current)==null||ot.setSelectionRange(se.length,se.length)})}function Ve(){A==null||A(null),r(""),ee(!1),K(null),requestAnimationFrame(()=>{var se,ge;(se=$.current)==null||se.focus(),(ge=$.current)==null||ge.setSelectionRange(0,0)})}const Se=NL.find(se=>se.value===w),Fe=NL.filter(se=>u$[se.value].every(ge=>L.includes(ge)));function He(se,ge){const Pe=se.slice(0,ge),Ye=/(^|\s)([/@])([^\s/@]*)$/.exec(Pe);if(!Ye){K(null);return}const bt=Ye[2].length+Ye[3].length,ot={kind:Ye[2]==="/"?"skill":"agent",query:Ye[3],start:ge-bt,end:ge},fn=!z||z.kind!==ot.kind||z.query!==ot.query||z.start!==ot.start||z.end!==ot.end;K(ot),fn&&W(0),ee(!1)}function Ge(se){if(!z)return;const ge=i.slice(0,z.start)+i.slice(z.end);r(ge),se.kind==="skill"?v({...m,skills:[...m.skills,se.value]}):v({skills:[],targetAgent:se.value});const Pe=z.start;K(null),requestAnimationFrame(()=>{var Ye,bt;(Ye=$.current)==null||Ye.focus(),(bt=$.current)==null||bt.setSelectionRange(Pe,Pe)})}function X(){if(m.targetAgent){v({skills:[]});return}m.skills.length>0&&v({...m,skills:m.skills.slice(0,-1)})}function ie(se){const ge=se.target.files?Array.from(se.target.files):[];ge.length&&y(ge),se.target.value=""}return o.jsxs("div",{className:`composer${T?" composer--new-chat":""}${ue?" composer--skill-mode":""}${Se?` composer--has-task composer--task-${Se.value}`:""}`,children:[ue?null:o.jsx(xx,{value:m,onRemoveSkill:se=>v({...m,skills:m.skills.filter(ge=>ge.name!==se)}),onRemoveAgent:()=>v({skills:[]})}),!ue&&d.length>0&&o.jsx(Ex,{appName:n,compact:!0,items:d,onRemove:x}),o.jsxs("div",{className:"composer-box",children:[z?o.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":z.kind==="skill"?"可用技能":"可用子 Agent",children:[o.jsxs("div",{className:"composer-command-head",children:[z.kind==="skill"?o.jsx(zc,{}):o.jsx(bP,{}),o.jsx("span",{children:z.kind==="skill"?"调用技能":"使用子 Agent"}),o.jsx("kbd",{children:z.kind==="skill"?"/":"@"})]}),p?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(gn,{className:"spin"})," 正在读取 Agent 能力…"]}):ve.length===0?o.jsx("div",{className:"composer-command-empty",children:z.kind==="skill"?"当前 Agent 没有匹配技能":"当前 Agent 没有匹配子 Agent"}):o.jsx("div",{className:"composer-command-list",children:ve.map((se,ge)=>o.jsxs("button",{type:"button",role:"option","aria-selected":ge===ne,className:`composer-command-item${ge===ne?" is-active":""}`,onMouseDown:Pe=>{Pe.preventDefault(),Ge(se)},onMouseEnter:()=>W(ge),children:[o.jsx("span",{className:`composer-command-icon composer-command-icon--${se.kind}`,children:se.kind==="skill"?o.jsx(zc,{}):o.jsx(Hc,{})}),o.jsxs("span",{className:"composer-command-copy",children:[o.jsxs("strong",{children:[se.kind==="skill"?"/":"@",se.value.name]}),o.jsx("span",{children:se.value.description||(se.kind==="skill"?"加载并执行该技能":"将本轮交给该 Agent")})]}),o.jsx("kbd",{children:ge===ne?"↵":se.kind==="skill"?"技能":"Agent"})]},`${se.kind}-${se.value.name}`))})]}):null,ue?null:o.jsxs("div",{className:"composer-menu-wrap",children:[o.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:l||!g,onClick:()=>{K(null),ee(se=>!se)},children:o.jsx(vi,{className:"icon"})}),B&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>ee(!1)}),o.jsxs("div",{className:"composer-menu",role:"menu",children:[o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>xe(R),children:[o.jsx(ek,{className:"icon"}),"上传图片"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>xe(q),children:[o.jsx(ZN,{className:"icon"}),"上传文档或 PDF"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>xe(Q),children:[o.jsx(xP,{className:"icon"}),"上传视频"]})]})]})]}),G&&j&&P?o.jsx(y_e,{selectedAgentName:n?s:"",selectedRuntimeId:F,runtimeScope:k,disabled:D,onSelectRuntime:j,onSelectSandboxSession:P}):null,S&&N?o.jsx(f_e,{value:E,onChange:N,disabled:c,temporaryEnabled:C,skillCreateEnabled:I}):null,T&&E==="agent"&&Se&&A?o.jsxs("button",{type:"button",className:`new-chat-task-chip new-chat-task-chip--${Se.value}`,"aria-label":`取消${Se.label}任务`,disabled:c,onClick:Ve,children:[o.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[o.jsx(Se.icon,{className:"new-chat-task-chip__task-icon"}),o.jsx(_i,{className:"new-chat-task-chip__remove-icon"})]}),o.jsx("span",{children:Se.label})]}):null,T&&ue&&N?o.jsxs("button",{type:"button",className:"new-chat-task-chip new-chat-task-chip--skill","aria-label":"退出创建 Skill",disabled:c,onClick:()=>N("agent"),children:[o.jsxs("span",{className:"new-chat-task-chip__icon","aria-hidden":"true",children:[o.jsx(TL,{className:"new-chat-task-chip__task-icon"}),o.jsx(_i,{className:"new-chat-task-chip__remove-icon"})]}),o.jsx("span",{children:"Skill"})]}):null,o.jsxs("div",{className:"composer-input-stack",children:[o.jsx("textarea",{ref:$,className:"comp-input scroll",rows:T?4:1,value:i,disabled:l,placeholder:pe,"aria-expanded":!!z,onChange:se=>{r(se.target.value),ue||He(se.target.value,se.target.selectionStart)},onSelect:se=>{ue||He(se.currentTarget.value,se.currentTarget.selectionStart)},onBlur:()=>setTimeout(()=>K(null),0),onKeyDown:se=>{if(!w2(se.nativeEvent)){if(z){if(se.key==="ArrowDown"&&ve.length>0){se.preventDefault(),W(ge=>(ge+1)%ve.length);return}if(se.key==="ArrowUp"&&ve.length>0){se.preventDefault(),W(ge=>(ge-1+ve.length)%ve.length);return}if((se.key==="Enter"||se.key==="Tab")&&ve[ne]){se.preventDefault(),Ge(ve[ne]);return}if(se.key==="Escape"){se.preventDefault(),K(null);return}}if(se.key==="Backspace"&&!i&&se.currentTarget.selectionStart===0&&se.currentTarget.selectionEnd===0){X();return}se.key==="Enter"&&!se.shiftKey&&(se.preventDefault(),Ce&&a())}}}),T&&i.length===0?o.jsx("span",{className:"composer-placeholder-reveal","aria-hidden":"true",children:pe},pe):null]}),o.jsx(ts.button,{type:"button",className:"comp-send",disabled:!Ce,onClick:a,"aria-label":"发送",whileTap:Ce?{scale:.9}:void 0,transition:{type:"spring",stiffness:600,damping:22},children:c?o.jsx(gn,{className:"icon spin"}):o.jsx(gP,{className:"icon"})})]}),T&&E==="agent"&&O&&!Se?o.jsxs("div",{className:"task-shortcuts","aria-label":"选择任务类型",children:[Fe.map(se=>{const ge=se.icon;return o.jsxs("button",{type:"button",className:"task-shortcut",disabled:l||c,onClick:()=>Ze(se),children:[o.jsx(ge,{}),o.jsx("span",{children:se.label})]},se.value)}),I===!0?o.jsxs("button",{type:"button",className:"task-shortcut",disabled:c,onClick:()=>N==null?void 0:N("skill-create"),children:[o.jsx(TL,{}),o.jsx("span",{children:"创建 Skill"})]}):null]}):null,T&&E==="agent"&&Se?o.jsx("div",{className:"prompt-suggestions","aria-label":`${Se.label}企业提示词`,children:Se.prompts.map(se=>{const ge=Se.icon;return o.jsxs("button",{type:"button",className:"prompt-suggestion",disabled:l||c,onClick:()=>De(se),children:[o.jsx(ge,{}),o.jsx("span",{children:se})]},se)})}):null,u&&o.jsxs("div",{className:"composer-meta",children:[o.jsxs("span",{className:"composer-session-line",children:["会话 ID:",o.jsx("span",{className:"composer-session-id",title:e||void 0,"aria-live":"polite",children:t?"初始化中":e||"—"}),e&&o.jsx("button",{type:"button",className:"composer-session-copy",title:de?"已复制":"复制会话 ID","aria-label":de?"已复制会话 ID":"复制会话 ID",onClick:()=>void _e(),children:de?o.jsx(Ya,{}):o.jsx(A1,{})})]}),o.jsx("span",{className:"composer-meta-separator","aria-hidden":!0,children:"|"}),o.jsx("span",{children:"回答仅供参考"})]}),o.jsx("input",{ref:R,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:ie}),o.jsx("input",{ref:q,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:ie}),o.jsx("input",{ref:Q,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:ie})]})}function d$({title:e,sub:t,cards:n,footer:s}){return o.jsxs("div",{className:"stk",children:[o.jsxs("div",{className:"stk-head",children:[o.jsx("h1",{className:"stk-title",children:e}),t&&o.jsx("p",{className:"stk-sub",children:t})]}),o.jsx("div",{className:"stk-list",children:n.map((i,r)=>o.jsxs(ts.button,{type:"button",className:`stk-card ${i.disabled?"stk-card-disabled":""}`,onClick:i.disabled?void 0:i.onClick,disabled:i.disabled,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.18,ease:"easeOut",delay:r*.04},children:[o.jsx("span",{className:"stk-card-icon",children:o.jsx(i.icon,{})}),o.jsxs("span",{className:"stk-card-text",children:[o.jsx("span",{className:"stk-card-title",children:i.title}),o.jsx("span",{className:"stk-card-desc",children:i.desc})]}),o.jsx(zl,{className:"stk-card-arrow"})]},i.key))}),s&&o.jsx("div",{className:"stk-footer",children:s})]})}const _2=Symbol.for("yaml.alias"),$_=Symbol.for("yaml.document"),Dl=Symbol.for("yaml.map"),f$=Symbol.for("yaml.pair"),Ga=Symbol.for("yaml.scalar"),Gf=Symbol.for("yaml.seq"),Zr=Symbol.for("yaml.node.type"),Kf=e=>!!e&&typeof e=="object"&&e[Zr]===_2,dg=e=>!!e&&typeof e=="object"&&e[Zr]===$_,fg=e=>!!e&&typeof e=="object"&&e[Zr]===Dl,Ls=e=>!!e&&typeof e=="object"&&e[Zr]===f$,Vn=e=>!!e&&typeof e=="object"&&e[Zr]===Ga,hg=e=>!!e&&typeof e=="object"&&e[Zr]===Gf;function js(e){if(e&&typeof e=="object")switch(e[Zr]){case Dl:case Gf:return!0}return!1}function Ms(e){if(e&&typeof e=="object")switch(e[Zr]){case _2:case Dl:case Ga:case Gf:return!0}return!1}const h$=e=>(Vn(e)||js(e))&&!!e.anchor,gc=Symbol("break visit"),v_e=Symbol("skip children"),Dm=Symbol("remove node");function qf(e,t){const n=w_e(t);dg(e)?xd(null,e.contents,n,Object.freeze([e]))===Dm&&(e.contents=null):xd(null,e,n,Object.freeze([]))}qf.BREAK=gc;qf.SKIP=v_e;qf.REMOVE=Dm;function xd(e,t,n,s){const i=S_e(e,t,n,s);if(Ms(i)||Ls(i))return __e(e,s,i),xd(e,i,n,s);if(typeof i!="symbol"){if(js(t)){s=Object.freeze(s.concat(t));for(let r=0;re.replace(/[!,[\]{}]/g,t=>T_e[t]);class Hi{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Hi.defaultYaml,t),this.tags=Object.assign({},Hi.defaultTags,n)}clone(){const t=new Hi(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Hi(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Hi.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Hi.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Hi.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Hi.defaultTags),this.atNextDocument=!1);const s=t.trim().split(/[ \t]+/),i=s.shift();switch(i){case"%TAG":{if(s.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;const[r,a]=s;return this.tags[r]=a,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[r]=s;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{const a=/^\d+\.\d+$/.test(r);return n(6,`Unsupported YAML version ${r}`,a),!1}}default:return n(0,`Unknown directive ${i}`,!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[,s,i]=t.match(/^(.*!)([^!]*)$/s);i||n(`The ${t} tag has no suffix`);const r=this.tags[s];if(r)try{return r+decodeURIComponent(i)}catch(a){return n(String(a)),null}return s==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,s]of Object.entries(this.tags))if(t.startsWith(s))return n+N_e(t.substring(s.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags);let i;if(t&&s.length>0&&Ms(t.contents)){const r={};qf(t.contents,(a,l)=>{Ms(l)&&l.tag&&(r[l.tag]=!0)}),i=Object.keys(r)}else i=[];for(const[r,a]of s)r==="!!"&&a==="tag:yaml.org,2002:"||(!t||i.some(l=>l.startsWith(a)))&&n.push(`%TAG ${r} ${a}`);return n.join(` +`)}}Hi.defaultYaml={explicit:!1,version:"1.2"};Hi.defaultTags={"!!":"tag:yaml.org,2002:"};function m$(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 p$(e){const t=new Set;return qf(e,{Value(n,s){s.anchor&&t.add(s.anchor)}}),t}function g$(e,t){for(let n=1;;++n){const s=`${e}${n}`;if(!t.has(s))return s}}function k_e(e,t){const n=[],s=new Map;let i=null;return{onAnchor:r=>{n.push(r),i??(i=p$(e));const a=g$(t,i);return i.add(a),a},setAnchors:()=>{for(const r of n){const a=s.get(r);if(typeof a=="object"&&a.anchor&&(Vn(a.node)||js(a.node)))a.node.anchor=a.anchor;else{const l=new Error("Failed to resolve repeated object (this should not happen)");throw l.source=r,l}}},sourceObjects:s}}function Ed(e,t,n,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0,r=s.length;iXr(s,String(i),n));if(e&&typeof e.toJSON=="function"){if(!n||!h$(e))return e.toJSON(t,n);const s={aliasCount:0,count:1,res:void 0};n.anchors.set(e,s),n.onCreate=r=>{s.res=r,delete n.onCreate};const i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class T2{constructor(t){Object.defineProperty(this,Zr,{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:s,onAnchor:i,reviver:r}={}){if(!dg(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 s=="number"?s:100},l=Xr(this,"",a);if(typeof i=="function")for(const{count:c,res:u}of a.anchors.values())i(u,c);return typeof r=="function"?Ed(r,{"":l},"",l):l}}class N2 extends T2{constructor(t){super(_2),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 s;n!=null&&n.aliasResolveCache?s=n.aliasResolveCache:(s=[],qf(t,{Node:(r,a)=>{(Kf(a)||h$(a))&&s.push(a)}}),n&&(n.aliasResolveCache=s));let i;for(const r of s){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(t,n){if(!n)return{source:this.source};const{anchors:s,doc:i,maxAliasCount:r}=n,a=this.resolve(i,n);if(!a){const c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let l=s.get(a);if(l||(Xr(a,null,n),l=s.get(a)),(l==null?void 0:l.res)===void 0){const c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(r>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=Nb(i,a,s)),l.count*l.aliasCount>r)){const c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return l.res}toString(t,n,s){const i=`*${this.source}`;if(t){if(m$(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(t.implicitKey)return`${i} `}return i}}function Nb(e,t,n){if(Kf(t)){const s=t.resolve(e),i=n&&s&&n.get(s);return i?i.count*i.aliasCount:0}else if(js(t)){let s=0;for(const i of t.items){const r=Nb(e,i,n);r>s&&(s=r)}return s}else if(Ls(t)){const s=Nb(e,t.key,n),i=Nb(e,t.value,n);return Math.max(s,i)}return 1}const b$=e=>!e||typeof e!="function"&&typeof e!="object";class kt extends T2{constructor(t){super(Ga),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:Xr(this.value,t,n)}toString(){return String(this.value)}}kt.BLOCK_FOLDED="BLOCK_FOLDED";kt.BLOCK_LITERAL="BLOCK_LITERAL";kt.PLAIN="PLAIN";kt.QUOTE_DOUBLE="QUOTE_DOUBLE";kt.QUOTE_SINGLE="QUOTE_SINGLE";const A_e="tag:yaml.org,2002:";function C_e(e,t,n){if(t){const s=n.filter(r=>r.tag===t),i=s.find(r=>!r.format)??s[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return n.find(s=>{var i;return((i=s.identify)==null?void 0:i.call(s,e))&&!s.format})}function Np(e,t,n){var f,h,m;if(dg(e)&&(e=e.contents),Ms(e))return e;if(Ls(e)){const p=(h=(f=n.schema[Dl]).createNode)==null?void 0:h.call(f,n.schema,null,n);return p.items.push(e),p}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:s,onAnchor:i,onTagObj:r,schema:a,sourceObjects:l}=n;let c;if(s&&e&&typeof e=="object"){if(c=l.get(e),c)return c.anchor??(c.anchor=i(e)),new N2(c.anchor);c={anchor:null,node:null},l.set(e,c)}t!=null&&t.startsWith("!!")&&(t=A_e+t.slice(2));let u=C_e(e,t,a.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const p=new kt(e);return c&&(c.node=p),p}u=e instanceof Map?a[Dl]:Symbol.iterator in Object(e)?a[Gf]:a[Dl]}r&&(r(u),delete n.onTagObj);const d=u!=null&&u.createNode?u.createNode(n.schema,e,n):typeof((m=u==null?void 0:u.nodeClass)==null?void 0:m.from)=="function"?u.nodeClass.from(n.schema,e,n):new kt(e);return t?d.tag=t:u.default||(d.tag=u.tag),c&&(c.node=d),d}function Ky(e,t,n){let s=n;for(let i=t.length-1;i>=0;--i){const r=t[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){const a=[];a[r]=s,s=a}else s=new Map([[r,s]])}return Np(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const Jh=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;let y$=class extends T2{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(s=>Ms(s)||Ls(s)?s.clone(t):s),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(Jh(t))this.add(n);else{const[s,...i]=t,r=this.get(s,!0);if(js(r))r.addIn(i,n);else if(r===void 0&&this.schema)this.set(s,Ky(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}deleteIn(t){const[n,...s]=t;if(s.length===0)return this.delete(n);const i=this.get(n,!0);if(js(i))return i.deleteIn(s);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}getIn(t,n){const[s,...i]=t,r=this.get(s,!0);return i.length===0?!n&&Vn(r)?r.value:r:js(r)?r.getIn(i,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!Ls(n))return!1;const s=n.value;return s==null||t&&Vn(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(t){const[n,...s]=t;if(s.length===0)return this.has(n);const i=this.get(n,!0);return js(i)?i.hasIn(s):!1}setIn(t,n){const[s,...i]=t;if(i.length===0)this.set(s,n);else{const r=this.get(s,!0);if(js(r))r.setIn(i,n);else if(r===void 0&&this.schema)this.set(s,Ky(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}};const I_e=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function wo(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const wc=(e,t,n)=>e.endsWith(` `)?wo(n,t):n.includes(` `)?` -`+wo(n,t):(e.endsWith(" ")?"":" ")+n,d$="flow",U_="block",Nb="quoted";function yx(e,t,n="flow",{indentAtStart:s,lineWidth:i=80,minContentWidth:r=20,onFold:a,onOverflow:l}={}){if(!i||i<0)return e;ii-Math.max(2,r)?u.push(0):f=i-s);let h,m,p=!1,g=-1,v=-1,y=-1;n===U_&&(g=_L(e,g,t.length),g!==-1&&(f=g+c));for(let E;E=e[g+=1];){if(n===Nb&&E==="\\"){switch(v=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}y=g}if(E===` -`)n===U_&&(g=_L(e,g,t.length)),f=g+t.length+c,h=void 0;else{if(E===" "&&m&&m!==" "&&m!==` +`+wo(n,t):(e.endsWith(" ")?"":" ")+n,x$="flow",H_="block",kb="quoted";function vx(e,t,n="flow",{indentAtStart:s,lineWidth:i=80,minContentWidth:r=20,onFold:a,onOverflow:l}={}){if(!i||i<0)return e;ii-Math.max(2,r)?u.push(0):f=i-s);let h,m,p=!1,g=-1,v=-1,y=-1;n===H_&&(g=kL(e,g,t.length),g!==-1&&(f=g+c));for(let E;E=e[g+=1];){if(n===kb&&E==="\\"){switch(v=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}y=g}if(E===` +`)n===H_&&(g=kL(e,g,t.length)),f=g+t.length+c,h=void 0;else{if(E===" "&&m&&m!==" "&&m!==` `&&m!==" "){const w=e[g+1];w&&w!==" "&&w!==` -`&&w!==" "&&(h=g)}if(g>=f)if(h)u.push(h),f=h+c,h=void 0;else if(n===Nb){for(;m===" "||m===" ";)m=E,E=e[g+=1],p=!0;const w=g>y+1?g-2:v-1;if(d[w])return e;u.push(w),d[w]=!0,f=w+c,h=void 0}else p=!0}m=E}if(p&&l&&l(),u.length===0)return e;a&&a();let x=e.slice(0,u[0]);for(let E=0;E({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Ex=e=>/^(%|---|\.\.\.)/m.test(e);function w_e(e,t,n){if(!t||t<0)return!1;const s=t-n,i=e.length;if(i<=s)return!1;for(let r=0,a=0;rs)return!0;if(a=r+1,i-a<=s)return!1}return!0}function Dm(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:s}=t,i=t.options.doubleQuotedMinMultiLineLength,r=t.indent||(Ex(e)?" ":"");let a="",l=0;for(let c=0,u=n[c];u;u=n[++c])if(u===" "&&n[c+1]==="\\"&&n[c+2]==="n"&&(a+=n.slice(l,c)+"\\ ",c+=1,l=c,u="\\"),u==="\\")switch(n[c+1]){case"u":{a+=n.slice(l,c);const d=n.substr(c+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(c,6)}c+=5,l=c+1}break;case"n":if(s||n[c+2]==='"'||n.length=f)if(h)u.push(h),f=h+c,h=void 0;else if(n===kb){for(;m===" "||m===" ";)m=E,E=e[g+=1],p=!0;const w=g>y+1?g-2:v-1;if(d[w])return e;u.push(w),d[w]=!0,f=w+c,h=void 0}else p=!0}m=E}if(p&&l&&l(),u.length===0)return e;a&&a();let x=e.slice(0,u[0]);for(let E=0;E({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Sx=e=>/^(%|---|\.\.\.)/m.test(e);function R_e(e,t,n){if(!t||t<0)return!1;const s=t-n,i=e.length;if(i<=s)return!1;for(let r=0,a=0;rs)return!0;if(a=r+1,i-a<=s)return!1}return!0}function Pm(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:s}=t,i=t.options.doubleQuotedMinMultiLineLength,r=t.indent||(Sx(e)?" ":"");let a="",l=0;for(let c=0,u=n[c];u;u=n[++c])if(u===" "&&n[c+1]==="\\"&&n[c+2]==="n"&&(a+=n.slice(l,c)+"\\ ",c+=1,l=c,u="\\"),u==="\\")switch(n[c+1]){case"u":{a+=n.slice(l,c);const d=n.substr(c+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(c,6)}c+=5,l=c+1}break;case"n":if(s||n[c+2]==='"'||n.length `;let f,h;for(h=n.length;h>0;--h){const T=n[h-1];if(T!==` `&&T!==" "&&T!==" ")break}let m=n.substring(h);const p=m.indexOf(` `);p===-1?f="-":n===m||p!==m.length-1?(f="+",r&&r()):f="",m&&(n=n.slice(0,-m.length),m[m.length-1]===` -`&&(m=m.slice(0,-1)),m=m.replace($_,`$&${u}`));let g=!1,v,y=-1;for(v=0;v{S=!0});const A=yx(`${x}${T}${m}`,u,U_,k);if(!S)return`>${w} +$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`);let S=!1;const N=wx(s,!0);a!=="folded"&&t!==kt.BLOCK_FOLDED&&(N.onOverflow=()=>{S=!0});const A=vx(`${x}${T}${m}`,u,H_,N);if(!S)return`>${w} ${u}${A}`}return n=n.replace(/\n+/g,`$&${u}`),`|${w} -${u}${x}${n}${m}`}function S_e(e,t,n,s){const{type:i,value:r}=e,{actualString:a,implicitKey:l,indent:c,indentStep:u,inFlow:d}=t;if(l&&r.includes(` +${u}${x}${n}${m}`}function j_e(e,t,n,s){const{type:i,value:r}=e,{actualString:a,implicitKey:l,indent:c,indentStep:u,inFlow:d}=t;if(l&&r.includes(` `)||d&&/[[\]{},]/.test(r))return vd(r,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return l||d||!r.includes(` -`)?vd(r,t):kb(e,t,n,s);if(!l&&!d&&i!==At.PLAIN&&r.includes(` -`))return kb(e,t,n,s);if(Ex(r)){if(c==="")return t.forceBlockIndent=!0,kb(e,t,n,s);if(l&&c===u)return vd(r,t)}const f=r.replace(/\n+/g,`$& -${c}`);if(a){const h=g=>{var v;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((v=g.test)==null?void 0:v.test(f))},{compat:m,tags:p}=t.doc.schema;if(p.some(h)||m!=null&&m.some(h))return vd(r,t)}return l?f:yx(f,c,d$,xx(t,!1))}function _2(e,t,n,s){const{implicitKey:i,inFlow:r}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:l}=e;l!==At.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(l=At.QUOTE_DOUBLE);const c=d=>{switch(d){case At.BLOCK_FOLDED:case At.BLOCK_LITERAL:return i||r?vd(a.value,t):kb(a,t,n,s);case At.QUOTE_DOUBLE:return Dm(a.value,t);case At.QUOTE_SINGLE:return F_(a.value,t);case At.PLAIN:return S_e(a,t,n,s);default:return null}};let u=c(l);if(u===null){const{defaultKeyType:d,defaultStringType:f}=t.options,h=i&&d||f;if(u=c(h),u===null)throw new Error(`Unsupported default string type ${h}`)}return u}function f$(e,t){const n=Object.assign({blockQuote:!0,commentString:v_e,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 s;switch(n.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:s,options:n}}function __e(e,t){var i;if(t.tag){const r=e.filter(a=>a.tag===t.tag);if(r.length>0)return r.find(a=>a.format===t.format)??r[0]}let n,s;if(Kn(t)){s=t.value;let r=e.filter(a=>{var l;return(l=a.identify)==null?void 0:l.call(a,s)});if(r.length>1){const a=r.filter(l=>l.test);a.length>0&&(r=a)}n=r.find(a=>a.format===t.format)??r.find(a=>!a.format)}else s=t,n=e.find(r=>r.nodeClass&&s instanceof r.nodeClass);if(!n){const r=((i=s==null?void 0:s.constructor)==null?void 0:i.name)??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${r} value`)}return n}function T_e(e,t,{anchors:n,doc:s}){if(!s.directives)return"";const i=[],r=(Kn(e)||Cs(e))&&e.anchor;r&&a$(r)&&(n.add(r),i.push(`&${r}`));const a=e.tag??(t.default?null:t.tag);return a&&i.push(s.directives.tagString(a)),i.join(" ")}function bf(e,t,n,s){var c;if(Os(e))return e.toString(t,n,s);if(Kf(e)){if(t.doc.directives)return e.toString(t);if((c=t.resolvedAliases)!=null&&c.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 i;const r=Rs(e)?e:t.doc.createNode(e,{onTagObj:u=>i=u});i??(i=__e(t.doc.schema.tags,r));const a=T_e(r,i,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const l=typeof i.stringify=="function"?i.stringify(r,t,n,s):Kn(r)?_2(r,t,n,s):r.toString(t,n,s);return a?Kn(r)||l[0]==="{"||l[0]==="["?`${a} ${l}`:`${a} -${t.indent}${l}`:l}function N_e({key:e,value:t},n,s,i){const{allNullValues:r,doc:a,indent:l,indentStep:c,options:{commentString:u,indentSeq:d,simpleKeys:f}}=n;let h=Rs(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(Cs(e)||!Rs(e)&&typeof e=="object"){const k="With simple keys, collection cannot be used as a key value";throw new Error(k)}}let m=!f&&(!e||h&&t==null&&!n.inFlow||Cs(e)||(Kn(e)?e.type===At.BLOCK_FOLDED||e.type===At.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!m&&(f||!r),indent:l+c});let p=!1,g=!1,v=bf(e,n,()=>p=!0,()=>g=!0);if(!m&&!n.inFlow&&v.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(n.inFlow){if(r||t==null)return p&&s&&s(),v===""?"?":m?`? ${v}`:v}else if(r&&!f||t==null&&m)return v=`? ${v}`,h&&!p?v+=wc(v,n.indent,u(h)):g&&i&&i(),v;p&&(h=null),m?(h&&(v+=wc(v,n.indent,u(h))),v=`? ${v} -${l}:`):(v=`${v}:`,h&&(v+=wc(v,n.indent,u(h))));let y,x,E;Rs(t)?(y=!!t.spaceBefore,x=t.commentBefore,E=t.comment):(y=!1,x=null,E=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!m&&!h&&Kn(t)&&(n.indentAtStart=v.length+1),g=!1,!d&&c.length>=2&&!n.inFlow&&!m&&fg(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let w=!1;const T=bf(t,n,()=>w=!0,()=>g=!0);let S=" ";if(h||y||x){if(S=y?` -`:"",x){const k=u(x);S+=` -${wo(k,n.indent)}`}T===""&&!n.inFlow?S===` +`)?vd(r,t):Ab(e,t,n,s);if(!l&&!d&&i!==kt.PLAIN&&r.includes(` +`))return Ab(e,t,n,s);if(Sx(r)){if(c==="")return t.forceBlockIndent=!0,Ab(e,t,n,s);if(l&&c===u)return vd(r,t)}const f=r.replace(/\n+/g,`$& +${c}`);if(a){const h=g=>{var v;return g.default&&g.tag!=="tag:yaml.org,2002:str"&&((v=g.test)==null?void 0:v.test(f))},{compat:m,tags:p}=t.doc.schema;if(p.some(h)||m!=null&&m.some(h))return vd(r,t)}return l?f:vx(f,c,x$,wx(t,!1))}function k2(e,t,n,s){const{implicitKey:i,inFlow:r}=t,a=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:l}=e;l!==kt.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(l=kt.QUOTE_DOUBLE);const c=d=>{switch(d){case kt.BLOCK_FOLDED:case kt.BLOCK_LITERAL:return i||r?vd(a.value,t):Ab(a,t,n,s);case kt.QUOTE_DOUBLE:return Pm(a.value,t);case kt.QUOTE_SINGLE:return z_(a.value,t);case kt.PLAIN:return j_e(a,t,n,s);default:return null}};let u=c(l);if(u===null){const{defaultKeyType:d,defaultStringType:f}=t.options,h=i&&d||f;if(u=c(h),u===null)throw new Error(`Unsupported default string type ${h}`)}return u}function E$(e,t){const n=Object.assign({blockQuote:!0,commentString:I_e,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 s;switch(n.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:s,options:n}}function O_e(e,t){var i;if(t.tag){const r=e.filter(a=>a.tag===t.tag);if(r.length>0)return r.find(a=>a.format===t.format)??r[0]}let n,s;if(Vn(t)){s=t.value;let r=e.filter(a=>{var l;return(l=a.identify)==null?void 0:l.call(a,s)});if(r.length>1){const a=r.filter(l=>l.test);a.length>0&&(r=a)}n=r.find(a=>a.format===t.format)??r.find(a=>!a.format)}else s=t,n=e.find(r=>r.nodeClass&&s instanceof r.nodeClass);if(!n){const r=((i=s==null?void 0:s.constructor)==null?void 0:i.name)??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${r} value`)}return n}function M_e(e,t,{anchors:n,doc:s}){if(!s.directives)return"";const i=[],r=(Vn(e)||js(e))&&e.anchor;r&&m$(r)&&(n.add(r),i.push(`&${r}`));const a=e.tag??(t.default?null:t.tag);return a&&i.push(s.directives.tagString(a)),i.join(" ")}function bf(e,t,n,s){var c;if(Ls(e))return e.toString(t,n,s);if(Kf(e)){if(t.doc.directives)return e.toString(t);if((c=t.resolvedAliases)!=null&&c.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 i;const r=Ms(e)?e:t.doc.createNode(e,{onTagObj:u=>i=u});i??(i=O_e(t.doc.schema.tags,r));const a=M_e(r,i,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const l=typeof i.stringify=="function"?i.stringify(r,t,n,s):Vn(r)?k2(r,t,n,s):r.toString(t,n,s);return a?Vn(r)||l[0]==="{"||l[0]==="["?`${a} ${l}`:`${a} +${t.indent}${l}`:l}function L_e({key:e,value:t},n,s,i){const{allNullValues:r,doc:a,indent:l,indentStep:c,options:{commentString:u,indentSeq:d,simpleKeys:f}}=n;let h=Ms(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(js(e)||!Ms(e)&&typeof e=="object"){const N="With simple keys, collection cannot be used as a key value";throw new Error(N)}}let m=!f&&(!e||h&&t==null&&!n.inFlow||js(e)||(Vn(e)?e.type===kt.BLOCK_FOLDED||e.type===kt.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!m&&(f||!r),indent:l+c});let p=!1,g=!1,v=bf(e,n,()=>p=!0,()=>g=!0);if(!m&&!n.inFlow&&v.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(n.inFlow){if(r||t==null)return p&&s&&s(),v===""?"?":m?`? ${v}`:v}else if(r&&!f||t==null&&m)return v=`? ${v}`,h&&!p?v+=wc(v,n.indent,u(h)):g&&i&&i(),v;p&&(h=null),m?(h&&(v+=wc(v,n.indent,u(h))),v=`? ${v} +${l}:`):(v=`${v}:`,h&&(v+=wc(v,n.indent,u(h))));let y,x,E;Ms(t)?(y=!!t.spaceBefore,x=t.commentBefore,E=t.comment):(y=!1,x=null,E=null,t&&typeof t=="object"&&(t=a.createNode(t))),n.implicitKey=!1,!m&&!h&&Vn(t)&&(n.indentAtStart=v.length+1),g=!1,!d&&c.length>=2&&!n.inFlow&&!m&&hg(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let w=!1;const T=bf(t,n,()=>w=!0,()=>g=!0);let S=" ";if(h||y||x){if(S=y?` +`:"",x){const N=u(x);S+=` +${wo(N,n.indent)}`}T===""&&!n.inFlow?S===` `&&E&&(S=` `):S+=` -${n.indent}`}else if(!m&&Cs(t)){const k=T[0],A=T.indexOf(` -`),C=A!==-1,R=n.inFlow??t.flow??t.items.length===0;if(C||!R){let M=!1;if(C&&(k==="&"||k==="!")){let L=T.indexOf(" ");k==="&"&&L!==-1&&Le===R0||typeof e=="symbol"&&e.description===R0,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new At(Symbol(R0)),{addToJSMap:m$}),stringify:()=>R0},k_e=(e,t)=>(Ao.identify(t)||Kn(t)&&(!t.type||t.type===At.PLAIN)&&Ao.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===Ao.tag&&n.default));function m$(e,t,n){const s=p$(e,n);if(fg(s))for(const i of s.items)Xv(e,t,i);else if(Array.isArray(s))for(const i of s)Xv(e,t,i);else Xv(e,t,s)}function Xv(e,t,n){const s=p$(e,n);if(!dg(s))throw new Error("Merge sources must be maps or map aliases");const i=s.toJSON(null,e,Map);for(const[r,a]of i)t instanceof Map?t.has(r)||t.set(r,a):t instanceof Set?t.add(r):Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function p$(e,t){return e&&Kf(t)?t.resolve(e.doc,e):t}function g$(e,t,{key:n,value:s}){if(Rs(n)&&n.addToJSMap)n.addToJSMap(e,t,s);else if(k_e(e,n))m$(e,t,s);else{const i=Xr(n,"",e);if(t instanceof Map)t.set(i,Xr(s,i,e));else if(t instanceof Set)t.add(i);else{const r=A_e(n,i,e),a=Xr(s,r,e);r in t?Object.defineProperty(t,r,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[r]=a}}return t}function A_e(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Rs(e)&&(n!=null&&n.doc)){const s=f$(n.doc,{});s.anchors=new Set;for(const r of n.anchors.keys())s.anchors.add(r.anchor);s.inFlow=!0,s.inStringifyKey=!0;const i=e.toString(s);if(!n.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),h$(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return i}return JSON.stringify(t)}function T2(e,t,n){const s=Tp(e,void 0,n),i=Tp(t,void 0,n);return new zi(s,i)}class zi{constructor(t,n=null){Object.defineProperty(this,Zr,{value:i$}),this.key=t,this.value=n}clone(t){let{key:n,value:s}=this;return Rs(n)&&(n=n.clone(t)),Rs(s)&&(s=s.clone(t)),new zi(n,s)}toJSON(t,n){const s=n!=null&&n.mapAsMap?new Map:{};return g$(n,s,this)}toString(t,n,s){return t!=null&&t.doc?N_e(this,t,n,s):JSON.stringify(this)}}function b$(e,t,n){return(t.inFlow??e.flow?I_e:C_e)(e,t,n)}function C_e({comment:e,items:t},n,{blockItemPrefix:s,flowChars:i,itemIndent:r,onChompKeep:a,onComment:l}){const{indent:c,options:{commentString:u}}=n,d=Object.assign({},n,{indent:r,type:null});let f=!1;const h=[];for(let p=0;pv=null,()=>f=!0);v&&(y+=wc(y,r,u(v))),f&&v&&(f=!1),h.push(s+y)}let m;if(h.length===0)m=i.start+i.end;else{m=h[0];for(let p=1;pe===j0||typeof e=="symbol"&&e.description===j0,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new kt(Symbol(j0)),{addToJSMap:w$}),stringify:()=>j0},D_e=(e,t)=>(Ao.identify(t)||Vn(t)&&(!t.type||t.type===kt.PLAIN)&&Ao.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===Ao.tag&&n.default));function w$(e,t,n){const s=S$(e,n);if(hg(s))for(const i of s.items)Jv(e,t,i);else if(Array.isArray(s))for(const i of s)Jv(e,t,i);else Jv(e,t,s)}function Jv(e,t,n){const s=S$(e,n);if(!fg(s))throw new Error("Merge sources must be maps or map aliases");const i=s.toJSON(null,e,Map);for(const[r,a]of i)t instanceof Map?t.has(r)||t.set(r,a):t instanceof Set?t.add(r):Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{value:a,writable:!0,enumerable:!0,configurable:!0});return t}function S$(e,t){return e&&Kf(t)?t.resolve(e.doc,e):t}function _$(e,t,{key:n,value:s}){if(Ms(n)&&n.addToJSMap)n.addToJSMap(e,t,s);else if(D_e(e,n))w$(e,t,s);else{const i=Xr(n,"",e);if(t instanceof Map)t.set(i,Xr(s,i,e));else if(t instanceof Set)t.add(i);else{const r=P_e(n,i,e),a=Xr(s,r,e);r in t?Object.defineProperty(t,r,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[r]=a}}return t}function P_e(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Ms(e)&&(n!=null&&n.doc)){const s=E$(n.doc,{});s.anchors=new Set;for(const r of n.anchors.keys())s.anchors.add(r.anchor);s.inFlow=!0,s.inStringifyKey=!0;const i=e.toString(s);if(!n.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),v$(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return i}return JSON.stringify(t)}function A2(e,t,n){const s=Np(e,void 0,n),i=Np(t,void 0,n);return new Gi(s,i)}class Gi{constructor(t,n=null){Object.defineProperty(this,Zr,{value:f$}),this.key=t,this.value=n}clone(t){let{key:n,value:s}=this;return Ms(n)&&(n=n.clone(t)),Ms(s)&&(s=s.clone(t)),new Gi(n,s)}toJSON(t,n){const s=n!=null&&n.mapAsMap?new Map:{};return _$(n,s,this)}toString(t,n,s){return t!=null&&t.doc?L_e(this,t,n,s):JSON.stringify(this)}}function T$(e,t,n){return(t.inFlow??e.flow?U_e:B_e)(e,t,n)}function B_e({comment:e,items:t},n,{blockItemPrefix:s,flowChars:i,itemIndent:r,onChompKeep:a,onComment:l}){const{indent:c,options:{commentString:u}}=n,d=Object.assign({},n,{indent:r,type:null});let f=!1;const h=[];for(let p=0;pv=null,()=>f=!0);v&&(y+=wc(y,r,u(v))),f&&v&&(f=!1),h.push(s+y)}let m;if(h.length===0)m=i.start+i.end;else{m=h[0];for(let p=1;pv=null);u||(u=f.length>d||y.includes(` +`+wo(u(e),c),l&&l()):f&&a&&a(),m}function U_e({items:e},t,{flowChars:n,itemIndent:s}){const{indent:i,indentStep:r,flowCollectionPadding:a,options:{commentString:l}}=t;s+=r;const c=Object.assign({},t,{indent:s,inFlow:!0,type:null});let u=!1,d=0;const f=[];for(let p=0;pv=null);u||(u=f.length>d||y.includes(` `)),p0&&(u||(u=f.reduce((x,E)=>x+E.length+2,2)+(y.length+2)>t.options.lineWidth)),u&&(y+=",")),v&&(y+=wc(y,s,l(v))),f.push(y),d=f.length}const{start:h,end:m}=n;if(f.length===0)return h+m;if(!u){const p=f.reduce((g,v)=>g+v.length+2,2);u=t.options.lineWidth>0&&p>t.options.lineWidth}if(u){let p=h;for(const g of f)p+=g?` ${r}${i}${g}`:` `;return`${p} -${i}${m}`}else return`${h}${a}${f.join(" ")}${a}${m}`}function Ky({indent:e,options:{commentString:t}},n,s,i){if(s&&i&&(s=s.replace(/^\n+/,"")),s){const r=wo(t(s),e);n.push(r.trimStart())}}function Sc(e,t){const n=Kn(t)?t.value:t;for(const s of e)if(Os(s)&&(s.key===t||s.key===n||Kn(s.key)&&s.key.value===n))return s}class Kr extends u${static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Dl,t),this.items=[]}static from(t,n,s){const{keepUndefined:i,replacer:r}=s,a=new this(t),l=(c,u)=>{if(typeof r=="function")u=r.call(n,c,u);else if(Array.isArray(r)&&!r.includes(c))return;(u!==void 0||i)&&a.items.push(T2(c,u,s))};if(n instanceof Map)for(const[c,u]of n)l(c,u);else if(n&&typeof n=="object")for(const c of Object.keys(n))l(c,n[c]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){var a;let s;Os(t)?s=t:!t||typeof t!="object"||!("key"in t)?s=new zi(t,t==null?void 0:t.value):s=new zi(t.key,t.value);const i=Sc(this.items,s.key),r=(a=this.schema)==null?void 0:a.sortMapEntries;if(i){if(!n)throw new Error(`Key ${s.key} already set`);Kn(i.value)&&c$(s.value)?i.value.value=s.value:i.value=s.value}else if(r){const l=this.items.findIndex(c=>r(s,c)<0);l===-1?this.items.push(s):this.items.splice(l,0,s)}else this.items.push(s)}delete(t){const n=Sc(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const s=Sc(this.items,t),i=s==null?void 0:s.value;return(!n&&Kn(i)?i.value:i)??void 0}has(t){return!!Sc(this.items,t)}set(t,n){this.add(new zi(t,n),!0)}toJSON(t,n,s){const i=s?new s:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(i);for(const r of this.items)g$(n,i,r);return i}toString(t,n,s){if(!t)return JSON.stringify(this);for(const i of this.items)if(!Os(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),b$(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:s,onComment:n})}}const Yf={collection:"map",default:!0,nodeClass:Kr,tag:"tag:yaml.org,2002:map",resolve(e,t){return dg(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>Kr.from(e,t,n)};class Qc extends u${static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Gf,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=O0(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const s=O0(t);if(typeof s!="number")return;const i=this.items[s];return!n&&Kn(i)?i.value:i}has(t){const n=O0(t);return typeof n=="number"&&n=0?t:null}const Wf={collection:"seq",default:!0,nodeClass:Qc,tag:"tag:yaml.org,2002:seq",resolve(e,t){return fg(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>Qc.from(e,t,n)},vx={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,s){return t=Object.assign({actualString:!0},t),_2(e,t,n,s)}},wx={identify:e=>e==null,createNode:()=>new At(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new At(null),stringify:({source:e},t)=>typeof e=="string"&&wx.test.test(e)?e:t.options.nullStr},N2={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new At(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&N2.test.test(e)){const s=e[0]==="t"||e[0]==="T";if(t===s)return e}return t?n.options.trueStr:n.options.falseStr}};function _a({format:e,minFractionDigits:t,tag:n,value:s}){if(typeof s=="bigint")return String(s);const i=typeof s=="number"?s:Number(s);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(s,-0)?"-0":JSON.stringify(s);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(r)&&!r.includes("e")){let a=r.indexOf(".");a<0&&(a=r.length,r+=".");let l=t-(r.length-a-1);for(;l-- >0;)r+="0"}return r}const y$={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:_a},x$={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():_a(e)}},E$={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 At(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:_a},Sx=e=>typeof e=="bigint"||Number.isInteger(e),k2=(e,t,n,{intAsBigInt:s})=>s?BigInt(e):parseInt(e.substring(t),n);function v$(e,t,n){const{value:s}=e;return Sx(s)&&s>=0?n+s.toString(t):_a(e)}const w$={identify:e=>Sx(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>k2(e,2,8,n),stringify:e=>v$(e,8,"0o")},S$={identify:Sx,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>k2(e,0,10,n),stringify:_a},_$={identify:e=>Sx(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>k2(e,2,16,n),stringify:e=>v$(e,16,"0x")},R_e=[Yf,Wf,vx,wx,N2,w$,S$,_$,y$,x$,E$];function TL(e){return typeof e=="bigint"||Number.isInteger(e)}const j0=({value:e})=>JSON.stringify(e),O_e=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:j0},{identify:e=>e==null,createNode:()=>new At(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:j0},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:j0},{identify:TL,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})=>TL(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:j0}],j_e={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},M_e=[Yf,Wf].concat(O_e,j_e),A2={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,"")),s=new Uint8Array(n.length);for(let i=0;i1&&t("Each pair must have its own sequence indicator");const i=s.items[0]||new zi(new At(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore} +${i}${m}`}else return`${h}${a}${f.join(" ")}${a}${m}`}function qy({indent:e,options:{commentString:t}},n,s,i){if(s&&i&&(s=s.replace(/^\n+/,"")),s){const r=wo(t(s),e);n.push(r.trimStart())}}function Sc(e,t){const n=Vn(t)?t.value:t;for(const s of e)if(Ls(s)&&(s.key===t||s.key===n||Vn(s.key)&&s.key.value===n))return s}class Kr extends y${static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Dl,t),this.items=[]}static from(t,n,s){const{keepUndefined:i,replacer:r}=s,a=new this(t),l=(c,u)=>{if(typeof r=="function")u=r.call(n,c,u);else if(Array.isArray(r)&&!r.includes(c))return;(u!==void 0||i)&&a.items.push(A2(c,u,s))};if(n instanceof Map)for(const[c,u]of n)l(c,u);else if(n&&typeof n=="object")for(const c of Object.keys(n))l(c,n[c]);return typeof t.sortMapEntries=="function"&&a.items.sort(t.sortMapEntries),a}add(t,n){var a;let s;Ls(t)?s=t:!t||typeof t!="object"||!("key"in t)?s=new Gi(t,t==null?void 0:t.value):s=new Gi(t.key,t.value);const i=Sc(this.items,s.key),r=(a=this.schema)==null?void 0:a.sortMapEntries;if(i){if(!n)throw new Error(`Key ${s.key} already set`);Vn(i.value)&&b$(s.value)?i.value.value=s.value:i.value=s.value}else if(r){const l=this.items.findIndex(c=>r(s,c)<0);l===-1?this.items.push(s):this.items.splice(l,0,s)}else this.items.push(s)}delete(t){const n=Sc(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const s=Sc(this.items,t),i=s==null?void 0:s.value;return(!n&&Vn(i)?i.value:i)??void 0}has(t){return!!Sc(this.items,t)}set(t,n){this.add(new Gi(t,n),!0)}toJSON(t,n,s){const i=s?new s:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(i);for(const r of this.items)_$(n,i,r);return i}toString(t,n,s){if(!t)return JSON.stringify(this);for(const i of this.items)if(!Ls(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),T$(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:s,onComment:n})}}const Yf={collection:"map",default:!0,nodeClass:Kr,tag:"tag:yaml.org,2002:map",resolve(e,t){return fg(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>Kr.from(e,t,n)};class Qc extends y${static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Gf,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=O0(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const s=O0(t);if(typeof s!="number")return;const i=this.items[s];return!n&&Vn(i)?i.value:i}has(t){const n=O0(t);return typeof n=="number"&&n=0?t:null}const Wf={collection:"seq",default:!0,nodeClass:Qc,tag:"tag:yaml.org,2002:seq",resolve(e,t){return hg(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>Qc.from(e,t,n)},_x={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,s){return t=Object.assign({actualString:!0},t),k2(e,t,n,s)}},Tx={identify:e=>e==null,createNode:()=>new kt(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new kt(null),stringify:({source:e},t)=>typeof e=="string"&&Tx.test.test(e)?e:t.options.nullStr},C2={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new kt(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&C2.test.test(e)){const s=e[0]==="t"||e[0]==="T";if(t===s)return e}return t?n.options.trueStr:n.options.falseStr}};function _a({format:e,minFractionDigits:t,tag:n,value:s}){if(typeof s=="bigint")return String(s);const i=typeof s=="number"?s:Number(s);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(s,-0)?"-0":JSON.stringify(s);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(r)&&!r.includes("e")){let a=r.indexOf(".");a<0&&(a=r.length,r+=".");let l=t-(r.length-a-1);for(;l-- >0;)r+="0"}return r}const N$={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:_a},k$={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():_a(e)}},A$={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 kt(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:_a},Nx=e=>typeof e=="bigint"||Number.isInteger(e),I2=(e,t,n,{intAsBigInt:s})=>s?BigInt(e):parseInt(e.substring(t),n);function C$(e,t,n){const{value:s}=e;return Nx(s)&&s>=0?n+s.toString(t):_a(e)}const I$={identify:e=>Nx(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>I2(e,2,8,n),stringify:e=>C$(e,8,"0o")},R$={identify:Nx,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>I2(e,0,10,n),stringify:_a},j$={identify:e=>Nx(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>I2(e,2,16,n),stringify:e=>C$(e,16,"0x")},F_e=[Yf,Wf,_x,Tx,C2,I$,R$,j$,N$,k$,A$];function AL(e){return typeof e=="bigint"||Number.isInteger(e)}const M0=({value:e})=>JSON.stringify(e),$_e=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:M0},{identify:e=>e==null,createNode:()=>new kt(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:M0},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:M0},{identify:AL,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})=>AL(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:M0}],H_e={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},z_e=[Yf,Wf].concat($_e,H_e),R2={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,"")),s=new Uint8Array(n.length);for(let i=0;i1&&t("Each pair must have its own sequence indicator");const i=s.items[0]||new Gi(new kt(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore} ${i.key.commentBefore}`:s.commentBefore),s.comment){const r=i.value??i.key;r.comment=r.comment?`${s.comment} -${r.comment}`:s.comment}s=i}e.items[n]=Os(s)?s:new zi(s)}}else t("Expected a sequence for this tag");return e}function N$(e,t,n){const{replacer:s}=n,i=new Qc(e);i.tag="tag:yaml.org,2002:pairs";let r=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof s=="function"&&(a=s.call(t,String(r++),a));let l,c;if(Array.isArray(a))if(a.length===2)l=a[0],c=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)l=u[0],c=a[l];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else l=a;i.items.push(T2(l,c,n))}return i}const C2={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:T$,createNode:N$};class Ld extends Qc{constructor(){super(),this.add=Kr.prototype.add.bind(this),this.delete=Kr.prototype.delete.bind(this),this.get=Kr.prototype.get.bind(this),this.has=Kr.prototype.has.bind(this),this.set=Kr.prototype.set.bind(this),this.tag=Ld.tag}toJSON(t,n){if(!n)return super.toJSON(t);const s=new Map;n!=null&&n.onCreate&&n.onCreate(s);for(const i of this.items){let r,a;if(Os(i)?(r=Xr(i.key,"",n),a=Xr(i.value,r,n)):r=Xr(i,"",n),s.has(r))throw new Error("Ordered maps must not include duplicate keys");s.set(r,a)}return s}static from(t,n,s){const i=N$(t,n,s),r=new this;return r.items=i.items,r}}Ld.tag="tag:yaml.org,2002:omap";const I2={collection:"seq",identify:e=>e instanceof Map,nodeClass:Ld,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=T$(e,t),s=[];for(const{key:i}of n.items)Kn(i)&&(s.includes(i.value)?t(`Ordered maps must not include duplicate keys: ${i.value}`):s.push(i.value));return Object.assign(new Ld,n)},createNode:(e,t,n)=>Ld.from(e,t,n)};function k$({value:e,source:t},n){return t&&(e?A$:C$).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const A$={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 At(!0),stringify:k$},C$={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 At(!1),stringify:k$},L_e={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:_a},D_e={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():_a(e)}},P_e={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 At(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const s=e.substring(n+1).replace(/_/g,"");s[s.length-1]==="0"&&(t.minFractionDigits=s.length)}return t},stringify:_a},hg=e=>typeof e=="bigint"||Number.isInteger(e);function _x(e,t,n,{intAsBigInt:s}){const i=e[0];if((i==="-"||i==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),s){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 i==="-"?BigInt(-1)*a:a}const r=parseInt(e,n);return i==="-"?-1*r:r}function R2(e,t,n){const{value:s}=e;if(hg(s)){const i=s.toString(t);return s<0?"-"+n+i.substr(1):n+i}return _a(e)}const B_e={identify:hg,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>_x(e,2,2,n),stringify:e=>R2(e,2,"0b")},U_e={identify:hg,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>_x(e,1,8,n),stringify:e=>R2(e,8,"0")},F_e={identify:hg,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>_x(e,0,10,n),stringify:_a},$_e={identify:hg,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>_x(e,2,16,n),stringify:e=>R2(e,16,"0x")};class Dd extends Kr{constructor(t){super(t),this.tag=Dd.tag}add(t){let n;Os(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new zi(t.key,null):n=new zi(t,null),Sc(this.items,n.key)||this.items.push(n)}get(t,n){const s=Sc(this.items,t);return!n&&Os(s)?Kn(s.key)?s.key.value:s.key:s}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 s=Sc(this.items,t);s&&!n?this.items.splice(this.items.indexOf(s),1):!s&&n&&this.items.push(new zi(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,s){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,s);throw new Error("Set items must all have null values")}static from(t,n,s){const{replacer:i}=s,r=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof i=="function"&&(a=i.call(n,a,a)),r.items.push(T2(a,null,s));return r}}Dd.tag="tag:yaml.org,2002:set";const O2={collection:"map",identify:e=>e instanceof Set,nodeClass:Dd,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Dd.from(e,t,n),resolve(e,t){if(dg(e)){if(e.hasAllNullValues(!0))return Object.assign(new Dd,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function j2(e,t){const n=e[0],s=n==="-"||n==="+"?e.substring(1):e,i=a=>t?BigInt(a):Number(a),r=s.replace(/_/g,"").split(":").reduce((a,l)=>a*i(60)+i(l),i(0));return n==="-"?i(-1)*r:r}function I$(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return _a(e);let s="";t<0&&(s="-",t*=n(-1));const i=n(60),r=[t%i];return t<60?r.unshift(0):(t=(t-r[0])/i,r.unshift(t%i),t>=60&&(t=(t-r[0])/i,r.unshift(t))),s+r.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const R$={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})=>j2(e,n),stringify:I$},O$={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=>j2(e,!1),stringify:I$},Tx={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(Tx.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,s,i,r,a,l]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0;let u=Date.UTC(n,s-1,i,r||0,a||0,l||0,c);const d=t[8];if(d&&d!=="Z"){let f=j2(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$/,""))??""},NL=[Yf,Wf,vx,wx,A$,C$,B_e,U_e,F_e,$_e,L_e,D_e,P_e,A2,Ao,I2,C2,O2,R$,O$,Tx],kL=new Map([["core",R_e],["failsafe",[Yf,Wf,vx]],["json",M_e],["yaml11",NL],["yaml-1.1",NL]]),AL={binary:A2,bool:N2,float:E$,floatExp:x$,floatNaN:y$,floatTime:O$,int:S$,intHex:_$,intOct:w$,intTime:R$,map:Yf,merge:Ao,null:wx,omap:I2,pairs:C2,seq:Wf,set:O2,timestamp:Tx},H_e={"tag:yaml.org,2002:binary":A2,"tag:yaml.org,2002:merge":Ao,"tag:yaml.org,2002:omap":I2,"tag:yaml.org,2002:pairs":C2,"tag:yaml.org,2002:set":O2,"tag:yaml.org,2002:timestamp":Tx};function Qv(e,t,n){const s=kL.get(t);if(s&&!e)return n&&!s.includes(Ao)?s.concat(Ao):s.slice();let i=s;if(!i)if(Array.isArray(e))i=[];else{const r=Array.from(kL.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${r} or define customTags array`)}if(Array.isArray(e))for(const r of e)i=i.concat(r);else typeof e=="function"&&(i=e(i.slice()));return n&&(i=i.concat(Ao)),i.reduce((r,a)=>{const l=typeof a=="string"?AL[a]:a;if(!l){const c=JSON.stringify(a),u=Object.keys(AL).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${u}`)}return r.includes(l)||r.push(l),r},[])}const z_e=(e,t)=>e.keyt.key?1:0;class M2{constructor({compat:t,customTags:n,merge:s,resolveKnownTags:i,schema:r,sortMapEntries:a,toStringDefaults:l}){this.compat=Array.isArray(t)?Qv(t,"compat"):t?Qv(null,t):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?H_e:{},this.tags=Qv(n,this.name,s),this.toStringOptions=l??null,Object.defineProperty(this,Dl,{value:Yf}),Object.defineProperty(this,Ga,{value:vx}),Object.defineProperty(this,Gf,{value:Wf}),this.sortMapEntries=typeof a=="function"?a:a===!0?z_e:null}clone(){const t=Object.create(M2.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}function V_e(e,t){var c;const n=[];let s=t.directives===!0;if(t.directives!==!1&&e.directives){const u=e.directives.toString(e);u?(n.push(u),s=!0):e.directives.docStart&&(s=!0)}s&&n.push("---");const i=f$(e,t),{commentString:r}=i.options;if(e.commentBefore){n.length!==1&&n.unshift("");const u=r(e.commentBefore);n.unshift(wo(u,""))}let a=!1,l=null;if(e.contents){if(Rs(e.contents)){if(e.contents.spaceBefore&&s&&n.push(""),e.contents.commentBefore){const f=r(e.contents.commentBefore);n.push(wo(f,""))}i.forceBlockIndent=!!e.comment,l=e.contents.comment}const u=l?void 0:()=>a=!0;let d=bf(e.contents,i,()=>l=null,u);l&&(d+=wc(d,"",r(l))),(d[0]==="|"||d[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(bf(e.contents,i));if((c=e.directives)!=null&&c.docEnd)if(e.comment){const u=r(e.comment);u.includes(` +${r.comment}`:s.comment}s=i}e.items[n]=Ls(s)?s:new Gi(s)}}else t("Expected a sequence for this tag");return e}function M$(e,t,n){const{replacer:s}=n,i=new Qc(e);i.tag="tag:yaml.org,2002:pairs";let r=0;if(t&&Symbol.iterator in Object(t))for(let a of t){typeof s=="function"&&(a=s.call(t,String(r++),a));let l,c;if(Array.isArray(a))if(a.length===2)l=a[0],c=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)l=u[0],c=a[l];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else l=a;i.items.push(A2(l,c,n))}return i}const j2={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:O$,createNode:M$};class Ld extends Qc{constructor(){super(),this.add=Kr.prototype.add.bind(this),this.delete=Kr.prototype.delete.bind(this),this.get=Kr.prototype.get.bind(this),this.has=Kr.prototype.has.bind(this),this.set=Kr.prototype.set.bind(this),this.tag=Ld.tag}toJSON(t,n){if(!n)return super.toJSON(t);const s=new Map;n!=null&&n.onCreate&&n.onCreate(s);for(const i of this.items){let r,a;if(Ls(i)?(r=Xr(i.key,"",n),a=Xr(i.value,r,n)):r=Xr(i,"",n),s.has(r))throw new Error("Ordered maps must not include duplicate keys");s.set(r,a)}return s}static from(t,n,s){const i=M$(t,n,s),r=new this;return r.items=i.items,r}}Ld.tag="tag:yaml.org,2002:omap";const O2={collection:"seq",identify:e=>e instanceof Map,nodeClass:Ld,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=O$(e,t),s=[];for(const{key:i}of n.items)Vn(i)&&(s.includes(i.value)?t(`Ordered maps must not include duplicate keys: ${i.value}`):s.push(i.value));return Object.assign(new Ld,n)},createNode:(e,t,n)=>Ld.from(e,t,n)};function L$({value:e,source:t},n){return t&&(e?D$:P$).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const D$={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 kt(!0),stringify:L$},P$={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 kt(!1),stringify:L$},V_e={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:_a},G_e={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():_a(e)}},K_e={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 kt(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const s=e.substring(n+1).replace(/_/g,"");s[s.length-1]==="0"&&(t.minFractionDigits=s.length)}return t},stringify:_a},mg=e=>typeof e=="bigint"||Number.isInteger(e);function kx(e,t,n,{intAsBigInt:s}){const i=e[0];if((i==="-"||i==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),s){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 i==="-"?BigInt(-1)*a:a}const r=parseInt(e,n);return i==="-"?-1*r:r}function M2(e,t,n){const{value:s}=e;if(mg(s)){const i=s.toString(t);return s<0?"-"+n+i.substr(1):n+i}return _a(e)}const q_e={identify:mg,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>kx(e,2,2,n),stringify:e=>M2(e,2,"0b")},Y_e={identify:mg,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>kx(e,1,8,n),stringify:e=>M2(e,8,"0")},W_e={identify:mg,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>kx(e,0,10,n),stringify:_a},X_e={identify:mg,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>kx(e,2,16,n),stringify:e=>M2(e,16,"0x")};class Dd extends Kr{constructor(t){super(t),this.tag=Dd.tag}add(t){let n;Ls(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new Gi(t.key,null):n=new Gi(t,null),Sc(this.items,n.key)||this.items.push(n)}get(t,n){const s=Sc(this.items,t);return!n&&Ls(s)?Vn(s.key)?s.key.value:s.key:s}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 s=Sc(this.items,t);s&&!n?this.items.splice(this.items.indexOf(s),1):!s&&n&&this.items.push(new Gi(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,s){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,s);throw new Error("Set items must all have null values")}static from(t,n,s){const{replacer:i}=s,r=new this(t);if(n&&Symbol.iterator in Object(n))for(let a of n)typeof i=="function"&&(a=i.call(n,a,a)),r.items.push(A2(a,null,s));return r}}Dd.tag="tag:yaml.org,2002:set";const L2={collection:"map",identify:e=>e instanceof Set,nodeClass:Dd,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Dd.from(e,t,n),resolve(e,t){if(fg(e)){if(e.hasAllNullValues(!0))return Object.assign(new Dd,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function D2(e,t){const n=e[0],s=n==="-"||n==="+"?e.substring(1):e,i=a=>t?BigInt(a):Number(a),r=s.replace(/_/g,"").split(":").reduce((a,l)=>a*i(60)+i(l),i(0));return n==="-"?i(-1)*r:r}function B$(e){let{value:t}=e,n=a=>a;if(typeof t=="bigint")n=a=>BigInt(a);else if(isNaN(t)||!isFinite(t))return _a(e);let s="";t<0&&(s="-",t*=n(-1));const i=n(60),r=[t%i];return t<60?r.unshift(0):(t=(t-r[0])/i,r.unshift(t%i),t>=60&&(t=(t-r[0])/i,r.unshift(t))),s+r.map(a=>String(a).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const U$={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})=>D2(e,n),stringify:B$},F$={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=>D2(e,!1),stringify:B$},Ax={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(Ax.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,s,i,r,a,l]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0;let u=Date.UTC(n,s-1,i,r||0,a||0,l||0,c);const d=t[8];if(d&&d!=="Z"){let f=D2(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$/,""))??""},CL=[Yf,Wf,_x,Tx,D$,P$,q_e,Y_e,W_e,X_e,V_e,G_e,K_e,R2,Ao,O2,j2,L2,U$,F$,Ax],IL=new Map([["core",F_e],["failsafe",[Yf,Wf,_x]],["json",z_e],["yaml11",CL],["yaml-1.1",CL]]),RL={binary:R2,bool:C2,float:A$,floatExp:k$,floatNaN:N$,floatTime:F$,int:R$,intHex:j$,intOct:I$,intTime:U$,map:Yf,merge:Ao,null:Tx,omap:O2,pairs:j2,seq:Wf,set:L2,timestamp:Ax},Q_e={"tag:yaml.org,2002:binary":R2,"tag:yaml.org,2002:merge":Ao,"tag:yaml.org,2002:omap":O2,"tag:yaml.org,2002:pairs":j2,"tag:yaml.org,2002:set":L2,"tag:yaml.org,2002:timestamp":Ax};function ew(e,t,n){const s=IL.get(t);if(s&&!e)return n&&!s.includes(Ao)?s.concat(Ao):s.slice();let i=s;if(!i)if(Array.isArray(e))i=[];else{const r=Array.from(IL.keys()).filter(a=>a!=="yaml11").map(a=>JSON.stringify(a)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${r} or define customTags array`)}if(Array.isArray(e))for(const r of e)i=i.concat(r);else typeof e=="function"&&(i=e(i.slice()));return n&&(i=i.concat(Ao)),i.reduce((r,a)=>{const l=typeof a=="string"?RL[a]:a;if(!l){const c=JSON.stringify(a),u=Object.keys(RL).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${u}`)}return r.includes(l)||r.push(l),r},[])}const Z_e=(e,t)=>e.keyt.key?1:0;class P2{constructor({compat:t,customTags:n,merge:s,resolveKnownTags:i,schema:r,sortMapEntries:a,toStringDefaults:l}){this.compat=Array.isArray(t)?ew(t,"compat"):t?ew(null,t):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?Q_e:{},this.tags=ew(n,this.name,s),this.toStringOptions=l??null,Object.defineProperty(this,Dl,{value:Yf}),Object.defineProperty(this,Ga,{value:_x}),Object.defineProperty(this,Gf,{value:Wf}),this.sortMapEntries=typeof a=="function"?a:a===!0?Z_e:null}clone(){const t=Object.create(P2.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}}function J_e(e,t){var c;const n=[];let s=t.directives===!0;if(t.directives!==!1&&e.directives){const u=e.directives.toString(e);u?(n.push(u),s=!0):e.directives.docStart&&(s=!0)}s&&n.push("---");const i=E$(e,t),{commentString:r}=i.options;if(e.commentBefore){n.length!==1&&n.unshift("");const u=r(e.commentBefore);n.unshift(wo(u,""))}let a=!1,l=null;if(e.contents){if(Ms(e.contents)){if(e.contents.spaceBefore&&s&&n.push(""),e.contents.commentBefore){const f=r(e.contents.commentBefore);n.push(wo(f,""))}i.forceBlockIndent=!!e.comment,l=e.contents.comment}const u=l?void 0:()=>a=!0;let d=bf(e.contents,i,()=>l=null,u);l&&(d+=wc(d,"",r(l))),(d[0]==="|"||d[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${d}`:n.push(d)}else n.push(bf(e.contents,i));if((c=e.directives)!=null&&c.docEnd)if(e.comment){const u=r(e.comment);u.includes(` `)?(n.push("..."),n.push(wo(u,""))):n.push(`... ${u}`)}else n.push("...");else{let u=e.comment;u&&a&&(u=u.replace(/^\n+/,"")),u&&((!a||l)&&n[n.length-1]!==""&&n.push(""),n.push(wo(r(u),"")))}return n.join(` `)+` -`}class mg{constructor(t,n,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Zr,{value:B_});let i=null;typeof n=="function"||Array.isArray(n)?i=n:s===void 0&&n&&(s=n,n=void 0);const r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},s);this.options=r;let{version:a}=r;s!=null&&s._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new Fi({version:a}),this.setSchema(a,s),this.contents=t===void 0?null:this.createNode(t,i,s)}clone(){const t=Object.create(mg.prototype,{[Zr]:{value:B_}});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=Rs(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Pu(this.contents)&&this.contents.add(t)}addIn(t,n){Pu(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const s=o$(this);t.anchor=!n||s.has(n)?l$(n||"a",s):n}return new S2(t.anchor)}createNode(t,n,s){let i;if(typeof n=="function")t=n.call({"":t},"",t),i=n;else if(Array.isArray(n)){const v=x=>typeof x=="number"||x instanceof String||x instanceof Number,y=n.filter(v).map(String);y.length>0&&(n=n.concat(y)),i=n}else s===void 0&&n&&(s=n,n=void 0);const{aliasDuplicateObjects:r,anchorPrefix:a,flow:l,keepUndefined:c,onTagObj:u,tag:d}=s??{},{onAnchor:f,setAnchors:h,sourceObjects:m}=y_e(this,a||"a"),p={aliasDuplicateObjects:r??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:u,replacer:i,schema:this.schema,sourceObjects:m},g=Tp(t,d,p);return l&&Cs(g)&&(g.flow=!0),h(),g}createPair(t,n,s={}){const i=this.createNode(t,null,s),r=this.createNode(n,null,s);return new zi(i,r)}delete(t){return Pu(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Jh(t)?this.contents==null?!1:(this.contents=null,!0):Pu(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return Cs(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return Jh(t)?!n&&Kn(this.contents)?this.contents.value:this.contents:Cs(this.contents)?this.contents.getIn(t,n):void 0}has(t){return Cs(this.contents)?this.contents.has(t):!1}hasIn(t){return Jh(t)?this.contents!==void 0:Cs(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=Gy(this.schema,[t],n):Pu(this.contents)&&this.contents.set(t,n)}setIn(t,n){Jh(t)?this.contents=n:this.contents==null?this.contents=Gy(this.schema,Array.from(t),n):Pu(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let s;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Fi({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Fi({version:t}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{const i=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(s)this.schema=new M2(Object.assign(s,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:s,maxAliasCount:i,onAnchor:r,reviver:a}={}){const l={anchors:new Map,doc:this,keep:!t,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},c=Xr(this.contents,n??"",l);if(typeof r=="function")for(const{count:u,res:d}of l.anchors.values())r(d,u);return typeof a=="function"?Ed(a,{"":c},"",c):c}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 V_e(this,t)}}function Pu(e){if(Cs(e))return!0;throw new Error("Expected a YAML collection as document contents")}class j$ extends Error{constructor(t,n,s,i){super(),this.name=t,this.code=s,this.message=i,this.pos=n}}class em extends j${constructor(t,n,s){super("YAMLParseError",t,n,s)}}class G_e extends j${constructor(t,n,s){super("YAMLWarning",t,n,s)}}const CL=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(l=>t.linePos(l));const{line:s,col:i}=n.linePos[0];n.message+=` at line ${s}, column ${i}`;let r=i-1,a=e.substring(t.lineStarts[s-1],t.lineStarts[s]).replace(/[\n\r]+$/,"");if(r>=60&&a.length>80){const l=Math.min(r-39,a.length-79);a="…"+a.substring(l),r-=l-1}if(a.length>80&&(a=a.substring(0,79)+"…"),s>1&&/^ *$/.test(a.substring(0,r))){let l=e.substring(t.lineStarts[s-2],t.lineStarts[s-1]);l.length>80&&(l=l.substring(0,79)+`… +`}class pg{constructor(t,n,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Zr,{value:$_});let i=null;typeof n=="function"||Array.isArray(n)?i=n:s===void 0&&n&&(s=n,n=void 0);const r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},s);this.options=r;let{version:a}=r;s!=null&&s._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new Hi({version:a}),this.setSchema(a,s),this.contents=t===void 0?null:this.createNode(t,i,s)}clone(){const t=Object.create(pg.prototype,{[Zr]:{value:$_}});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=Ms(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Pu(this.contents)&&this.contents.add(t)}addIn(t,n){Pu(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const s=p$(this);t.anchor=!n||s.has(n)?g$(n||"a",s):n}return new N2(t.anchor)}createNode(t,n,s){let i;if(typeof n=="function")t=n.call({"":t},"",t),i=n;else if(Array.isArray(n)){const v=x=>typeof x=="number"||x instanceof String||x instanceof Number,y=n.filter(v).map(String);y.length>0&&(n=n.concat(y)),i=n}else s===void 0&&n&&(s=n,n=void 0);const{aliasDuplicateObjects:r,anchorPrefix:a,flow:l,keepUndefined:c,onTagObj:u,tag:d}=s??{},{onAnchor:f,setAnchors:h,sourceObjects:m}=k_e(this,a||"a"),p={aliasDuplicateObjects:r??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:u,replacer:i,schema:this.schema,sourceObjects:m},g=Np(t,d,p);return l&&js(g)&&(g.flow=!0),h(),g}createPair(t,n,s={}){const i=this.createNode(t,null,s),r=this.createNode(n,null,s);return new Gi(i,r)}delete(t){return Pu(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Jh(t)?this.contents==null?!1:(this.contents=null,!0):Pu(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return js(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return Jh(t)?!n&&Vn(this.contents)?this.contents.value:this.contents:js(this.contents)?this.contents.getIn(t,n):void 0}has(t){return js(this.contents)?this.contents.has(t):!1}hasIn(t){return Jh(t)?this.contents!==void 0:js(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=Ky(this.schema,[t],n):Pu(this.contents)&&this.contents.set(t,n)}setIn(t,n){Jh(t)?this.contents=n:this.contents==null?this.contents=Ky(this.schema,Array.from(t),n):Pu(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let s;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Hi({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Hi({version:t}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{const i=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(s)this.schema=new P2(Object.assign(s,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:s,maxAliasCount:i,onAnchor:r,reviver:a}={}){const l={anchors:new Map,doc:this,keep:!t,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},c=Xr(this.contents,n??"",l);if(typeof r=="function")for(const{count:u,res:d}of l.anchors.values())r(d,u);return typeof a=="function"?Ed(a,{"":c},"",c):c}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 J_e(this,t)}}function Pu(e){if(js(e))return!0;throw new Error("Expected a YAML collection as document contents")}class $$ extends Error{constructor(t,n,s,i){super(),this.name=t,this.code=s,this.message=i,this.pos=n}}class em extends $${constructor(t,n,s){super("YAMLParseError",t,n,s)}}class eTe extends $${constructor(t,n,s){super("YAMLWarning",t,n,s)}}const jL=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(l=>t.linePos(l));const{line:s,col:i}=n.linePos[0];n.message+=` at line ${s}, column ${i}`;let r=i-1,a=e.substring(t.lineStarts[s-1],t.lineStarts[s]).replace(/[\n\r]+$/,"");if(r>=60&&a.length>80){const l=Math.min(r-39,a.length-79);a="…"+a.substring(l),r-=l-1}if(a.length>80&&(a=a.substring(0,79)+"…"),s>1&&/^ *$/.test(a.substring(0,r))){let l=e.substring(t.lineStarts[s-2],t.lineStarts[s-1]);l.length>80&&(l=l.substring(0,79)+`… `),a=l+a}if(/[^ ]/.test(a)){let l=1;const c=n.linePos[1];(c==null?void 0:c.line)===s&&c.col>i&&(l=Math.max(1,Math.min(c.col-i,80-r)));const u=" ".repeat(r)+"^".repeat(l);n.message+=`: ${a} ${u} -`}};function yf(e,{flow:t,indicator:n,next:s,offset:i,onError:r,parentIndent:a,startOnNewline:l}){let c=!1,u=l,d=l,f="",h="",m=!1,p=!1,g=null,v=null,y=null,x=null,E=null,w=null,T=null;for(const A of e)switch(p&&(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma"&&r(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p=!1),g&&(u&&A.type!=="comment"&&A.type!=="newline"&&r(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),A.type){case"space":!t&&(n!=="doc-start"||(s==null?void 0:s.type)!=="flow-collection")&&A.source.includes(" ")&&(g=A),d=!0;break;case"comment":{d||r(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const C=A.source.substring(1)||" ";f?f+=h+C:f=C,h="",u=!1;break}case"newline":u?f?f+=A.source:(!w||n!=="seq-item-ind")&&(c=!0):h+=A.source,u=!0,m=!0,(v||y)&&(x=A),d=!0;break;case"anchor":v&&r(A,"MULTIPLE_ANCHORS","A node can have at most one anchor"),A.source.endsWith(":")&&r(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),v=A,T??(T=A.offset),u=!1,d=!1,p=!0;break;case"tag":{y&&r(A,"MULTIPLE_TAGS","A node can have at most one tag"),y=A,T??(T=A.offset),u=!1,d=!1,p=!0;break}case n:(v||y)&&r(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`),w&&r(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${t??"collection"}`),w=A,u=n==="seq-item-ind"||n==="explicit-key-ind",d=!1;break;case"comma":if(t){E&&r(A,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),E=A,u=!1,d=!1;break}default:r(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),u=!1,d=!1}const S=e[e.length-1],k=S?S.offset+S.source.length:i;return p&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&r(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||(s==null?void 0:s.type)==="block-map"||(s==null?void 0:s.type)==="block-seq")&&r(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:E,found:w,spaceBefore:c,comment:f,hasNewline:m,anchor:v,tag:y,newlineAfterProp:x,end:k,start:T??k}}function Np(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(Np(t.key)||Np(t.value))return!0}return!1;default:return!0}}function H_(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const s=t.end[0];s.indent===e&&(s.source==="]"||s.source==="}")&&Np(t)&&n(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function M$(e,t,n){const{uniqueKeys:s}=e.options;if(s===!1)return!1;const i=typeof s=="function"?s:(r,a)=>r===a||Kn(r)&&Kn(a)&&r.value===a.value;return t.some(r=>i(r.key,n))}const IL="All mapping items must start at the same column";function K_e({composeNode:e,composeEmptyNode:t},n,s,i,r){var d;const a=(r==null?void 0:r.nodeClass)??Kr,l=new a(n.schema);n.atRoot&&(n.atRoot=!1);let c=s.offset,u=null;for(const f of s.items){const{start:h,key:m,sep:p,value:g}=f,v=yf(h,{indicator:"explicit-key-ind",next:m??(p==null?void 0:p[0]),offset:c,onError:i,parentIndent:s.indent,startOnNewline:!0}),y=!v.found;if(y){if(m&&(m.type==="block-seq"?i(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in m&&m.indent!==s.indent&&i(c,"BAD_INDENT",IL)),!v.anchor&&!v.tag&&!p){u=v.end,v.comment&&(l.comment?l.comment+=` -`+v.comment:l.comment=v.comment);continue}(v.newlineAfterProp||Np(m))&&i(m??h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=v.found)==null?void 0:d.indent)!==s.indent&&i(c,"BAD_INDENT",IL);n.atKey=!0;const x=v.end,E=m?e(n,m,v,i):t(n,x,h,null,v,i);n.schema.compat&&H_(s.indent,m,i),n.atKey=!1,M$(n,l.items,E)&&i(x,"DUPLICATE_KEY","Map keys must be unique");const w=yf(p??[],{indicator:"map-value-ind",next:g,offset:E.range[2],onError:i,parentIndent:s.indent,startOnNewline:!m||m.type==="block-scalar"});if(c=w.end,w.found){y&&((g==null?void 0:g.type)==="block-map"&&!w.hasNewline&&i(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&v.starte&&(e.type==="block-map"||e.type==="block-seq");function Y_e({composeNode:e,composeEmptyNode:t},n,s,i,r){var v;const a=s.start.source==="{",l=a?"flow map":"flow sequence",c=(r==null?void 0:r.nodeClass)??(a?Kr:Qc),u=new c(n.schema);u.flow=!0;const d=n.atRoot;d&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=s.offset+s.start.source.length;for(let y=0;y0){const y=pg(p,g,n.options.strict,i);y.comment&&(u.comment?u.comment+=` -`+y.comment:u.comment=y.comment),u.range=[s.offset,g,y.offset]}else u.range=[s.offset,g,g];return u}function ew(e,t,n,s,i,r){const a=n.type==="block-map"?K_e(e,t,n,s,r):n.type==="block-seq"?q_e(e,t,n,s,r):Y_e(e,t,n,s,r),l=a.constructor;return i==="!"||i===l.tagName?(a.tag=l.tagName,a):(i&&(a.tag=i),a)}function W_e(e,t,n,s,i){var h;const r=s.tag,a=r?t.directives.tagName(r.source,m=>i(r,"TAG_RESOLVE_FAILED",m)):null;if(n.type==="block-seq"){const{anchor:m,newlineAfterProp:p}=s,g=m&&r?m.offset>r.offset?m:r:m??r;g&&(!p||p.offsetm.tag===a&&m.collection===l);if(!c){const m=t.schema.knownTags[a];if((m==null?void 0:m.collection)===l)t.schema.tags.push(Object.assign({},m,{default:!1})),c=m;else return m?i(r,"BAD_COLLECTION_TYPE",`${m.tag} used for ${l} collection, but expects ${m.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),ew(e,t,n,i,a)}const u=ew(e,t,n,i,a,c),d=((h=c.resolve)==null?void 0:h.call(c,u,m=>i(r,"TAG_RESOLVE_FAILED",m),t.options))??u,f=Rs(d)?d:new At(d);return f.range=u.range,f.tag=a,c!=null&&c.format&&(f.format=c.format),f}function X_e(e,t,n){const s=t.offset,i=Q_e(t,e.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[s,s,s]};const r=i.mode===">"?At.BLOCK_FOLDED:At.BLOCK_LITERAL,a=t.source?Z_e(t.source):[];let l=a.length;for(let g=a.length-1;g>=0;--g){const v=a[g][1];if(v===""||v==="\r")l=g;else break}if(l===0){const g=i.chomp==="+"&&a.length>0?` +`}};function yf(e,{flow:t,indicator:n,next:s,offset:i,onError:r,parentIndent:a,startOnNewline:l}){let c=!1,u=l,d=l,f="",h="",m=!1,p=!1,g=null,v=null,y=null,x=null,E=null,w=null,T=null;for(const A of e)switch(p&&(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma"&&r(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p=!1),g&&(u&&A.type!=="comment"&&A.type!=="newline"&&r(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),A.type){case"space":!t&&(n!=="doc-start"||(s==null?void 0:s.type)!=="flow-collection")&&A.source.includes(" ")&&(g=A),d=!0;break;case"comment":{d||r(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const C=A.source.substring(1)||" ";f?f+=h+C:f=C,h="",u=!1;break}case"newline":u?f?f+=A.source:(!w||n!=="seq-item-ind")&&(c=!0):h+=A.source,u=!0,m=!0,(v||y)&&(x=A),d=!0;break;case"anchor":v&&r(A,"MULTIPLE_ANCHORS","A node can have at most one anchor"),A.source.endsWith(":")&&r(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),v=A,T??(T=A.offset),u=!1,d=!1,p=!0;break;case"tag":{y&&r(A,"MULTIPLE_TAGS","A node can have at most one tag"),y=A,T??(T=A.offset),u=!1,d=!1,p=!0;break}case n:(v||y)&&r(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`),w&&r(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${t??"collection"}`),w=A,u=n==="seq-item-ind"||n==="explicit-key-ind",d=!1;break;case"comma":if(t){E&&r(A,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),E=A,u=!1,d=!1;break}default:r(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),u=!1,d=!1}const S=e[e.length-1],N=S?S.offset+S.source.length:i;return p&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&r(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(u&&g.indent<=a||(s==null?void 0:s.type)==="block-map"||(s==null?void 0:s.type)==="block-seq")&&r(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:E,found:w,spaceBefore:c,comment:f,hasNewline:m,anchor:v,tag:y,newlineAfterProp:x,end:N,start:T??N}}function kp(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(kp(t.key)||kp(t.value))return!0}return!1;default:return!0}}function G_(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const s=t.end[0];s.indent===e&&(s.source==="]"||s.source==="}")&&kp(t)&&n(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function H$(e,t,n){const{uniqueKeys:s}=e.options;if(s===!1)return!1;const i=typeof s=="function"?s:(r,a)=>r===a||Vn(r)&&Vn(a)&&r.value===a.value;return t.some(r=>i(r.key,n))}const OL="All mapping items must start at the same column";function tTe({composeNode:e,composeEmptyNode:t},n,s,i,r){var d;const a=(r==null?void 0:r.nodeClass)??Kr,l=new a(n.schema);n.atRoot&&(n.atRoot=!1);let c=s.offset,u=null;for(const f of s.items){const{start:h,key:m,sep:p,value:g}=f,v=yf(h,{indicator:"explicit-key-ind",next:m??(p==null?void 0:p[0]),offset:c,onError:i,parentIndent:s.indent,startOnNewline:!0}),y=!v.found;if(y){if(m&&(m.type==="block-seq"?i(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in m&&m.indent!==s.indent&&i(c,"BAD_INDENT",OL)),!v.anchor&&!v.tag&&!p){u=v.end,v.comment&&(l.comment?l.comment+=` +`+v.comment:l.comment=v.comment);continue}(v.newlineAfterProp||kp(m))&&i(m??h[h.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((d=v.found)==null?void 0:d.indent)!==s.indent&&i(c,"BAD_INDENT",OL);n.atKey=!0;const x=v.end,E=m?e(n,m,v,i):t(n,x,h,null,v,i);n.schema.compat&&G_(s.indent,m,i),n.atKey=!1,H$(n,l.items,E)&&i(x,"DUPLICATE_KEY","Map keys must be unique");const w=yf(p??[],{indicator:"map-value-ind",next:g,offset:E.range[2],onError:i,parentIndent:s.indent,startOnNewline:!m||m.type==="block-scalar"});if(c=w.end,w.found){y&&((g==null?void 0:g.type)==="block-map"&&!w.hasNewline&&i(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&v.starte&&(e.type==="block-map"||e.type==="block-seq");function sTe({composeNode:e,composeEmptyNode:t},n,s,i,r){var v;const a=s.start.source==="{",l=a?"flow map":"flow sequence",c=(r==null?void 0:r.nodeClass)??(a?Kr:Qc),u=new c(n.schema);u.flow=!0;const d=n.atRoot;d&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=s.offset+s.start.source.length;for(let y=0;y0){const y=gg(p,g,n.options.strict,i);y.comment&&(u.comment?u.comment+=` +`+y.comment:u.comment=y.comment),u.range=[s.offset,g,y.offset]}else u.range=[s.offset,g,g];return u}function sw(e,t,n,s,i,r){const a=n.type==="block-map"?tTe(e,t,n,s,r):n.type==="block-seq"?nTe(e,t,n,s,r):sTe(e,t,n,s,r),l=a.constructor;return i==="!"||i===l.tagName?(a.tag=l.tagName,a):(i&&(a.tag=i),a)}function iTe(e,t,n,s,i){var h;const r=s.tag,a=r?t.directives.tagName(r.source,m=>i(r,"TAG_RESOLVE_FAILED",m)):null;if(n.type==="block-seq"){const{anchor:m,newlineAfterProp:p}=s,g=m&&r?m.offset>r.offset?m:r:m??r;g&&(!p||p.offsetm.tag===a&&m.collection===l);if(!c){const m=t.schema.knownTags[a];if((m==null?void 0:m.collection)===l)t.schema.tags.push(Object.assign({},m,{default:!1})),c=m;else return m?i(r,"BAD_COLLECTION_TYPE",`${m.tag} used for ${l} collection, but expects ${m.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),sw(e,t,n,i,a)}const u=sw(e,t,n,i,a,c),d=((h=c.resolve)==null?void 0:h.call(c,u,m=>i(r,"TAG_RESOLVE_FAILED",m),t.options))??u,f=Ms(d)?d:new kt(d);return f.range=u.range,f.tag=a,c!=null&&c.format&&(f.format=c.format),f}function rTe(e,t,n){const s=t.offset,i=aTe(t,e.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[s,s,s]};const r=i.mode===">"?kt.BLOCK_FOLDED:kt.BLOCK_LITERAL,a=t.source?oTe(t.source):[];let l=a.length;for(let g=a.length-1;g>=0;--g){const v=a[g][1];if(v===""||v==="\r")l=g;else break}if(l===0){const g=i.chomp==="+"&&a.length>0?` `.repeat(Math.max(1,a.length-1)):"";let v=s+i.length;return t.source&&(v+=t.source.length),{value:g,type:r,comment:i.comment,range:[s,v,v]}}let c=t.indent+i.indent,u=t.offset+i.length,d=0;for(let g=0;gc&&(c=v.length);else{v.length=l;--g)a[g][0].length>c&&(l=g+1);let f="",h="",m=!1;for(let g=0;gc||y[0]===" "?(h===" "?h=` `:!m&&h===` `&&(h=` @@ -735,73 +735,73 @@ ${u} `+a[g][0].slice(c);f[f.length-1]!==` `&&(f+=` `);break;default:f+=` -`}const p=s+i.length+t.source.length;return{value:f,type:r,comment:i.comment,range:[s,p,p]}}function Q_e({offset:e,props:t},n,s){if(t[0].type!=="block-scalar-header")return s(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:i}=t[0],r=i[0];let a=0,l="",c=-1;for(let h=1;hn(s+h,m,p);switch(i){case"scalar":l=At.PLAIN,c=eTe(r,u);break;case"single-quoted-scalar":l=At.QUOTE_SINGLE,c=tTe(r,u);break;case"double-quoted-scalar":l=At.QUOTE_DOUBLE,c=nTe(r,u);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[s,s+r.length,s+r.length]}}const d=s+r.length,f=pg(a,d,t,n);return{value:c,type:l,comment:f.comment,range:[s,d,f.offset]}}function eTe(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}`),L$(e)}function tTe(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),L$(e.slice(1,-1)).replace(/''/g,"'")}function L$(e){let t,n;try{t=new RegExp(`(.*?)(?n(s+h,m,p);switch(i){case"scalar":l=kt.PLAIN,c=cTe(r,u);break;case"single-quoted-scalar":l=kt.QUOTE_SINGLE,c=uTe(r,u);break;case"double-quoted-scalar":l=kt.QUOTE_DOUBLE,c=dTe(r,u);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[s,s+r.length,s+r.length]}}const d=s+r.length,f=gg(a,d,t,n);return{value:c,type:l,comment:f.comment,range:[s,d,f.offset]}}function cTe(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}`),z$(e)}function uTe(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),z$(e.slice(1,-1)).replace(/''/g,"'")}function z$(e){let t,n;try{t=new RegExp(`(.*?)(?r?e.slice(r,s+1):i)}else n+=i}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function sTe(e,t){let n="",s=e[t+1];for(;(s===" "||s===" "||s===` +`)&&(n+=s>r?e.slice(r,s+1):i)}else n+=i}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function fTe(e,t){let n="",s=e[t+1];for(;(s===" "||s===" "||s===` `||s==="\r")&&!(s==="\r"&&e[t+2]!==` `);)s===` `&&(n+=` -`),t+=1,s=e[t+1];return n||(n=" "),{fold:n,offset:t}}const iTe={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` -`,r:"\r",t:" ",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function rTe(e,t,n,s){const i=e.substr(t,n),a=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(a)}catch{const l=e.substr(t-2,n+2);return s(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${l}`),l}}function D$(e,t,n,s){const{value:i,type:r,comment:a,range:l}=t.type==="block-scalar"?X_e(e,t,s):J_e(t,e.options.strict,s),c=n?e.directives.tagName(n.source,f=>s(n,"TAG_RESOLVE_FAILED",f)):null;let u;e.options.stringKeys&&e.atKey?u=e.schema[Ga]:c?u=aTe(e.schema,i,c,n,s):t.type==="scalar"?u=oTe(e,i,t,s):u=e.schema[Ga];let d;try{const f=u.resolve(i,h=>s(n??t,"TAG_RESOLVE_FAILED",h),e.options);d=Kn(f)?f:new At(f)}catch(f){const h=f instanceof Error?f.message:String(f);s(n??t,"TAG_RESOLVE_FAILED",h),d=new At(i)}return d.range=l,d.source=i,r&&(d.type=r),c&&(d.tag=c),u.format&&(d.format=u.format),a&&(d.comment=a),d}function aTe(e,t,n,s,i){var l;if(n==="!")return e[Ga];const r=[];for(const c of e.tags)if(!c.collection&&c.tag===n)if(c.default&&c.test)r.push(c);else return c;for(const c of r)if((l=c.test)!=null&&l.test(t))return c;const a=e.knownTags[n];return a&&!a.collection?(e.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[Ga])}function oTe({atKey:e,directives:t,schema:n},s,i,r){const a=n.tags.find(l=>{var c;return(l.default===!0||e&&l.default==="key")&&((c=l.test)==null?void 0:c.test(s))})||n[Ga];if(n.compat){const l=n.compat.find(c=>{var u;return c.default&&((u=c.test)==null?void 0:u.test(s))})??n[Ga];if(a.tag!==l.tag){const c=t.tagString(a.tag),u=t.tagString(l.tag),d=`Value may be parsed as either ${c} or ${u}`;r(i,"TAG_RESOLVE_FAILED",d,!0)}}return a}function lTe(e,t,n){if(t){n??(n=t.length);for(let s=n-1;s>=0;--s){let i=t[s];switch(i.type){case"space":case"comment":case"newline":e-=i.source.length;continue}for(i=t[++s];(i==null?void 0:i.type)==="space";)e+=i.source.length,i=t[++s];break}}return e}const cTe={composeNode:P$,composeEmptyNode:L2};function P$(e,t,n,s){const i=e.atKey,{spaceBefore:r,comment:a,anchor:l,tag:c}=n;let u,d=!0;switch(t.type){case"alias":u=uTe(e,t,s),(l||c)&&s(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=D$(e,t,c,s),l&&(u.anchor=l.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=W_e(cTe,e,t,n,s),l&&(u.anchor=l.source.substring(1))}catch(f){const h=f instanceof Error?f.message:String(f);s(t,"RESOURCE_EXHAUSTION",h)}break;default:{const f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;s(t,"UNEXPECTED_TOKEN",f),d=!1}}return u??(u=L2(e,t.offset,void 0,null,n,s)),l&&u.anchor===""&&s(l,"BAD_ALIAS","Anchor cannot be an empty string"),i&&e.options.stringKeys&&(!Kn(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&s(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(u.spaceBefore=!0),a&&(t.type==="scalar"&&t.source===""?u.comment=a:u.commentBefore=a),e.options.keepSourceTokens&&d&&(u.srcToken=t),u}function L2(e,t,n,s,{spaceBefore:i,comment:r,anchor:a,tag:l,end:c},u){const d={type:"scalar",offset:lTe(t,n,s),indent:-1,source:""},f=D$(e,d,l,u);return a&&(f.anchor=a.source.substring(1),f.anchor===""&&u(a,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(f.spaceBefore=!0),r&&(f.comment=r,f.range[2]=c),f}function uTe({options:e},{offset:t,source:n,end:s},i){const r=new S2(n.substring(1));r.source===""&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,l=pg(s,a,e.strict,i);return r.range=[t,a,l.offset],l.comment&&(r.comment=l.comment),r}function dTe(e,t,{offset:n,start:s,value:i,end:r},a){const l=Object.assign({_directives:t},e),c=new mg(void 0,l),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},d=yf(s,{indicator:"doc-start",next:i??(r==null?void 0:r[0]),offset:n,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(c.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=i?P$(u,i,d,a):L2(u,d.end,s,null,d,a);const f=c.contents.range[2],h=pg(r,f,!1,a);return h.comment&&(c.comment=h.comment),c.range=[n,f,h.offset],c}function Lh(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 RL(e){var i;let t="",n=!1,s=!1;for(let r=0;rs(n,"TAG_RESOLVE_FAILED",f)):null;let u;e.options.stringKeys&&e.atKey?u=e.schema[Ga]:c?u=pTe(e.schema,i,c,n,s):t.type==="scalar"?u=gTe(e,i,t,s):u=e.schema[Ga];let d;try{const f=u.resolve(i,h=>s(n??t,"TAG_RESOLVE_FAILED",h),e.options);d=Vn(f)?f:new kt(f)}catch(f){const h=f instanceof Error?f.message:String(f);s(n??t,"TAG_RESOLVE_FAILED",h),d=new kt(i)}return d.range=l,d.source=i,r&&(d.type=r),c&&(d.tag=c),u.format&&(d.format=u.format),a&&(d.comment=a),d}function pTe(e,t,n,s,i){var l;if(n==="!")return e[Ga];const r=[];for(const c of e.tags)if(!c.collection&&c.tag===n)if(c.default&&c.test)r.push(c);else return c;for(const c of r)if((l=c.test)!=null&&l.test(t))return c;const a=e.knownTags[n];return a&&!a.collection?(e.tags.push(Object.assign({},a,{default:!1,test:void 0})),a):(i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[Ga])}function gTe({atKey:e,directives:t,schema:n},s,i,r){const a=n.tags.find(l=>{var c;return(l.default===!0||e&&l.default==="key")&&((c=l.test)==null?void 0:c.test(s))})||n[Ga];if(n.compat){const l=n.compat.find(c=>{var u;return c.default&&((u=c.test)==null?void 0:u.test(s))})??n[Ga];if(a.tag!==l.tag){const c=t.tagString(a.tag),u=t.tagString(l.tag),d=`Value may be parsed as either ${c} or ${u}`;r(i,"TAG_RESOLVE_FAILED",d,!0)}}return a}function bTe(e,t,n){if(t){n??(n=t.length);for(let s=n-1;s>=0;--s){let i=t[s];switch(i.type){case"space":case"comment":case"newline":e-=i.source.length;continue}for(i=t[++s];(i==null?void 0:i.type)==="space";)e+=i.source.length,i=t[++s];break}}return e}const yTe={composeNode:G$,composeEmptyNode:B2};function G$(e,t,n,s){const i=e.atKey,{spaceBefore:r,comment:a,anchor:l,tag:c}=n;let u,d=!0;switch(t.type){case"alias":u=xTe(e,t,s),(l||c)&&s(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=V$(e,t,c,s),l&&(u.anchor=l.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=iTe(yTe,e,t,n,s),l&&(u.anchor=l.source.substring(1))}catch(f){const h=f instanceof Error?f.message:String(f);s(t,"RESOURCE_EXHAUSTION",h)}break;default:{const f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;s(t,"UNEXPECTED_TOKEN",f),d=!1}}return u??(u=B2(e,t.offset,void 0,null,n,s)),l&&u.anchor===""&&s(l,"BAD_ALIAS","Anchor cannot be an empty string"),i&&e.options.stringKeys&&(!Vn(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&s(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(u.spaceBefore=!0),a&&(t.type==="scalar"&&t.source===""?u.comment=a:u.commentBefore=a),e.options.keepSourceTokens&&d&&(u.srcToken=t),u}function B2(e,t,n,s,{spaceBefore:i,comment:r,anchor:a,tag:l,end:c},u){const d={type:"scalar",offset:bTe(t,n,s),indent:-1,source:""},f=V$(e,d,l,u);return a&&(f.anchor=a.source.substring(1),f.anchor===""&&u(a,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(f.spaceBefore=!0),r&&(f.comment=r,f.range[2]=c),f}function xTe({options:e},{offset:t,source:n,end:s},i){const r=new N2(n.substring(1));r.source===""&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,l=gg(s,a,e.strict,i);return r.range=[t,a,l.offset],l.comment&&(r.comment=l.comment),r}function ETe(e,t,{offset:n,start:s,value:i,end:r},a){const l=Object.assign({_directives:t},e),c=new pg(void 0,l),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},d=yf(s,{indicator:"doc-start",next:i??(r==null?void 0:r[0]),offset:n,onError:a,parentIndent:0,startOnNewline:!0});d.found&&(c.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!d.hasNewline&&a(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=i?G$(u,i,d,a):B2(u,d.end,s,null,d,a);const f=c.contents.range[2],h=gg(r,f,!1,a);return h.comment&&(c.comment=h.comment),c.range=[n,f,h.offset],c}function Lh(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 ML(e){var i;let t="",n=!1,s=!1;for(let r=0;r{const a=Lh(n);r?this.warnings.push(new G_e(a,s,i)):this.errors.push(new em(a,s,i))},this.directives=new Fi({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:s,afterEmptyLine:i}=RL(this.prelude);if(s){const r=t.contents;if(n)t.comment=t.comment?`${t.comment} -${s}`:s;else if(i||t.directives.docStart||!r)t.commentBefore=s;else if(Cs(r)&&!r.flow&&r.items.length>0){let a=r.items[0];Os(a)&&(a=a.key);const l=a.commentBefore;a.commentBefore=l?`${s} +`)+(a.substring(1)||" "),n=!0,s=!1;break;case"%":((i=e[r+1])==null?void 0:i[0])!=="#"&&(r+=1),n=!1;break;default:n||(s=!0),n=!1}}return{comment:t,afterEmptyLine:s}}class vTe{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,s,i,r)=>{const a=Lh(n);r?this.warnings.push(new eTe(a,s,i)):this.errors.push(new em(a,s,i))},this.directives=new Hi({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:s,afterEmptyLine:i}=ML(this.prelude);if(s){const r=t.contents;if(n)t.comment=t.comment?`${t.comment} +${s}`:s;else if(i||t.directives.docStart||!r)t.commentBefore=s;else if(js(r)&&!r.flow&&r.items.length>0){let a=r.items[0];Ls(a)&&(a=a.key);const l=a.commentBefore;a.commentBefore=l?`${s} ${l}`:s}else{const a=r.commentBefore;r.commentBefore=a?`${s} -${a}`:s}}if(n){for(let r=0;r{const r=Lh(t);r[0]+=n,this.onError(r,"BAD_DIRECTIVE",s,i)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=dTe(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,s=new em(Lh(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){const s="Unexpected doc-end without preceding document";this.errors.push(new em(Lh(t),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;const n=pg(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const s=this.doc.comment;this.doc.comment=s?`${s} -${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new em(Lh(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 s=Object.assign({_directives:this.directives},this.options),i=new mg(void 0,s);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,n,n],this.decorate(i,!1),yield i}}}const B$="\uFEFF",U$="",F$="",z_="";function hTe(e){switch(e){case B$:return"byte-order-mark";case U$:return"doc-mode";case F$:return"flow-error-end";case z_:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` +${a}`:s}}if(n){for(let r=0;r{const r=Lh(t);r[0]+=n,this.onError(r,"BAD_DIRECTIVE",s,i)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=ETe(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,s=new em(Lh(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){const s="Unexpected doc-end without preceding document";this.errors.push(new em(Lh(t),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;const n=gg(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const s=this.doc.comment;this.doc.comment=s?`${s} +${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new em(Lh(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 s=Object.assign({_directives:this.directives},this.options),i=new pg(void 0,s);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,n,n],this.decorate(i,!1),yield i}}}const K$="\uFEFF",q$="",Y$="",K_="";function wTe(e){switch(e){case K$:return"byte-order-mark";case q$:return"doc-mode";case Y$:return"flow-error-end";case K_: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 ra(e){switch(e){case void 0:case" ":case` -`:case"\r":case" ":return!0;default:return!1}}const OL=new Set("0123456789ABCDEFabcdef"),mTe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),M0=new Set(",[]{}"),pTe=new Set(` ,[]{} -\r `),tw=e=>!e||pTe.has(e);class gTe{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 s=this.next??"stream";for(;s&&(n||this.hasChars(1));)s=yield*this.parseNext(s)}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 LL=new Set("0123456789ABCDEFabcdef"),STe=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),L0=new Set(",[]{}"),_Te=new Set(` ,[]{} +\r `),iw=e=>!e||_Te.has(e);class TTe{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 s=this.next??"stream";for(;s&&(n||this.hasChars(1));)s=yield*this.parseNext(s)}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 s=0;for(;n===" ";)n=this.buffer[++s+t];if(n==="\r"){const i=this.buffer[s+t+1];if(i===` `||!i&&!this.atEnd)return t+s+1}return n===` `||s>=this.indentNext||!n&&!this.atEnd?t+s:-1}if(n==="-"||n==="."){const s=this.buffer.substr(t,3);if((s==="---"||s==="...")&&ra(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&tthis.indentValue&&!ra(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===":")&&ra(n)){const s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,"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(tw),"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,s=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=s=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const i=this.getLine();if(i===null)return this.setNext("flow");if((s!==-1&&sthis.indentValue&&!ra(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===":")&&ra(n)){const s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,"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(iw),"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,s=-1;do t=yield*this.pushNewline(),t>0?(n=yield*this.pushSpaces(!1),this.indentValue=s=n):n=0,n+=yield*this.pushSpaces(!0);while(t+n>0);const i=this.getLine();if(i===null)return this.setNext("flow");if((s!==-1&&s"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>ra(n)||n==="#")}*parseBlockScalar(){let t=this.pos-1,n=0,s;e:for(let r=this.pos;s=this.buffer[r];++r)switch(s){case" ":n+=1;break;case` `:t=r,n=0;break;case"\r":{const a=this.buffer[r+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if(a===` `)break}default:break e}if(!s&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=n:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{const r=this.continueScalar(t+1);if(r===-1)break;t=this.buffer.indexOf(` `,r)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let i=t+1;for(s=this.buffer[i];s===" ";)s=this.buffer[++i];if(s===" "){for(;s===" "||s===" "||s==="\r"||s===` `;)s=this.buffer[++i];t=i-1}else if(!this.blockScalarKeep)do{let r=t-1,a=this.buffer[r];a==="\r"&&(a=this.buffer[--r]);const l=r;for(;a===" ";)a=this.buffer[--r];if(a===` -`&&r>=this.pos&&r+1+n>l)t=r;else break}while(!0);return yield z_,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,s=this.pos-1,i;for(;i=this.buffer[++s];)if(i===":"){const r=this.buffer[s+1];if(ra(r)||t&&M0.has(r))break;n=s}else if(ra(i)){let r=this.buffer[s+1];if(i==="\r"&&(r===` +`&&r>=this.pos&&r+1+n>l)t=r;else break}while(!0);return yield K_,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,s=this.pos-1,i;for(;i=this.buffer[++s];)if(i===":"){const r=this.buffer[s+1];if(ra(r)||t&&L0.has(r))break;n=s}else if(ra(i)){let r=this.buffer[s+1];if(i==="\r"&&(r===` `?(s+=1,i=` -`,r=this.buffer[s+1]):n=s),r==="#"||t&&M0.has(r))break;if(i===` -`){const a=this.continueScalar(s+1);if(a===-1)break;s=Math.max(s,a-2)}}else{if(t&&M0.has(i))break;n=s}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield z_,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 s=this.buffer.slice(this.pos,t);return s?(yield s,this.pos+=s.length,s.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(tw),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{const n=this.flowLevel>0,s=this.charAt(1);if(ra(s)||n&&M0.has(s)){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(;!ra(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(mTe.has(n))n=this.buffer[++t];else if(n==="%"&&OL.has(this.buffer[t+1])&&OL.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===` +`,r=this.buffer[s+1]):n=s),r==="#"||t&&L0.has(r))break;if(i===` +`){const a=this.continueScalar(s+1);if(a===-1)break;s=Math.max(s,a-2)}}else{if(t&&L0.has(i))break;n=s}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield K_,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 s=this.buffer.slice(this.pos,t);return s?(yield s,this.pos+=s.length,s.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(iw),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{const n=this.flowLevel>0,s=this.charAt(1);if(ra(s)||n&&L0.has(s)){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(;!ra(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(STe.has(n))n=this.buffer[++t];else if(n==="%"&&LL.has(this.buffer[t+1])&&LL.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,s;do s=this.buffer[++n];while(s===" "||t&&s===" ");const i=n-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=n),i}*pushUntil(t){let n=this.pos,s=this.buffer[n];for(;!t(s);)s=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class bTe{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,s=this.lineStarts.length;for(;n>1;this.lineStarts[r]=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 qy(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 s=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in s?s.indent:0:n.type==="flow-collection"&&s.type==="document"&&(n.indent=0),n.type==="flow-collection"&&ML(n),s.type){case"document":s.value=n;break;case"block-scalar":s.props.push(n);break;case"block-map":{const i=s.items[s.items.length-1];if(i.value){s.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=n;else{Object.assign(i,{key:n,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{const i=s.items[s.items.length-1];i.value?s.items.push({start:[],value:n}):i.value=n;break}case"flow-collection":{const i=s.items[s.items.length-1];!i||i.value?s.items.push({start:[],key:n,sep:[]}):i.sep?i.value=n:Object.assign(i,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const i=n.items[n.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&jL(i.start)===-1&&(n.indent===0||i.start.every(r=>r.type!=="comment"||r.indent0&&(yield this.buffer.substr(this.pos,i),this.pos=n),i}*pushUntil(t){let n=this.pos,s=this.buffer[n];for(;!t(s);)s=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class NTe{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,s=this.lineStarts.length;for(;n>1;this.lineStarts[r]=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 Yy(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 s=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in s?s.indent:0:n.type==="flow-collection"&&s.type==="document"&&(n.indent=0),n.type==="flow-collection"&&PL(n),s.type){case"document":s.value=n;break;case"block-scalar":s.props.push(n);break;case"block-map":{const i=s.items[s.items.length-1];if(i.value){s.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=n;else{Object.assign(i,{key:n,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{const i=s.items[s.items.length-1];i.value?s.items.push({start:[],value:n}):i.value=n;break}case"flow-collection":{const i=s.items[s.items.length-1];!i||i.value?s.items.push({start:[],key:n,sep:[]}):i.sep?i.value=n:Object.assign(i,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const i=n.items[n.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&DL(i.start)===-1&&(n.indent===0||i.start.every(r=>r.type!=="comment"||r.indent=t.indent){const i=!this.onKeyLine&&this.indent===t.indent,r=i&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(r&&n.sep&&!n.value){const l=[];for(let c=0;ct.indent&&(l.length=0);break;default:l.length=0}}l.length>=2&&(a=n.sep.splice(l[1]))}switch(this.type){case"anchor":case"tag":r||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):r||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(fl(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($$(n.key)&&!fl(n.sep,"newline")){const l=Bu(n.start),c=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:l,key:c,sep:u}]})}else a.length>0?n.sep=n.sep.concat(a,this.sourceToken):n.sep.push(this.sourceToken);else if(fl(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const l=Bu(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:l,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||r?t.items.push({start:a,key:null,sep:[this.sourceToken]}):fl(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 l=this.flowScalar(this.type);r||n.value?(t.items.push({start:a,key:l,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(l):(Object.assign(n,{key:l,sep:[]}),this.onKeyLine=!0);return}default:{const l=this.startBlockValue(t);if(l){if(l.type==="block-seq"){if(!n.explicitKey&&n.sep&&!fl(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 i&&t.items.push({start:a});this.stack.push(l);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var s;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const i="end"in n.value?n.value.end:void 0,r=Array.isArray(i)?i[i.length-1]:void 0;(r==null?void 0:r.type)==="comment"?i==null||i.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 i=t.items[t.items.length-2],r=(s=i==null?void 0:i.value)==null?void 0:s.end;if(Array.isArray(r)){qy(r,n.start),r.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||fl(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const i=this.startBlockValue(t);if(i){this.stack.push(i);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while((s==null?void 0:s.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 i=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:i,sep:[]}):n.sep?this.stack.push(i):Object.assign(n,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const s=this.startBlockValue(t);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{const s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===t.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){const i=L0(s),r=Bu(i);ML(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const l={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:r,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=l}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 s;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){const i="end"in n.value?n.value.end:void 0,r=Array.isArray(i)?i[i.length-1]:void 0;(r==null?void 0:r.type)==="comment"?i==null||i.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 i=t.items[t.items.length-2],r=(s=i==null?void 0:i.value)==null?void 0:s.end;if(Array.isArray(r)){Yy(r,n.start),r.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=t.indent){const i=!this.onKeyLine&&this.indent===t.indent,r=i&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(r&&n.sep&&!n.value){const l=[];for(let c=0;ct.indent&&(l.length=0);break;default:l.length=0}}l.length>=2&&(a=n.sep.splice(l[1]))}switch(this.type){case"anchor":case"tag":r||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):r||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(fl(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(W$(n.key)&&!fl(n.sep,"newline")){const l=Bu(n.start),c=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:l,key:c,sep:u}]})}else a.length>0?n.sep=n.sep.concat(a,this.sourceToken):n.sep.push(this.sourceToken);else if(fl(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const l=Bu(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:l,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||r?t.items.push({start:a,key:null,sep:[this.sourceToken]}):fl(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 l=this.flowScalar(this.type);r||n.value?(t.items.push({start:a,key:l,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(l):(Object.assign(n,{key:l,sep:[]}),this.onKeyLine=!0);return}default:{const l=this.startBlockValue(t);if(l){if(l.type==="block-seq"){if(!n.explicitKey&&n.sep&&!fl(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 i&&t.items.push({start:a});this.stack.push(l);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var s;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const i="end"in n.value?n.value.end:void 0,r=Array.isArray(i)?i[i.length-1]:void 0;(r==null?void 0:r.type)==="comment"?i==null||i.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 i=t.items[t.items.length-2],r=(s=i==null?void 0:i.value)==null?void 0:s.end;if(Array.isArray(r)){Yy(r,n.start),r.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||fl(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const i=this.startBlockValue(t);if(i){this.stack.push(i);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while((s==null?void 0:s.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 i=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:i,sep:[]}):n.sep?this.stack.push(i):Object.assign(n,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const s=this.startBlockValue(t);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{const s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===t.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){const i=D0(s),r=Bu(i);PL(t);const a=t.end.splice(1,t.end.length);a.push(this.sourceToken);const l={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:r,key:t,sep:a}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=l}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=L0(t),s=Bu(n);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=L0(t),s=Bu(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(s=>s.type==="newline"||s.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 xTe(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new bTe||null,prettyErrors:t}}function ETe(e,t={}){const{lineCounter:n,prettyErrors:s}=xTe(t),i=new yTe(n==null?void 0:n.addNewLine),r=new fTe(t);let a=null;for(const l of r.compose(i.parse(e),!0,e.length))if(!a)a=l;else if(a.options.logLevel!=="silent"){a.errors.push(new em(l.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&n&&(a.errors.forEach(CL(e,n)),a.warnings.forEach(CL(e,n))),a}function vTe(e,t,n){let s;const i=ETe(e,n);if(!i)return null;if(i.warnings.forEach(r=>h$(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:s},n))}function wTe(e,t,n){let s=null;if(Array.isArray(t)&&(s=t),e===void 0){const{keepUndefined:i}={};if(!i)return}return ug(e)&&!s?e.toString(n):new mg(e,s,n).toString(n)}const H$=new Set(["local","sqlite","mysql","postgresql"]),z$=new Set(["local","opensearch","redis","viking","mem0"]),V$=new Set(["opensearch","viking","context_search"]),G$=new Set(["apmplus","cozeloop","tls"]),K$=new Set(["web_search","parallel_web_search","link_reader","web_scraper","image_generate","image_edit","video_generate","text_to_speech","run_code","vesearch"]),STe=new Set(B9.map(e=>e.id)),_Te=new Set(["llm","sequential","parallel","loop","a2a"]);function Dt(e,t=""){return typeof e=="string"?e:t}function Hr(e){return e===!0}function Pm(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function q$(e){return Array.isArray(e)?e.map(t=>t&&typeof t=="object"?{name:Dt(t.name),description:Dt(t.description)}:null).filter(t=>!!t&&!!t.name.trim()):[]}function Pd(e,t,n){return typeof e=="string"&&t.has(e)?e:n}function Y$(e){return typeof e=="string"&&_Te.has(e)?e:"llm"}function W$(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):3}function X$(e){const t=e&&typeof e=="object"?e:{};return{enabled:Hr(t.enabled),registrySpaceId:Dt(t.registrySpaceId),registryTopK:Dt(t.registryTopK),registryRegion:Dt(t.registryRegion),registryEndpoint:Dt(t.registryEndpoint)}}function Q$(e){return Array.isArray(e)?e.map(t=>{const n=t&&typeof t=="object"?t:{},s=n.memory&&typeof n.memory=="object"?n.memory:{},i=X$(n.a2aRegistry),r=Y$(n.agentType),a=i.enabled&&r==="llm"?"a2a":r;return{...Ni(),name:Dt(n.name),description:Dt(n.description),instruction:Dt(n.instruction),agentType:a,maxIterations:W$(n.maxIterations),a2aUrl:Dt(n.a2aUrl),modelName:Dt(n.modelName),modelProvider:Dt(n.modelProvider),modelApiBase:Dt(n.modelApiBase),builtinTools:Pm(n.builtinTools).filter(l=>K$.has(l)),customTools:q$(n.customTools),memory:{shortTerm:Hr(s.shortTerm),longTerm:Hr(s.longTerm)},shortTermBackend:Pd(n.shortTermBackend,H$,"local"),longTermBackend:Pd(n.longTermBackend,z$,"local"),autoSaveSession:Hr(n.autoSaveSession),knowledgebase:Hr(n.knowledgebase),knowledgebaseBackend:Pd(n.knowledgebaseBackend,V$,Wc),knowledgebaseIndex:Dt(n.knowledgebaseIndex),tracing:Hr(n.tracing),tracingExporters:Pm(n.tracingExporters).filter(l=>G$.has(l)),a2aRegistry:a==="a2a"?{...i,enabled:!0}:i,subAgents:Q$(n.subAgents),selectedSkills:Z$(n)}}):[]}function Z$(e){if(!Array.isArray(e.selectedSkills))return[];const t=[];for(const n of e.selectedSkills){const s=n&&typeof n=="object"?n:{},i=Dt(s.source),r=i==="local"||i==="skillspace"||i==="skillhub"?i:"skillhub",a=Dt(s.name)||Dt(s.slug)||Dt(s.skillName)||Dt(s.skillId)||"skill",l=Dt(s.folder)||a,c=Dt(s.description);if(r==="skillhub"){const f=Dt(s.slug);if(!f)continue;t.push({source:r,folder:l,name:a,description:c,slug:f,namespace:Dt(s.namespace)||"public"});continue}if(r==="local"){const h=(Array.isArray(s.localFiles)?s.localFiles:[]).map(m=>{const p=m&&typeof m=="object"?m:{},g=Dt(p.path),v=Dt(p.content);return g?{path:g,content:v}:null}).filter(m=>m!==null);if(h.length===0)continue;t.push({source:r,folder:l,name:a,description:c,localFiles:h});continue}const u=Dt(s.skillSpaceId),d=Dt(s.skillId);!u||!d||t.push({source:r,folder:l,name:a,description:c,skillSpaceId:u,skillSpaceName:Dt(s.skillSpaceName),skillId:d,version:Dt(s.version)})}return t}function D2(e){const t=e&&typeof e=="object"?e:{},n=t.memory&&typeof t.memory=="object"?t.memory:{},s=t.deployment&&typeof t.deployment=="object"?t.deployment:{},i=X$(t.a2aRegistry),r=Y$(t.agentType),a=i.enabled&&r==="llm"?"a2a":r,l=Array.isArray(t.mcpTools)?t.mcpTools.map(c=>{const u=c&&typeof c=="object"?c:{},d=u.transport==="stdio"?"stdio":"http";return{name:Dt(u.name),transport:d,url:Dt(u.url),authToken:Dt(u.authToken),command:Dt(u.command),args:Pm(u.args)}}).filter(c=>c.transport==="http"?!!c.url:!!c.command):[];return{...Ni(),name:Dt(t.name)||"my_agent",description:Dt(t.description),instruction:Dt(t.instruction)||"You are a helpful assistant.",agentType:a,maxIterations:W$(t.maxIterations),a2aUrl:Dt(t.a2aUrl),modelName:Dt(t.modelName),modelProvider:Dt(t.modelProvider),modelApiBase:Dt(t.modelApiBase),builtinTools:Pm(t.builtinTools).filter(c=>K$.has(c)),customTools:q$(t.customTools),mcpTools:l,a2aRegistry:a==="a2a"?{...i,enabled:!0}:i,memory:{shortTerm:Hr(n.shortTerm),longTerm:Hr(n.longTerm)},shortTermBackend:Pd(t.shortTermBackend,H$,"local"),longTermBackend:Pd(t.longTermBackend,z$,"local"),autoSaveSession:Hr(t.autoSaveSession),knowledgebase:Hr(t.knowledgebase),knowledgebaseBackend:Pd(t.knowledgebaseBackend,V$,Wc),knowledgebaseIndex:Dt(t.knowledgebaseIndex),tracing:Hr(t.tracing),tracingExporters:Pm(t.tracingExporters).filter(c=>G$.has(c)),deployment:{feishuEnabled:Hr(s.feishuEnabled)},subAgents:Q$(t.subAgents),selectedSkills:Z$(t)}}function J$(e){return{...e,builtinTools:(e.builtinTools??[]).filter(t=>STe.has(t)),tracing:!1,tracingExporters:[],memory:{shortTerm:!1,longTerm:!1},shortTermBackend:"local",longTermBackend:"local",autoSaveSession:!1,knowledgebase:!1,knowledgebaseBackend:Wc,knowledgebaseIndex:"",subAgents:e.subAgents.map(J$)}}function eH(e){var n,s,i,r,a,l,c,u,d,f,h,m,p,g,v,y,x,E;const t={agentType:e.agentType??"llm"};if(e.agentType==="a2a"){if((n=e.a2aRegistry)!=null&&n.enabled){const w={enabled:!0};(s=e.a2aRegistry.registrySpaceId)!=null&&s.trim()&&(w.registrySpaceId=e.a2aRegistry.registrySpaceId.trim()),w.registryTopK=((i=e.a2aRegistry.registryTopK)==null?void 0:i.trim())||ba.topK,w.registryRegion=((r=e.a2aRegistry.registryRegion)==null?void 0:r.trim())||ba.region,w.registryEndpoint=((a=e.a2aRegistry.registryEndpoint)==null?void 0:a.trim())||ba.endpoint,t.a2aRegistry=w}return t}return t.name=e.name,t.description=e.description,t.instruction=e.instruction,e.agentType==="loop"&&(t.maxIterations=e.maxIterations??3),(l=e.modelName)!=null&&l.trim()&&(t.modelName=e.modelName.trim()),(c=e.modelProvider)!=null&&c.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(w=>({name:w.name,description:w.description}))),(h=e.mcpTools)!=null&&h.length&&(t.mcpTools=e.mcpTools.map(w=>{var S,k,A,C;const T={name:w.name,transport:w.transport};return(S=w.url)!=null&&S.trim()&&(T.url=w.url.trim()),(k=w.authToken)!=null&&k.trim()&&(T.authToken=w.authToken.trim()),(A=w.command)!=null&&A.trim()&&(T.command=w.command.trim()),(C=w.args)!=null&&C.length&&(T.args=w.args),T})),((m=e.memory)!=null&&m.shortTerm||(p=e.memory)!=null&&p.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&&((v=e.tracingExporters)!=null&&v.length)&&(t.tracing=!0,t.tracingExporters=[...e.tracingExporters]),(y=e.deployment)!=null&&y.feishuEnabled&&(t.deployment={feishuEnabled:!0}),(x=e.selectedSkills)!=null&&x.length&&(t.selectedSkills=e.selectedSkills.map(w=>{const T={source:w.source,name:w.name,folder:w.folder};return w.description&&(T.description=w.description),w.source==="skillhub"?(T.slug=w.slug,T.namespace=w.namespace??"public"):w.source==="local"?T.localFiles=w.localFiles??[]:(T.skillSpaceId=w.skillSpaceId,T.skillSpaceName=w.skillSpaceName,T.skillId=w.skillId,w.version&&(T.version=w.version)),T})),(E=e.subAgents)!=null&&E.length&&(t.subAgents=e.subAgents.map(eH)),t}function TTe(e){return`# VeADK Agent 结构配置 +`,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=D0(t),s=Bu(n);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=D0(t),s=Bu(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(s=>s.type==="newline"||s.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 ATe(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new NTe||null,prettyErrors:t}}function CTe(e,t={}){const{lineCounter:n,prettyErrors:s}=ATe(t),i=new kTe(n==null?void 0:n.addNewLine),r=new vTe(t);let a=null;for(const l of r.compose(i.parse(e),!0,e.length))if(!a)a=l;else if(a.options.logLevel!=="silent"){a.errors.push(new em(l.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&n&&(a.errors.forEach(jL(e,n)),a.warnings.forEach(jL(e,n))),a}function ITe(e,t,n){let s;const i=CTe(e,n);if(!i)return null;if(i.warnings.forEach(r=>v$(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:s},n))}function RTe(e,t,n){let s=null;if(Array.isArray(t)&&(s=t),e===void 0){const{keepUndefined:i}={};if(!i)return}return dg(e)&&!s?e.toString(n):new pg(e,s,n).toString(n)}const X$=new Set(["local","sqlite","mysql","postgresql"]),Q$=new Set(["local","opensearch","redis","viking","mem0"]),Z$=new Set(["opensearch","viking","context_search"]),J$=new Set(["apmplus","cozeloop","tls"]),eH=new Set(["web_search","parallel_web_search","link_reader","web_scraper","image_generate","image_edit","video_generate","text_to_speech","run_code","vesearch"]),jTe=new Set(K9.map(e=>e.id)),OTe=new Set(["llm","sequential","parallel","loop","a2a"]);function Dt(e,t=""){return typeof e=="string"?e:t}function Hr(e){return e===!0}function Bm(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function tH(e){return Array.isArray(e)?e.map(t=>t&&typeof t=="object"?{name:Dt(t.name),description:Dt(t.description)}:null).filter(t=>!!t&&!!t.name.trim()):[]}function Pd(e,t,n){return typeof e=="string"&&t.has(e)?e:n}function nH(e){return typeof e=="string"&&OTe.has(e)?e:"llm"}function sH(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):3}function iH(e){const t=e&&typeof e=="object"?e:{};return{enabled:Hr(t.enabled),registrySpaceId:Dt(t.registrySpaceId),registryTopK:Dt(t.registryTopK),registryRegion:Dt(t.registryRegion),registryEndpoint:Dt(t.registryEndpoint)}}function rH(e){return Array.isArray(e)?e.map(t=>{const n=t&&typeof t=="object"?t:{},s=n.memory&&typeof n.memory=="object"?n.memory:{},i=iH(n.a2aRegistry),r=nH(n.agentType),a=i.enabled&&r==="llm"?"a2a":r;return{...Ci(),name:Dt(n.name),description:Dt(n.description),instruction:Dt(n.instruction),agentType:a,maxIterations:sH(n.maxIterations),a2aUrl:Dt(n.a2aUrl),modelName:Dt(n.modelName),modelProvider:Dt(n.modelProvider),modelApiBase:Dt(n.modelApiBase),builtinTools:Bm(n.builtinTools).filter(l=>eH.has(l)),customTools:tH(n.customTools),memory:{shortTerm:Hr(s.shortTerm),longTerm:Hr(s.longTerm)},shortTermBackend:Pd(n.shortTermBackend,X$,"local"),longTermBackend:Pd(n.longTermBackend,Q$,"local"),autoSaveSession:Hr(n.autoSaveSession),knowledgebase:Hr(n.knowledgebase),knowledgebaseBackend:Pd(n.knowledgebaseBackend,Z$,Wc),knowledgebaseIndex:Dt(n.knowledgebaseIndex),tracing:Hr(n.tracing),tracingExporters:Bm(n.tracingExporters).filter(l=>J$.has(l)),a2aRegistry:a==="a2a"?{...i,enabled:!0}:i,subAgents:rH(n.subAgents),selectedSkills:aH(n)}}):[]}function aH(e){if(!Array.isArray(e.selectedSkills))return[];const t=[];for(const n of e.selectedSkills){const s=n&&typeof n=="object"?n:{},i=Dt(s.source),r=i==="local"||i==="skillspace"||i==="skillhub"?i:"skillhub",a=Dt(s.name)||Dt(s.slug)||Dt(s.skillName)||Dt(s.skillId)||"skill",l=Dt(s.folder)||a,c=Dt(s.description);if(r==="skillhub"){const f=Dt(s.slug);if(!f)continue;t.push({source:r,folder:l,name:a,description:c,slug:f,namespace:Dt(s.namespace)||"public"});continue}if(r==="local"){const h=(Array.isArray(s.localFiles)?s.localFiles:[]).map(m=>{const p=m&&typeof m=="object"?m:{},g=Dt(p.path),v=Dt(p.content);return g?{path:g,content:v}:null}).filter(m=>m!==null);if(h.length===0)continue;t.push({source:r,folder:l,name:a,description:c,localFiles:h});continue}const u=Dt(s.skillSpaceId),d=Dt(s.skillId);!u||!d||t.push({source:r,folder:l,name:a,description:c,skillSpaceId:u,skillSpaceName:Dt(s.skillSpaceName),skillId:d,version:Dt(s.version)})}return t}function U2(e){const t=e&&typeof e=="object"?e:{},n=t.memory&&typeof t.memory=="object"?t.memory:{},s=t.deployment&&typeof t.deployment=="object"?t.deployment:{},i=iH(t.a2aRegistry),r=nH(t.agentType),a=i.enabled&&r==="llm"?"a2a":r,l=Array.isArray(t.mcpTools)?t.mcpTools.map(c=>{const u=c&&typeof c=="object"?c:{},d=u.transport==="stdio"?"stdio":"http";return{name:Dt(u.name),transport:d,url:Dt(u.url),authToken:Dt(u.authToken),command:Dt(u.command),args:Bm(u.args)}}).filter(c=>c.transport==="http"?!!c.url:!!c.command):[];return{...Ci(),name:Dt(t.name)||"my_agent",description:Dt(t.description),instruction:Dt(t.instruction)||"You are a helpful assistant.",agentType:a,maxIterations:sH(t.maxIterations),a2aUrl:Dt(t.a2aUrl),modelName:Dt(t.modelName),modelProvider:Dt(t.modelProvider),modelApiBase:Dt(t.modelApiBase),builtinTools:Bm(t.builtinTools).filter(c=>eH.has(c)),customTools:tH(t.customTools),mcpTools:l,a2aRegistry:a==="a2a"?{...i,enabled:!0}:i,memory:{shortTerm:Hr(n.shortTerm),longTerm:Hr(n.longTerm)},shortTermBackend:Pd(t.shortTermBackend,X$,"local"),longTermBackend:Pd(t.longTermBackend,Q$,"local"),autoSaveSession:Hr(t.autoSaveSession),knowledgebase:Hr(t.knowledgebase),knowledgebaseBackend:Pd(t.knowledgebaseBackend,Z$,Wc),knowledgebaseIndex:Dt(t.knowledgebaseIndex),tracing:Hr(t.tracing),tracingExporters:Bm(t.tracingExporters).filter(c=>J$.has(c)),deployment:{feishuEnabled:Hr(s.feishuEnabled)},subAgents:rH(t.subAgents),selectedSkills:aH(t)}}function oH(e){return{...e,builtinTools:(e.builtinTools??[]).filter(t=>jTe.has(t)),tracing:!1,tracingExporters:[],memory:{shortTerm:!1,longTerm:!1},shortTermBackend:"local",longTermBackend:"local",autoSaveSession:!1,knowledgebase:!1,knowledgebaseBackend:Wc,knowledgebaseIndex:"",subAgents:e.subAgents.map(oH)}}function lH(e){var n,s,i,r,a,l,c,u,d,f,h,m,p,g,v,y,x,E;const t={agentType:e.agentType??"llm"};if(e.agentType==="a2a"){if((n=e.a2aRegistry)!=null&&n.enabled){const w={enabled:!0};(s=e.a2aRegistry.registrySpaceId)!=null&&s.trim()&&(w.registrySpaceId=e.a2aRegistry.registrySpaceId.trim()),w.registryTopK=((i=e.a2aRegistry.registryTopK)==null?void 0:i.trim())||ba.topK,w.registryRegion=((r=e.a2aRegistry.registryRegion)==null?void 0:r.trim())||ba.region,w.registryEndpoint=((a=e.a2aRegistry.registryEndpoint)==null?void 0:a.trim())||ba.endpoint,t.a2aRegistry=w}return t}return t.name=e.name,t.description=e.description,t.instruction=e.instruction,e.agentType==="loop"&&(t.maxIterations=e.maxIterations??3),(l=e.modelName)!=null&&l.trim()&&(t.modelName=e.modelName.trim()),(c=e.modelProvider)!=null&&c.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(w=>({name:w.name,description:w.description}))),(h=e.mcpTools)!=null&&h.length&&(t.mcpTools=e.mcpTools.map(w=>{var S,N,A,C;const T={name:w.name,transport:w.transport};return(S=w.url)!=null&&S.trim()&&(T.url=w.url.trim()),(N=w.authToken)!=null&&N.trim()&&(T.authToken=w.authToken.trim()),(A=w.command)!=null&&A.trim()&&(T.command=w.command.trim()),(C=w.args)!=null&&C.length&&(T.args=w.args),T})),((m=e.memory)!=null&&m.shortTerm||(p=e.memory)!=null&&p.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&&((v=e.tracingExporters)!=null&&v.length)&&(t.tracing=!0,t.tracingExporters=[...e.tracingExporters]),(y=e.deployment)!=null&&y.feishuEnabled&&(t.deployment={feishuEnabled:!0}),(x=e.selectedSkills)!=null&&x.length&&(t.selectedSkills=e.selectedSkills.map(w=>{const T={source:w.source,name:w.name,folder:w.folder};return w.description&&(T.description=w.description),w.source==="skillhub"?(T.slug=w.slug,T.namespace=w.namespace??"public"):w.source==="local"?T.localFiles=w.localFiles??[]:(T.skillSpaceId=w.skillSpaceId,T.skillSpaceName=w.skillSpaceName,T.skillId=w.skillId,w.version&&(T.version=w.version)),T})),(E=e.subAgents)!=null&&E.length&&(t.subAgents=e.subAgents.map(lH)),t}function MTe(e){return`# VeADK Agent 结构配置 # 可在「创建 Agent」页通过「导入 YAML」重新载入。 -`+wTe(eH(e))}function NTe(e){const t=vTe(e);return D2(t)}const kTe=[{kind:"custom",icon:xJ,title:"自定义",desc:"分步配置模型、工具、记忆、知识库等组件。"},{kind:"intelligent",icon:tJ,title:"智能模式",desc:"敬请期待",disabled:!0},{kind:"template",icon:QZ,title:"从模板新建",desc:"敬请期待",disabled:!0},{kind:"workflow",icon:EJ,title:"工作流",desc:"敬请期待",disabled:!0}];function ATe({onSelect:e,onImport:t}){const n=b.useRef(null),[s,i]=b.useState(""),r=kTe.map(l=>({key:l.kind,icon:l.icon,title:l.title,desc:l.desc,disabled:l.disabled,onClick:()=>e(l.kind)})),a=async l=>{var u;const c=(u=l.target.files)==null?void 0:u[0];if(l.target.value="",!!c)try{const d=await c.text();t(NTe(d))}catch(d){i(`导入失败:${d instanceof Error?d.message:String(d)}`)}};return o.jsx(s$,{title:"从 0 快速创建",sub:"选择一种方式开始",cards:r,footer:o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8},children:[o.jsxs("button",{className:"stk-import",onClick:()=>{var l;return(l=n.current)==null?void 0:l.click()},children:[o.jsx(bJ,{}),"导入 YAML 配置"]}),s&&o.jsx("span",{style:{fontSize:12,color:"hsl(var(--destructive))"},children:s}),o.jsx("input",{ref:n,type:"file",accept:".yaml,.yml,text/yaml",style:{display:"none"},onChange:a})]})})}const CTe="modulepreload",ITe=function(e){return"/"+e},LL={},Bd=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));i=Promise.allSettled(n.map(c=>{if(c=ITe(c),c in LL)return;LL[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":CTe,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return i.then(a=>{for(const l of a||[])l.status==="rejected"&&r(l.reason);return t().catch(r)})};function tH(e){const t=new Map,n={};for(const s of e){for(const i of s.env){const r=t.get(i.key);(!r||i.required&&!r.required)&&t.set(i.key,i)}s.enableFlag&&(t.set(s.enableFlag,{key:s.enableFlag,required:!0}),n[s.enableFlag]="true")}return{specs:[...t.values()],fixedValues:n}}function RTe(e,t){return tH([{env:e}]).specs.map(s=>({...s,value:t[s.key]??""}))}function nH(e,t){const n=new Map;for(const s of e){const i=t[s.key]??"";i.trim()&&n.set(s.key,i)}return[...n].map(([s,i])=>({key:s,value:i}))}function DL(e,t){return e.find(n=>{var s;return n.required&&!((s=t[n.key])!=null&&s.trim())})}const OTe="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",jTe=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let s=0;s<8;s++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function MTe(e){let t=4294967295;for(let n=0;n>>8;return(t^4294967295)>>>0}function ys(e,t){e.push(t&255,t>>>8&255)}function fr(e,t){e.push(t&255,t>>>8&255,t>>>16&255,t>>>24&255)}const PL=2048,nw=20,BL=0;function LTe(e){const t=new TextEncoder,n=[],s=[];let i=0;for(const m of e){const p=t.encode(m.path),g=t.encode(m.content),v=MTe(g),y=g.length,x=[];fr(x,67324752),ys(x,nw),ys(x,PL),ys(x,BL),ys(x,0),ys(x,0),fr(x,v),fr(x,y),fr(x,y),ys(x,p.length),ys(x,0);const E=Uint8Array.from(x);n.push(E,p,g),s.push({nameBytes:p,dataBytes:g,crc:v,size:y,offset:i}),i+=E.length+p.length+g.length}const r=i,a=[];let l=0;for(const m of s){const p=[];fr(p,33639248),ys(p,nw),ys(p,nw),ys(p,PL),ys(p,BL),ys(p,0),ys(p,0),fr(p,m.crc),fr(p,m.size),fr(p,m.size),ys(p,m.nameBytes.length),ys(p,0),ys(p,0),ys(p,0),ys(p,0),fr(p,0),fr(p,m.offset);const g=Uint8Array.from(p);a.push(g,m.nameBytes),l+=g.length+m.nameBytes.length}const c=[];fr(c,101010256),ys(c,0),ys(c,0),ys(c,s.length),ys(c,s.length),fr(c,l),fr(c,r),ys(c,0);const u=[...n,...a,Uint8Array.from(c)],d=u.reduce((m,p)=>m+p.length,0),f=new Uint8Array(d);let h=0;for(const m of u)f.set(m,h),h+=m.length;return new Blob([f],{type:"application/zip"})}const DTe=b.lazy(()=>Bd(()=>import("./CodeEditor-CLGn6cuM.js"),[]));function PTe(e){const t={name:"",children:new Map};for(const n of e){const s=n.path.split("/").filter(Boolean);let i=t;s.forEach((r,a)=>{let l=i.children.get(r);l||(l={name:r,children:new Map},i.children.set(r,l)),a===s.length-1&&(l.path=n.path),i=l})}return t}function BTe(e){return[...e.children.values()].sort((t,n)=>{const s=t.children.size>0&&t.path===void 0,i=n.children.size>0&&n.path===void 0;return s!==i?s?-1:1:t.name.localeCompare(n.name)})}function sH({project:e,open:t,onClose:n,onChange:s}){var p;const[i,r]=b.useState(((p=e.files[0])==null?void 0:p.path)??null),[a,l]=b.useState(new Set),c=b.useRef(null),u=b.useMemo(()=>PTe(e.files),[e.files]),d=e.files.find(g=>g.path===i)??null;if(b.useEffect(()=>{var y;if(!t)return;const g=document.body.style.overflow;document.body.style.overflow="hidden",(y=c.current)==null||y.focus();const v=x=>{x.key==="Escape"&&n()};return window.addEventListener("keydown",v),()=>{document.body.style.overflow=g,window.removeEventListener("keydown",v)}},[n,t]),b.useEffect(()=>{d||e.files.length===0||r(e.files[0].path)},[e.files,d]),!t)return null;function f(g){l(v=>{const y=new Set(v);return y.has(g)?y.delete(g):y.add(g),y})}function h(g,v,y){return BTe(g).map(x=>{const E=y?`${y}/${x.name}`:x.name;if(!(x.children.size>0&&x.path===void 0)&&x.path)return o.jsxs("button",{type:"button",className:`code-browser-file${i===x.path?" is-active":""}`,style:{paddingLeft:`${12+v*16}px`},onClick:()=>r(x.path??null),title:x.path,children:[o.jsx(RR,{"aria-hidden":"true"}),o.jsx("span",{children:x.name})]},E);const T=a.has(E);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+v*16}px`},onClick:()=>f(E),"aria-expanded":!T,children:[o.jsx(zl,{className:T?"":"is-open","aria-hidden":"true"}),o.jsx(pP,{"aria-hidden":"true"}),o.jsx("span",{children:x.name})]}),!T&&h(x,v+1,E)]},E)})}function m(g){d&&s({...e,files:e.files.map(v=>v.path===d.path?{...v,content:g}:v)})}return xi.createPortal(o.jsx("div",{className:"code-browser-backdrop",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:o.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[o.jsxs("header",{className:"code-browser-head",children:[o.jsxs("div",{className:"code-browser-title-wrap",children:[o.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:o.jsx(YN,{})}),o.jsxs("div",{children:[o.jsx("h2",{id:"code-browser-title",children:"项目代码"}),o.jsx("p",{children:e.name||"Agent 项目"})]})]}),o.jsx("button",{ref:c,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:o.jsx(Ei,{"aria-hidden":"true"})})]}),o.jsxs("div",{className:"code-browser-workspace",children:[o.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[o.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",o.jsx("span",{children:e.files.length})]}),o.jsx("div",{className:"code-browser-tree",children:e.files.length>0?h(u,0,""):o.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),o.jsxs("main",{className:"code-browser-main",children:[o.jsxs("div",{className:"code-browser-path",children:[o.jsx(RR,{"aria-hidden":"true"}),o.jsx("span",{children:(d==null?void 0:d.path)??"未选择文件"})]}),o.jsx("div",{className:"code-browser-editor",children:d?o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:o.jsx(DTe,{value:d.content,path:d.path,onChange:m})}):o.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function UTe({project:e,onChange:t,className:n="",label:s="查看源码"}){const[i,r]=b.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>r(!0),"aria-label":"查看和编辑项目源码",title:s,children:[o.jsx(YN,{"aria-hidden":"true"}),o.jsx("span",{children:s})]}),o.jsx(sH,{project:e,open:i,onClose:()=>r(!1),onChange:t})]})}function Yy({message:e,className:t="",onRetry:n,retryLabel:s="重试部署",defaultExpanded:i=!0}){const[r,a]=b.useState(i),[l,c]=b.useState(!1),[u,d]=b.useState(!1),f=async()=>{try{await navigator.clipboard.writeText(e),c(!0),setTimeout(()=>c(!1),1500)}catch{c(!1)}},h=async()=>{if(!(!n||u)){d(!0);try{await n()}finally{d(!1)}}};return o.jsxs("div",{className:`deploy-error-message${r?" is-expanded":""}${t?` ${t}`:""}`,role:"alert",children:[o.jsx("p",{className:"deploy-error-message-text",children:e}),o.jsxs("div",{className:"deploy-error-message-actions",children:[n&&o.jsxs("button",{type:"button",className:"deploy-error-retry",disabled:u,onClick:()=>void h(),children:[u?o.jsx(wn,{className:"spin"}):o.jsx(fJ,{}),u?"重试中…":s]}),o.jsx("button",{type:"button",title:r?"收起错误信息":"展开完整错误信息","aria-label":r?"收起错误信息":"展开完整错误信息",onClick:()=>a(m=>!m),children:r?o.jsx(sJ,{}):o.jsx(Rc,{})}),o.jsx("button",{type:"button",title:l?"已复制":"复制完整错误信息","aria-label":l?"已复制":"复制完整错误信息",onClick:()=>void f(),children:l?o.jsx(Ya,{}):o.jsx(k1,{})})]})]})}const FTe=5e4;function $Te(e,t){if(!e)return t;if(!t||e.endsWith(t))return e;if(t.startsWith(e))return t;const n=e.split(` +`+RTe(lH(e))}function LTe(e){const t=ITe(e);return U2(t)}const DTe=[{kind:"custom",icon:kJ,title:"自定义",desc:"分步配置模型、工具、记忆、知识库等组件。"},{kind:"intelligent",icon:cJ,title:"智能模式",desc:"敬请期待",disabled:!0},{kind:"template",icon:rJ,title:"从模板新建",desc:"敬请期待",disabled:!0},{kind:"workflow",icon:AJ,title:"工作流",desc:"敬请期待",disabled:!0}];function PTe({onSelect:e,onImport:t}){const n=b.useRef(null),[s,i]=b.useState(""),r=DTe.map(l=>({key:l.kind,icon:l.icon,title:l.title,desc:l.desc,disabled:l.disabled,onClick:()=>e(l.kind)})),a=async l=>{var u;const c=(u=l.target.files)==null?void 0:u[0];if(l.target.value="",!!c)try{const d=await c.text();t(LTe(d))}catch(d){i(`导入失败:${d instanceof Error?d.message:String(d)}`)}};return o.jsx(d$,{title:"从 0 快速创建",sub:"选择一种方式开始",cards:r,footer:o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:8},children:[o.jsxs("button",{className:"stk-import",onClick:()=>{var l;return(l=n.current)==null?void 0:l.click()},children:[o.jsx(TJ,{}),"导入 YAML 配置"]}),s&&o.jsx("span",{style:{fontSize:12,color:"hsl(var(--destructive))"},children:s}),o.jsx("input",{ref:n,type:"file",accept:".yaml,.yml,text/yaml",style:{display:"none"},onChange:a})]})})}const BTe="modulepreload",UTe=function(e){return"/"+e},BL={},Bd=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));i=Promise.allSettled(n.map(c=>{if(c=UTe(c),c in BL)return;BL[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":BTe,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return i.then(a=>{for(const l of a||[])l.status==="rejected"&&r(l.reason);return t().catch(r)})};function cH(e){const t=new Map,n={};for(const s of e){for(const i of s.env){const r=t.get(i.key);(!r||i.required&&!r.required)&&t.set(i.key,i)}s.enableFlag&&(t.set(s.enableFlag,{key:s.enableFlag,required:!0}),n[s.enableFlag]="true")}return{specs:[...t.values()],fixedValues:n}}function FTe(e,t){return cH([{env:e}]).specs.map(s=>({...s,value:t[s.key]??""}))}function uH(e,t){const n=new Map;for(const s of e){const i=t[s.key]??"";i.trim()&&n.set(s.key,i)}return[...n].map(([s,i])=>({key:s,value:i}))}function UL(e,t){return e.find(n=>{var s;return n.required&&!((s=t[n.key])!=null&&s.trim())})}const $Te="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",HTe=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let s=0;s<8;s++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function zTe(e){let t=4294967295;for(let n=0;n>>8;return(t^4294967295)>>>0}function ys(e,t){e.push(t&255,t>>>8&255)}function fr(e,t){e.push(t&255,t>>>8&255,t>>>16&255,t>>>24&255)}const FL=2048,rw=20,$L=0;function VTe(e){const t=new TextEncoder,n=[],s=[];let i=0;for(const m of e){const p=t.encode(m.path),g=t.encode(m.content),v=zTe(g),y=g.length,x=[];fr(x,67324752),ys(x,rw),ys(x,FL),ys(x,$L),ys(x,0),ys(x,0),fr(x,v),fr(x,y),fr(x,y),ys(x,p.length),ys(x,0);const E=Uint8Array.from(x);n.push(E,p,g),s.push({nameBytes:p,dataBytes:g,crc:v,size:y,offset:i}),i+=E.length+p.length+g.length}const r=i,a=[];let l=0;for(const m of s){const p=[];fr(p,33639248),ys(p,rw),ys(p,rw),ys(p,FL),ys(p,$L),ys(p,0),ys(p,0),fr(p,m.crc),fr(p,m.size),fr(p,m.size),ys(p,m.nameBytes.length),ys(p,0),ys(p,0),ys(p,0),ys(p,0),fr(p,0),fr(p,m.offset);const g=Uint8Array.from(p);a.push(g,m.nameBytes),l+=g.length+m.nameBytes.length}const c=[];fr(c,101010256),ys(c,0),ys(c,0),ys(c,s.length),ys(c,s.length),fr(c,l),fr(c,r),ys(c,0);const u=[...n,...a,Uint8Array.from(c)],d=u.reduce((m,p)=>m+p.length,0),f=new Uint8Array(d);let h=0;for(const m of u)f.set(m,h),h+=m.length;return new Blob([f],{type:"application/zip"})}const GTe=b.lazy(()=>Bd(()=>import("./CodeEditor-DQ_dOZqz.js"),[]));function KTe(e){const t={name:"",children:new Map};for(const n of e){const s=n.path.split("/").filter(Boolean);let i=t;s.forEach((r,a)=>{let l=i.children.get(r);l||(l={name:r,children:new Map},i.children.set(r,l)),a===s.length-1&&(l.path=n.path),i=l})}return t}function qTe(e){return[...e.children.values()].sort((t,n)=>{const s=t.children.size>0&&t.path===void 0,i=n.children.size>0&&n.path===void 0;return s!==i?s?-1:1:t.name.localeCompare(n.name)})}function dH({project:e,open:t,onClose:n,onChange:s}){var p;const[i,r]=b.useState(((p=e.files[0])==null?void 0:p.path)??null),[a,l]=b.useState(new Set),c=b.useRef(null),u=b.useMemo(()=>KTe(e.files),[e.files]),d=e.files.find(g=>g.path===i)??null;if(b.useEffect(()=>{var y;if(!t)return;const g=document.body.style.overflow;document.body.style.overflow="hidden",(y=c.current)==null||y.focus();const v=x=>{x.key==="Escape"&&n()};return window.addEventListener("keydown",v),()=>{document.body.style.overflow=g,window.removeEventListener("keydown",v)}},[n,t]),b.useEffect(()=>{d||e.files.length===0||r(e.files[0].path)},[e.files,d]),!t)return null;function f(g){l(v=>{const y=new Set(v);return y.has(g)?y.delete(g):y.add(g),y})}function h(g,v,y){return qTe(g).map(x=>{const E=y?`${y}/${x.name}`:x.name;if(!(x.children.size>0&&x.path===void 0)&&x.path)return o.jsxs("button",{type:"button",className:`code-browser-file${i===x.path?" is-active":""}`,style:{paddingLeft:`${12+v*16}px`},onClick:()=>r(x.path??null),title:x.path,children:[o.jsx(MR,{"aria-hidden":"true"}),o.jsx("span",{children:x.name})]},E);const T=a.has(E);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",className:"code-browser-folder",style:{paddingLeft:`${10+v*16}px`},onClick:()=>f(E),"aria-expanded":!T,children:[o.jsx(zl,{className:T?"":"is-open","aria-hidden":"true"}),o.jsx(EP,{"aria-hidden":"true"}),o.jsx("span",{children:x.name})]}),!T&&h(x,v+1,E)]},E)})}function m(g){d&&s({...e,files:e.files.map(v=>v.path===d.path?{...v,content:g}:v)})}return Si.createPortal(o.jsx("div",{className:"code-browser-backdrop",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:o.jsxs("section",{className:"code-browser-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"code-browser-title",children:[o.jsxs("header",{className:"code-browser-head",children:[o.jsxs("div",{className:"code-browser-title-wrap",children:[o.jsx("span",{className:"code-browser-title-icon","aria-hidden":"true",children:o.jsx(QN,{})}),o.jsxs("div",{children:[o.jsx("h2",{id:"code-browser-title",children:"项目代码"}),o.jsx("p",{children:e.name||"Agent 项目"})]})]}),o.jsx("button",{ref:c,type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭代码浏览器",children:o.jsx(_i,{"aria-hidden":"true"})})]}),o.jsxs("div",{className:"code-browser-workspace",children:[o.jsxs("aside",{className:"code-browser-sidebar","aria-label":"项目文件",children:[o.jsxs("div",{className:"code-browser-sidebar-head",children:["文件 ",o.jsx("span",{children:e.files.length})]}),o.jsx("div",{className:"code-browser-tree",children:e.files.length>0?h(u,0,""):o.jsx("div",{className:"code-browser-empty",children:"暂无项目文件"})})]}),o.jsxs("main",{className:"code-browser-main",children:[o.jsxs("div",{className:"code-browser-path",children:[o.jsx(MR,{"aria-hidden":"true"}),o.jsx("span",{children:(d==null?void 0:d.path)??"未选择文件"})]}),o.jsx("div",{className:"code-browser-editor",children:d?o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"code-browser-empty",children:"正在加载编辑器…"}),children:o.jsx(GTe,{value:d.content,path:d.path,onChange:m})}):o.jsx("div",{className:"code-browser-empty",children:"从左侧选择文件以查看代码"})})]})]})]})}),document.body)}function YTe({project:e,onChange:t,className:n="",label:s="查看源码"}){const[i,r]=b.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button",className:`code-browser-trigger ${n}`.trim(),onClick:()=>r(!0),"aria-label":"查看和编辑项目源码",title:s,children:[o.jsx(QN,{"aria-hidden":"true"}),o.jsx("span",{children:s})]}),o.jsx(dH,{project:e,open:i,onClose:()=>r(!1),onChange:t})]})}function Wy({message:e,className:t="",onRetry:n,retryLabel:s="重试部署",defaultExpanded:i=!0}){const[r,a]=b.useState(i),[l,c]=b.useState(!1),[u,d]=b.useState(!1),f=async()=>{try{await navigator.clipboard.writeText(e),c(!0),setTimeout(()=>c(!1),1500)}catch{c(!1)}},h=async()=>{if(!(!n||u)){d(!0);try{await n()}finally{d(!1)}}};return o.jsxs("div",{className:`deploy-error-message${r?" is-expanded":""}${t?` ${t}`:""}`,role:"alert",children:[o.jsx("p",{className:"deploy-error-message-text",children:e}),o.jsxs("div",{className:"deploy-error-message-actions",children:[n&&o.jsxs("button",{type:"button",className:"deploy-error-retry",disabled:u,onClick:()=>void h(),children:[u?o.jsx(gn,{className:"spin"}):o.jsx(EJ,{}),u?"重试中…":s]}),o.jsx("button",{type:"button",title:r?"收起错误信息":"展开完整错误信息","aria-label":r?"收起错误信息":"展开完整错误信息",onClick:()=>a(m=>!m),children:r?o.jsx(dJ,{}):o.jsx(Rc,{})}),o.jsx("button",{type:"button",title:l?"已复制":"复制完整错误信息","aria-label":l?"已复制":"复制完整错误信息",onClick:()=>void f(),children:l?o.jsx(Ya,{}):o.jsx(A1,{})})]})]})}const WTe=5e4;function XTe(e,t){if(!e)return t;if(!t||e.endsWith(t))return e;if(t.startsWith(e))return t;const n=e.split(` `),s=t.split(` `),i=Math.min(n.length,s.length,260);for(let r=i;r>0;r-=1){const a=n.slice(-r).join(` `),l=s.slice(0,r).join(` `);if(a===l){const c=s.slice(r).join(` `);return c?`${e} ${c}`:e}}return`${e} -${t}`}function HTe(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(-t);const s=n.indexOf(` -`);return s>=0&&(n=n.slice(s+1)),{text:n,omitted:!0}}function UL(e,t,n=FTe){const s=$Te((e==null?void 0:e.text)??"",t.text??""),i=HTe(s,n),r=i.text?i.text.split(` -`).length:0,a=!!(t.snapshotTruncated||t.truncated),l=!!(e!=null&&e.omittedEarly||i.omitted);return{...t,text:i.text,lineCount:r,truncated:!!(e!=null&&e.truncated||t.truncated||l),omittedEarly:l,snapshotTruncated:!!(e!=null&&e.snapshotTruncated||a)}}rr.registerLanguage("python",g7);rr.registerLanguage("typescript",A7);rr.registerLanguage("javascript",u7);rr.registerLanguage("json",d7);rr.registerLanguage("yaml",C7);rr.registerLanguage("markdown",p7);rr.registerLanguage("bash",i7);rr.registerLanguage("ini",r7);rr.registerLanguage("dockerfile",nbe);rr.registerLanguage("makefile",m7);const zTe=b.lazy(()=>Bd(()=>import("./CodeEditor-CLGn6cuM.js"),[])),rl=()=>{};function VTe({open:e,isUpdate:t,onCancel:n,onConfirm:s}){const i=b.useRef(null);return b.useEffect(()=>{var l;if(!e)return;const r=document.body.style.overflow;document.body.style.overflow="hidden",(l=i.current)==null||l.focus();const a=c=>{c.key==="Escape"&&n()};return window.addEventListener("keydown",a),()=>{document.body.style.overflow=r,window.removeEventListener("keydown",a)}},[n,e]),e?xi.createPortal(o.jsx("div",{className:"code-browser-backdrop pp-confirm-backdrop",onMouseDown:r=>{r.target===r.currentTarget&&n()},children:o.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:[o.jsxs("header",{className:"code-browser-head pp-confirm-head",children:[o.jsxs("div",{className:"code-browser-title-wrap",children:[o.jsx("span",{className:"code-browser-title-icon pp-confirm-icon","aria-hidden":"true",children:o.jsx(gJ,{})}),o.jsx("h2",{id:"pp-confirm-title",children:t?"确认更新":"确认部署"})]}),o.jsx("button",{type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭部署确认",children:o.jsx(Ei,{"aria-hidden":"true"})})]}),o.jsx("div",{className:"pp-confirm-body",children:o.jsx("p",{id:"pp-confirm-description",children:t?"将更新并发布到当前云端 Runtime,过程可能需要几分钟。确定继续吗?":"将创建新的云端 Runtime,部署过程可能需要几分钟。确定继续吗?"})}),o.jsxs("footer",{className:"pp-confirm-actions",children:[o.jsx("button",{ref:i,type:"button",onClick:n,children:"取消"}),o.jsx("button",{type:"button",className:"is-primary",onClick:s,children:t?"确定更新":"确定部署"})]})]})}),document.body):null}const GTe={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"},FL={dockerfile:"dockerfile","requirements.txt":"plaintext","requirements-dev.txt":"plaintext",".env":"ini",".gitignore":"plaintext",makefile:"makefile"};function $L(e){return e.replace(/&/g,"&").replace(//g,">")}function KTe(e){const n=(e.split("/").pop()??e).toLowerCase();if(FL[n])return FL[n];if(n.startsWith("dockerfile"))return"dockerfile";if(n.startsWith(".env"))return"ini";const s=n.lastIndexOf(".");if(s===-1)return null;const i=n.slice(s+1);return GTe[i]??null}function qTe(e,t){try{const n=KTe(t);return n&&rr.getLanguage(n)?rr.highlight(e,{language:n,ignoreIllegals:!0}).value:n===null?rr.highlightAuto(e).value:$L(e)}catch{return $L(e)}}const YTe=[{phase:"build",label:"构建镜像"},{phase:"deploy",label:"部署"},{phase:"publish",label:"发布"}],WTe=[{phase:"upload",label:"上传代码包"},{phase:"build",label:"镜像打包"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}],XTe={phase:"update",label:"更新实例配置"};function QTe(e){return e?!e.memory.shortTerm||(e.shortTermBackend||"local")==="local":!1}function ZTe(e,t){const n=Number(e),s=Number(t);return!e.trim()||!t.trim()||!Number.isSafeInteger(n)||!Number.isSafeInteger(s)||n<1||s<1?{valid:!1,error:"实例数必须为大于 0 的整数。"}:n>s?{valid:!1,error:"最小实例数不能大于最大实例数。"}:{valid:!0,min:n,max:s}}function JTe(e){const t={name:"",children:new Map};for(const n of e){const s=n.path.split("/").filter(Boolean);let i=t;s.forEach((r,a)=>{let l=i.children.get(r);l||(l={name:r,children:new Map},i.children.set(r,l)),a===s.length-1&&(l.path=n.path),i=l})}return t}function eNe(e){return[...e.children.values()].sort((t,n)=>{const s=t.children.size>0&&t.path===void 0,i=n.children.size>0&&n.path===void 0;return s!==i?s?-1:1:t.name.localeCompare(n.name)})}function tNe(e="",t=""){return{id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,key:e,value:t}}function nNe({left:e,right:t}){const[n,s]=b.useState(null);return b.useLayoutEffect(()=>{const i=document.getElementById("veadk-page-header-left"),r=document.getElementById("veadk-page-header-actions");i&&r&&s({left:i,right:r})},[]),n?o.jsxs(o.Fragment,{children:[xi.createPortal(e,n.left),xi.createPortal(t,n.right)]}):o.jsxs("header",{className:"pp-toolbar",children:[e,t]})}function Nx({project:e,embedded:t=!1,deployDisabledReason:n,agentDraft:s,agentName:i,agentCount:r,releaseConfiguration:a,onChange:l,onDeploy:c,onAgentAdded:u,onDeploymentComplete:d,deploymentActionLabel:f="部署",deploymentActionTargetId:h,deploymentRuntimeId:m,onDeploymentStarted:p,onDeploymentTaskChange:g,feishuEnabled:v=!1,onFeishuEnabledChange:y,deploymentEnv:x=[],deploymentEnvValues:E={},onDeploymentEnvChange:w,network:T,onNetworkChange:S,deployRegion:k="cn-beijing",onDeployRegionChange:A,onBack:C,backLabel:R="返回配置",onExportYaml:M,deploymentPrimaryPane:L,deployDisabled:G=!1}){var Rn,$n,un;const D=typeof l=="function",F=f.includes("更新"),N=QTe(s),[O,P]=b.useState((($n=(Rn=e==null?void 0:e.files)==null?void 0:Rn[0])==null?void 0:$n.path)??null),[$,I]=b.useState(new Set),[q,Q]=b.useState(!1),[B,ee]=b.useState(""),[z,K]=b.useState(!1),[se,W]=b.useState(!1),[de,ye]=b.useState(!1),[we,ue]=b.useState(!1),[he,Re]=b.useState(null),[pe,oe]=b.useState(null),[Te,xe]=b.useState({}),[Xe,Me]=b.useState(null),[ze,_e]=b.useState(!1),[Pe,Fe]=b.useState([]),[Ke,X]=b.useState(!1),[ae,te]=b.useState(!1),[ge,Ue]=b.useState("1"),[Ye,xt]=b.useState(N?"1":"5"),[at,fn]=b.useState(null),vt=b.useRef(!0),it=ZTe(ge,Ye),Ht=!F&&it.valid&&(it.min!==1||it.max!==5),qe=L?WTe:YTe,zt=Ht?[...qe,XTe]:qe;b.useEffect(()=>{if(!h){fn(null);return}fn(document.getElementById(h))},[h]);const st=me=>o.jsxs("div",{className:"pp-network-region",onKeyDown:De=>{De.key==="Escape"&&te(!1)},children:[me&&o.jsx("span",{children:"发布区域"}),o.jsxs("button",{type:"button",className:"pp-region-trigger","aria-label":"部署区域","aria-haspopup":"listbox","aria-expanded":ae,disabled:z||F||!A,onClick:()=>te(De=>!De),children:[o.jsx("span",{children:k==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),o.jsx(OZ,{className:`pp-region-chevron${ae?" is-open":""}`})]}),ae&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>te(!1)}),o.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"部署区域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(De=>{const Ae=De.value===k;return o.jsxs("button",{type:"button",role:"option","aria-selected":Ae,className:`pp-region-option${Ae?" is-selected":""}`,onClick:()=>{A==null||A(De.value),te(!1)},children:[o.jsx("span",{children:De.label}),Ae&&o.jsx(Ya,{"aria-hidden":"true"})]},De.value)})})]})]});b.useEffect(()=>(vt.current=!0,()=>{vt.current=!1}),[]),b.useEffect(()=>{Ue("1"),xt(N?"1":"5")},[N]),b.useEffect(()=>{if(!de)return;const me=document.body.style.overflow;document.body.style.overflow="hidden";const De=Ae=>{Ae.key==="Escape"&&ye(!1)};return window.addEventListener("keydown",De),()=>{document.body.style.overflow=me,window.removeEventListener("keydown",De)}},[de]);const St=b.useMemo(()=>!(e!=null&&e.files)||!Array.isArray(e.files)?{name:"",children:new Map}:JTe(e.files),[e==null?void 0:e.files]);if(!e||!Array.isArray(e.files))return o.jsx("div",{className:"pp-error",children:"项目数据无效"});const $e=e.files.find(me=>me.path===O)??null,Tt=(T==null?void 0:T.mode)??"public",Ee=RTe(v?[...x,...kh]:x,E),Qe=Ee.length+Pe.length;function kt(me){I(De=>{const Ae=new Set(De);return Ae.has(me)?Ae.delete(me):Ae.add(me),Ae})}function nn(me,De){l&&(l({...e,files:me}),De!==void 0&&P(De))}function Kt(me){$e&&nn(e.files.map(De=>De.path===$e.path?{...De,content:me}:De))}function Xt(){const me=B.trim();if(Q(!1),ee(""),!!me){if(e.files.some(De=>De.path===me)){P(me);return}nn([...e.files,{path:me,content:""}],me)}}function Vt(){if(!$e)return;const me=window.prompt("重命名文件",$e.path),De=me==null?void 0:me.trim();!De||De===$e.path||e.files.some(Ae=>Ae.path===De)||nn(e.files.map(Ae=>Ae.path===$e.path?{...Ae,path:De}:Ae),De)}function Qt(){var De;if(!$e)return;const me=e.files.filter(Ae=>Ae.path!==$e.path);nn(me,((De=me[0])==null?void 0:De.path)??null)}function Rt(me,De){Fe(Ae=>Ae.map(Je=>Je.id===me?{...Je,...De}:Je))}function Bt(me){Fe(De=>De.filter(Ae=>Ae.id!==me))}function qn(){Fe(me=>[...me,tNe()])}function qs(me){S&&S(me==="public"?void 0:{...T??{mode:me},mode:me})}function Ys(me){S==null||S({...T??{mode:"private"},...me})}function Un(){const me=new Map(Pe.map(Ae=>({key:Ae.key.trim(),value:Ae.value})).filter(Ae=>Ae.key.length>0).map(Ae=>[Ae.key,Ae.value])),De=v?[...x,...kh]:x;for(const Ae of nH(De,E))me.set(Ae.key,Ae.value);return[...me].map(([Ae,Je])=>({key:Ae,value:Je}))}async function Fn(){if(!(!y||z||we)){Re(null),ue(!0);try{await y(!v)}catch(me){vt.current&&Re(`更新飞书配置失败:${me instanceof Error?me.message:String(me)}`)}finally{vt.current&&ue(!1)}}}async function rn(){var De;if(!c||z||G)return;if(!it.valid){Re(it.error);return}if(Tt!=="public"&&!((De=T==null?void 0:T.vpcId)!=null&&De.trim())){Re("使用 VPC 网络时,请填写 VPC ID。");return}const me=DL(x,E);if(me){const Ae=x.find(Je=>Je.key===me.key);Re(`请返回配置页填写 ${(Ae==null?void 0:Ae.comment)||(Ae==null?void 0:Ae.key)}(${Ae==null?void 0:Ae.key})。`);return}if(v){const Ae=DL(kh,E);if(Ae){const Je=kh.find(ut=>ut.key===Ae.key);Re(`启用飞书后,请填写${(Je==null?void 0:Je.comment)||(Je==null?void 0:Je.key)}。`);return}}W(!0)}async function Sn(){if(!c||z)return;if(!it.valid){W(!1),Re(it.error);return}W(!1);const me=Un();vt.current&&(Re(null),oe(null),xe({}),Me(null),K(!0));const De=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`;let Ae=(i==null?void 0:i.trim())||e.name||"生成中…";const Je=Date.now(),ut={id:De,runtimeName:Ae,runtimeId:m,region:k,startedAt:Je,status:"running",phase:"prepare",label:"准备部署",agentDraft:s,instanceRange:Ht?{min:it.min,max:it.max}:void 0};g==null||g(ut),p==null||p(ut);let pt,Ot=ut.phase??"prepare";const jt=ot=>pt?{...pt,status:ot,updatedAt:Date.now()}:void 0,bt=ot=>{const dt=jt(ot);return dt?{buildLog:dt}:{}},_n=()=>({source:"code-pipeline",status:"running",text:"",lineCount:0,truncated:!1,updatedAt:Date.now(),pendingMessage:"正在等待构建日志…"}),Le=ot=>{if(Ot!=="build")return;const dt=["","----- 构建失败 -----",ot].join(` -`);return pt=UL(pt,{source:"code-pipeline",status:"error",text:dt,lineCount:dt.split(` -`).length,truncated:!1,updatedAt:Date.now()}),pt};try{const ot=await c(e,dt=>{var On;dt.runtimeName&&(Ae=dt.runtimeName),Ot=dt.phase,dt.buildLog?pt=UL(pt,dt.buildLog):dt.phase==="build"&&!pt&&(pt=_n()),vt.current&&(xe(bn=>({...bn,[dt.phase]:dt})),Me(dt.phase)),g==null||g({id:De,runtimeName:Ae,runtimeId:m,region:k,startedAt:Je,status:"running",phase:dt.phase,label:((On=zt.find(bn=>bn.phase===dt.phase))==null?void 0:On.label)??dt.phase,message:dt.message,pct:dt.pct,...pt?{buildLog:pt}:{}})},{taskId:De,sessionStorage:N?"in-memory":"persistent",minInstance:it.min,maxInstance:it.max,...v?{im:{feishu:{enabled:!0}}}:{},envs:me});vt.current&&(oe(ot),Me(null)),g==null||g({id:De,runtimeName:ot.agentName||Ae,runtimeId:ot.runtimeId||m,region:ot.region||k,startedAt:Je,status:"success",phase:"complete",label:"部署完成",...bt("complete")});try{await(d==null?void 0:d(ot))}catch(dt){if(!(dt instanceof Er))throw dt;g==null||g({id:De,runtimeName:ot.agentName||Ae,runtimeId:ot.runtimeId||m,region:ot.region||k,startedAt:Je,status:"success",phase:"complete",label:"部署完成,暂未连接",message:dt.message,...bt("complete")})}}catch(ot){const dt=ot instanceof Error?ot.message:String(ot);if(ot instanceof DOMException&&ot.name==="AbortError"){vt.current&&(Re(null),Me(null)),g==null||g({id:De,runtimeName:Ae,runtimeId:m,region:k,startedAt:Je,status:"cancelled",label:"已取消",message:"部署已取消,相关 Runtime 资源已请求销毁。",...bt("complete")});return}vt.current&&Re(dt);const On=Le(dt),bn=!!On;g==null||g({id:De,runtimeName:Ae,runtimeId:m,region:k,startedAt:Je,status:"error",phase:Ot,label:"部署失败",message:bn?"构建镜像失败,详见构建日志。":dt,...On?{buildLog:On}:bt("complete"),retry:rn})}finally{vt.current&&K(!1)}}function hs(){W(!1)}async function js(){if(!(!pe||ze)){_e(!0),Re(null);try{const{addConnection:me,addRuntimeConnection:De,remoteAppId:Ae,loadConnections:Je}=await Bd(async()=>{const{addConnection:Ot,addRuntimeConnection:jt,remoteAppId:bt,loadConnections:_n}=await Promise.resolve().then(()=>tL);return{addConnection:Ot,addRuntimeConnection:jt,remoteAppId:bt,loadConnections:_n}},void 0),{probeRuntimeApps:ut}=await Bd(async()=>{const{probeRuntimeApps:Ot}=await Promise.resolve().then(()=>eee);return{probeRuntimeApps:Ot}},void 0);let pt;if(pe.runtimeId){const Ot=pe.region??k,jt=await ut(pe.runtimeId,Ot,{retryProbe:!0})??[];pt=De(pe.runtimeId,pe.agentName,Ot,jt,jt.length>0?{[jt[0]]:pe.agentName}:void 0,pe.version)}else pt=await me(pe.agentName,pe.url,pe.apikey,"");if(pt.apps.length===0)Re("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。");else{const Ot={[pt.apps[0]]:pe.agentName},jt={...pt,appLabels:{...pt.appLabels??{},...Ot}},_n=Je().map(ot=>ot.id===pt.id?jt:ot);localStorage.setItem("veadk_agentkit_connections",JSON.stringify(_n));const{registerConnections:Le}=await Bd(async()=>{const{registerConnections:ot}=await Promise.resolve().then(()=>tL);return{registerConnections:ot}},void 0);if(Le(_n),u){const ot=Ae(pt.id,pt.apps[0]);u(ot,pe.agentName)}else alert(`🎉 Agent "${pe.agentName}" 已添加到左上角下拉列表!`)}}catch(me){Re(`添加 Agent 失败:${me instanceof Error?me.message:String(me)}`)}finally{_e(!1)}}}function vi(){const me=LTe(e.files),De=URL.createObjectURL(me),Ae=document.createElement("a");Ae.href=De,Ae.download=`${e.name||"project"}.zip`,document.body.appendChild(Ae),Ae.click(),document.body.removeChild(Ae),URL.revokeObjectURL(De)}const is=o.jsxs("div",{className:`pp-artifact-actions${t?" is-rail":""}`,"aria-label":"发布产物操作",children:[M&&o.jsxs("button",{type:"button",className:"pp-secondary",onClick:M,children:[o.jsx(FZ,{className:"pp-ic"}),"导出 YAML"]}),D&&l&&o.jsx(UTe,{project:e,onChange:l,className:"pp-artifact-source",label:"查看源代码"}),e.files.length>0&&o.jsxs("button",{type:"button",className:"pp-secondary",onClick:vi,children:[o.jsx(A1,{className:"pp-ic"}),"下载源代码"]})]});function ms(me,De,Ae){return eNe(me).map(Je=>{const ut=Ae?`${Ae}/${Je.name}`:Je.name,pt=Je.path!==void 0,Ot={paddingLeft:8+De*14};if(pt){const bt=Je.path===O;return o.jsxs("button",{type:"button",className:`pp-row pp-file${bt?" pp-active":""}`,style:Ot,onClick:()=>P(Je.path),title:Je.path,children:[o.jsx(zZ,{className:"pp-ic"}),o.jsx("span",{className:"pp-label",children:Je.name})]},ut)}const jt=$.has(ut);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",className:"pp-row pp-folder",style:Ot,onClick:()=>kt(ut),children:[o.jsx(zl,{className:`pp-ic pp-chevron${jt?"":" pp-open"}`}),o.jsx(pP,{className:"pp-ic"}),o.jsx("span",{className:"pp-label",children:Je.name})]}),!jt&&ms(Je,De+1,ut)]},ut)})}return o.jsxs("div",{className:`pp-root${c?" is-deploy":""}${t?" is-embedded":""}${L?" has-primary-pane":""}`,children:[c&&!t&&o.jsx(nNe,{left:o.jsxs("div",{className:"pp-toolbar-left",children:[C&&o.jsxs("button",{type:"button",className:"pp-toolbar-back",onClick:C,children:[o.jsx(KN,{className:"pp-ic"}),R]}),o.jsxs("span",{className:"pp-toolbar-title",children:["部署 ",i||e.name||"未命名 Agent",r&&r>1?` 等 ${r} 个智能体`:""]})]}),right:null}),o.jsxs("div",{className:"pp-body",children:[c&&!L&&o.jsx("section",{className:"pp-release-overview","aria-label":"发布概览",children:o.jsxs("div",{className:`pp-release-preview${t?" is-embedded":""}`,children:[o.jsxs("div",{className:"pp-flow-thumbnail",children:[s&&o.jsx(bp,{draft:s,direction:"horizontal",selectedPath:[],onSelect:rl,onAdd:rl,onInsert:rl,onDelete:rl,readOnly:!0,interactivePreview:!0}),o.jsx("button",{type:"button",className:"pp-flow-expand",onClick:()=>ye(!0),"aria-label":"放大查看执行流程",title:"放大查看",children:o.jsx(Rc,{"aria-hidden":!0})})]}),t&&is,!t&&o.jsxs("div",{className:"pp-release-info",children:[o.jsx("div",{className:"pp-release-card-head",children:"Agent 概览"}),o.jsxs("div",{className:"pp-release-info-body",children:[o.jsxs("div",{className:"pp-release-info-main",children:[o.jsx("h2",{children:i||e.name||"未命名 Agent"}),(s==null?void 0:s.description)&&o.jsx("p",{className:"pp-release-description",title:s.description,children:s.description}),o.jsxs("dl",{className:"pp-release-facts",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"Agent 数量"}),o.jsx("dd",{children:r??1})]}),a&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"模型"}),o.jsx("dd",{children:a.modelName})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"描述"}),o.jsx("dd",{className:"pp-release-fact-long",children:a.description})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"系统提示词"}),o.jsx("dd",{className:"pp-release-fact-long pp-release-prompt",children:a.instruction})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"优化选项"}),o.jsx("dd",{children:a.optimizations.length>0?a.optimizations.join("、"):"未启用"})]})]})]})]}),is]})]})]})}),o.jsxs("div",{className:"pp-files-area",children:[o.jsxs("div",{className:"pp-sidebar",children:[o.jsxs("div",{className:"pp-sidebar-head",children:[o.jsx("span",{className:"pp-project-name",title:e.name,children:"文件预览"}),D&&o.jsx("button",{type:"button",className:"pp-icon-btn",title:"新建文件",onClick:()=>{Q(!0),ee("")},children:o.jsx($Z,{className:"pp-ic"})})]}),o.jsxs("div",{className:"pp-tree",children:[q&&o.jsx("input",{className:"pp-new-input",autoFocus:!0,placeholder:"path/to/file.py",value:B,onChange:me=>ee(me.target.value),onBlur:Xt,onKeyDown:me=>{me.key==="Enter"&&Xt(),me.key==="Escape"&&(Q(!1),ee(""))}}),e.files.length===0&&!q?o.jsx("div",{className:"pp-empty",children:"暂无文件"}):ms(St,0,"")]})]}),o.jsxs("div",{className:"pp-main",children:[o.jsxs("div",{className:"pp-main-head",children:[o.jsx("span",{className:"pp-path",title:$e==null?void 0:$e.path,children:($e==null?void 0:$e.path)??"未选择文件"}),o.jsx("div",{className:"pp-actions",children:D&&$e&&o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"pp-icon-btn",title:"重命名",onClick:Vt,children:o.jsx(lJ,{className:"pp-ic"})}),o.jsx("button",{type:"button",className:"pp-icon-btn pp-danger",title:"删除",onClick:Qt,children:o.jsx(Po,{className:"pp-ic"})})]})})]}),o.jsx("div",{className:"pp-content",children:$e==null?o.jsx("div",{className:"pp-placeholder",children:"选择左侧文件以查看内容"}):D?o.jsx("div",{className:"pp-codemirror",children:o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"pp-editor-loading",children:"加载编辑器…"}),children:o.jsx(zTe,{value:$e.content,path:$e.path,onChange:Kt})})}):o.jsx("pre",{className:"pp-pre hljs",dangerouslySetInnerHTML:{__html:qTe($e.content,$e.path)}})})]})]}),c&&o.jsxs("aside",{className:"pp-config","aria-label":"部署配置",children:[o.jsx("div",{className:"pp-config-head",children:o.jsx("div",{className:"pp-config-title",children:"部署配置"})}),o.jsxs("div",{className:"pp-config-scroll",children:[L,!L&&o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"发布区域"}),st(!1)]}),!L&&o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"消息渠道"}),o.jsx("div",{className:`pp-channel-card${v?" is-flipped":""}`,children:o.jsxs("div",{className:"pp-channel-card-inner",children:[o.jsxs("button",{type:"button",className:"pp-channel-card-face pp-channel-card-front","aria-pressed":v,"aria-hidden":v,tabIndex:v?-1:0,onClick:()=>void Fn(),disabled:v||z||we||!y,children:[o.jsx("span",{className:"pp-channel-logo",children:o.jsx("img",{src:OTe,alt:""})}),o.jsxs("span",{className:"pp-channel-card-copy",children:[o.jsx("strong",{children:"飞书"}),o.jsx("small",{children:we?"正在启用并更新配置…":"接收消息并通过飞书机器人回复"})]})]}),o.jsxs("div",{className:"pp-channel-card-face pp-channel-card-back","aria-hidden":!v,children:[o.jsxs("div",{className:"pp-channel-card-head",children:[o.jsx("strong",{children:"飞书配置"}),o.jsx("button",{type:"button",className:"pp-channel-remove",tabIndex:v?0:-1,onClick:()=>void Fn(),disabled:!v||z||we||!y,children:we?"取消中…":"取消"})]}),o.jsx("div",{className:"pp-channel-fields",children:kh.map(me=>o.jsxs("label",{children:[o.jsxs("span",{children:[me.comment||me.key,me.required&&o.jsx("small",{children:"必填"})]}),o.jsx("input",{type:me.key.includes("SECRET")?"password":"text",value:E[me.key]??"",placeholder:me.placeholder,tabIndex:v?0:-1,disabled:!v||z||!w,autoComplete:"off",onChange:De=>w==null?void 0:w(me.key,De.currentTarget.value)})]},me.key))})]})]})})]}),!F&&o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"实例设置"}),o.jsxs("div",{className:"pp-instance-fields",children:[o.jsxs("label",{htmlFor:"runtime-min-instance",children:[o.jsx("span",{children:"最小实例数"}),o.jsx("input",{id:"runtime-min-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:ge,disabled:z,"aria-invalid":!it.valid,onChange:me=>Ue(me.currentTarget.value)})]}),o.jsxs("label",{htmlFor:"runtime-max-instance",children:[o.jsx("span",{children:"最大实例数"}),o.jsx("input",{id:"runtime-max-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Ye,disabled:z,"aria-invalid":!it.valid,onChange:me=>xt(me.currentTarget.value)})]})]}),N&&o.jsx("p",{className:"pp-instance-note",role:"note",children:"为避免多实例间会话丢失,推荐将 Runtime 固定为 1~1"}),!it.valid&&o.jsx("p",{className:"pp-instance-error",role:"alert",children:it.error})]}),o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"网络"}),L&&st(!0),F&&o.jsx("p",{className:"pp-config-note",children:"现有 Runtime 的区域与网络模式保持不变。"}),o.jsxs("div",{className:"pp-network-layout",children:[o.jsx("div",{className:"pp-network-modes",role:"radiogroup","aria-label":"网络模式",children:["public","private","both"].map(me=>o.jsxs("label",{className:"pp-network-option",children:[o.jsx("input",{type:"radio",name:"deployment-network-mode",value:me,checked:Tt===me,onChange:()=>qs(me),disabled:z||F||!S}),o.jsx("span",{children:me==="public"?"公网":me==="private"?"VPC":"公网 + VPC"})]},me))}),Tt!=="public"&&o.jsxs("div",{className:"pp-network-fields",children:[o.jsxs("label",{children:[o.jsx("span",{children:"VPC ID"}),o.jsx("input",{value:(T==null?void 0:T.vpcId)??"",placeholder:"vpc-xxxxxxxx",disabled:z||F,onChange:me=>Ys({vpcId:me.target.value})})]}),o.jsxs("label",{children:[o.jsxs("span",{children:["子网 ID ",o.jsx("small",{children:"可选,多个用逗号分隔"})]}),o.jsx("input",{value:(T==null?void 0:T.subnetIds)??"",placeholder:"subnet-xxx, subnet-yyy",disabled:z||F,onChange:me=>Ys({subnetIds:me.target.value})})]}),o.jsxs("label",{className:"pp-network-check",children:[o.jsx("input",{type:"checkbox",checked:!!(T!=null&&T.enableSharedInternetAccess),disabled:z||F,onChange:me=>Ys({enableSharedInternetAccess:me.target.checked})}),"VPC 内共享公网出口"]})]})]})]}),o.jsxs("section",{className:"pp-config-section pp-env-section",children:[o.jsxs("div",{className:"pp-env-head",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"pp-config-label",children:["环境变量",o.jsxs("span",{className:"pp-agent-child-count pp-env-count",children:[Qe," 项"]})]}),o.jsx("div",{className:"pp-env-sub",children:"组件配置会自动同步到这里,部署前可核对最终值。"})]}),o.jsx("button",{type:"button",className:"pp-icon-btn",title:Ke?"隐藏值":"显示值",onClick:()=>X(me=>!me),children:Ke?o.jsx(BZ,{className:"pp-ic"}):o.jsx(hP,{className:"pp-ic"})})]}),o.jsxs("button",{type:"button",className:"pp-env-add",onClick:qn,disabled:z,children:[o.jsx(bi,{className:"pp-ic"}),"添加变量"]}),(Ee.length>0||Pe.length>0)&&o.jsxs("div",{className:"pp-env-table",children:[Ee.length>0&&o.jsxs("div",{className:"pp-env-group",children:[o.jsxs("div",{className:"pp-env-group-head",children:[o.jsx("span",{children:"组件自动生成"}),o.jsxs("small",{children:[Ee.length," 项"]})]}),Ee.map(me=>{const De=me.key.startsWith("ENABLE_");return o.jsxs("div",{className:"pp-env-row pp-env-row-derived",children:[o.jsx("input",{className:"pp-env-key-fixed",value:me.key,readOnly:!0,disabled:z,"aria-label":`${me.key} 环境变量名`}),o.jsx("input",{type:De||Ke?"text":"password",value:me.value,placeholder:me.required?"必填,尚未填写":"可选,尚未填写",readOnly:De,disabled:z||!De&&!w,autoComplete:"off","aria-label":`${me.key} 环境变量值`,onChange:Ae=>w==null?void 0:w(me.key,Ae.currentTarget.value)}),o.jsx("span",{className:"pp-env-source",children:De?"自动":"同步"})]},me.key)})]}),Pe.length>0&&o.jsxs("div",{className:"pp-env-group-head pp-env-group-head-custom",children:[o.jsx("span",{children:"自定义变量"}),o.jsxs("small",{children:[Pe.length," 项"]})]}),Pe.map(me=>o.jsxs("div",{className:"pp-env-row",children:[o.jsx("input",{value:me.key,placeholder:"名称",disabled:z,autoComplete:"off",onChange:De=>Rt(me.id,{key:De.currentTarget.value})}),o.jsx("input",{type:Ke?"text":"password",value:me.value,placeholder:"值",disabled:z,autoComplete:"off",onChange:De=>Rt(me.id,{value:De.currentTarget.value})}),o.jsx("button",{type:"button",className:"pp-icon-btn pp-env-remove",title:"删除变量",disabled:z,onClick:()=>Bt(me.id),children:o.jsx(Ei,{className:"pp-ic"})})]},me.id))]})]}),(z||pe||Object.keys(Te).length>0)&&o.jsxs("section",{className:"pp-config-section pp-progress-section",children:[o.jsx("div",{className:"pp-config-label",children:"部署进度"}),o.jsx("ol",{className:"pp-steps",children:zt.map((me,De)=>{const Ae=Xe?zt.findIndex(Ot=>Ot.phase===Xe):-1,Je=!!he&&(Ae===-1?De===0:De===Ae);let ut;pe?ut="done":Je?ut="failed":Ae===-1?ut=z?"active":"pending":Deme.phase===Xe))==null?void 0:un.label)??Xe}阶段):`:""}${he}`,onRetry:rn,retryLabel:F?"重试更新":"重试部署"}),pe&&o.jsxs("section",{className:"pp-deploy-result",children:[o.jsx("div",{className:"pp-deploy-result-header",children:F?"更新成功":"部署成功"}),o.jsxs("div",{className:"pp-deploy-result-body",children:[pe.region&&o.jsxs("div",{className:"pp-deploy-result-field",children:[o.jsx("label",{children:"区域"}),o.jsx("code",{children:pe.region==="cn-shanghai"?"上海 (cn-shanghai)":"北京 (cn-beijing)"})]}),o.jsxs("div",{className:"pp-deploy-result-field",children:[o.jsx("label",{children:"Agent 名称"}),o.jsx("code",{children:pe.agentName})]}),o.jsxs("div",{className:"pp-deploy-result-field",children:[o.jsx("label",{children:"API 端点"}),o.jsx("code",{className:"pp-deploy-result-url",children:pe.url})]})]}),o.jsxs("div",{className:"pp-deploy-result-actions",children:[o.jsxs("button",{type:"button",className:"pp-deploy-result-btn",onClick:js,disabled:ze,children:[ze?o.jsx(wn,{className:"pp-ic spin"}):o.jsx(yP,{className:"pp-ic"}),ze?"连接中…":"立即对话"]}),pe.consoleUrl&&o.jsxs("a",{href:pe.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"pp-console-link pp-console-link-btn",children:[o.jsx(WN,{className:"pp-ic"}),"控制台"]})]})]})]}),o.jsx("div",{className:`pp-config-actions${at?" is-external":""}`,children:at?xi.createPortal(o.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:rn,disabled:z||we||G||!!n,title:n,children:z?`${f}中…`:he?`重试${f}`:f}),at):o.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:rn,disabled:z||we||G||!!n,title:n,children:z?`${f}中…`:he?`重试${f}`:f})})]})]}),de&&s&&xi.createPortal(o.jsx("div",{className:"pp-flow-backdrop",onMouseDown:me=>{me.target===me.currentTarget&&ye(!1)},children:o.jsxs("section",{className:"pp-flow-dialog",role:"dialog","aria-modal":"true","aria-label":"执行流程预览",children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"执行流程"}),o.jsx("span",{children:"只读预览,可缩放与拖动画布"})]}),o.jsx("button",{type:"button",onClick:()=>ye(!1),"aria-label":"关闭执行流程预览",children:o.jsx(Ei,{"aria-hidden":!0})})]}),o.jsx("div",{className:"pp-flow-dialog-canvas",children:o.jsx(bp,{draft:s,direction:"horizontal",selectedPath:[],onSelect:rl,onAdd:rl,onInsert:rl,onDelete:rl,readOnly:!0,interactivePreview:!0})})]})}),document.body),o.jsx(VTe,{open:se,isUpdate:F,onCancel:hs,onConfirm:()=>void Sn()})]})}const HL="dogfooding",sw="dogfooding",iw="dogfooding_b";let sNe=0;const rw=()=>++sNe;function zL(e){return e.blocks.filter(t=>t.kind==="text").map(t=>t.text).join("")}function iNe(e){const t=e.trim(),n=t.match(/^```(?:json)?\s*\n?([\s\S]*?)\n?```$/i);return(n?n[1]:t).trim()}async function VL(e){const t=[],n=iNe(e);t.push(n);const s=n.indexOf("{"),i=n.lastIndexOf("}");s>=0&&i>s&&t.push(n.slice(s,i+1));for(const r of t)try{const a=JSON.parse(r);if(a&&typeof a=="object"&&(typeof a.name=="string"||typeof a.instruction=="string"))return await hk(D2(a))}catch{}return null}function rNe({userId:e,onBack:t,onCreate:n,onAgentAdded:s,onDeploymentTaskChange:i}){const[r,a]=b.useState([{id:rw(),role:"assistant",text:"你好,我是 VeADK 的智能构建助手。用自然语言描述你想要的 Agent,我会直接帮你生成一个可运行的 VeADK 项目,并在右侧实时预览。"}]),[l,c]=b.useState(""),[u,d]=b.useState(!1),[f,h]=b.useState(null),[m,p]=b.useState(null),[g,v]=b.useState(!1),[y,x]=b.useState(null),[E,w]=b.useState(null),[T,S]=b.useState(!1),[k,A]=b.useState(!1),[C,R]=b.useState({}),M=b.useRef(null),L=b.useRef(null),G=b.useRef(null),D=b.useRef(null),F=b.useRef(null);b.useEffect(()=>{const z=D.current;z&&z.scrollTo({top:z.scrollHeight,behavior:"smooth"})},[r,u]),b.useEffect(()=>{const z=F.current;z&&(z.style.height="auto",z.style.height=Math.min(z.scrollHeight,160)+"px")},[l]);const N=z=>a(K=>[...K,{id:rw(),role:"assistant",text:z}]);async function O(){if(M.current)return M.current;const z=await yy(HL,e);return M.current=z,z}async function P(z,K){if(K.current)return K.current;const se=await yy(z,e);return K.current=se,se}async function $(z,K){if(!C[z])try{const se=await uk(K);R(W=>({...W,[z]:se.model||K}))}catch{R(se=>({...se,[z]:K}))}}async function I(z,K,se){const W=await P(z,K);let de=ma();for await(const we of rp({appName:z,userId:e,sessionId:W,text:se}))de=ef(de,we);const ye=zL(de).trim();return{project:await VL(ye),finalText:ye}}const q=async(z,K,se)=>D1(z.name,z.files,{region:"cn-beijing",projectName:"default"},{...se,onStage:K}),Q=async()=>{const z=l.trim();if(!(!z||u)){if(a(K=>[...K,{id:rw(),role:"user",text:z}]),c(""),h(null),d(!0),g){x(null),w(null),S(!0),A(!0),$("a",sw),$("b",iw);const K=I(sw,L,z).then(({project:W})=>(x(W),W)).catch(W=>{const de=W instanceof Error?W.message:String(W);return h(de),null}).finally(()=>S(!1)),se=I(iw,G,z).then(({project:W})=>(w(W),W)).catch(W=>{const de=W instanceof Error?W.message:String(W);return h(de),null}).finally(()=>A(!1));try{const[W,de]=await Promise.all([K,se]),ye=[W?`方案 A:${W.name}`:null,de?`方案 B:${de.name}`:null].filter(Boolean);ye.length?N(`已生成两个方案(${ye.join(",")}),请在右侧对比后采用其一。`):N("(两个方案都没有返回可用的项目,请再描述一下你的需求。)")}finally{d(!1)}return}try{const K=await O();let se=ma();for await(const ye of rp({appName:HL,userId:e,sessionId:K,text:z}))se=ef(se,ye);const W=zL(se).trim(),de=await VL(W);de?(p(de),N(`已生成项目:${de.name}(${de.files.length} 个文件),可在右侧预览和编辑。`)):N(W||"(助手没有返回内容,请再描述一下你的需求。)")}catch(K){const se=K instanceof Error?K.message:String(K);h(se),N(`抱歉,调用智能构建助手失败:${se}`)}finally{d(!1)}}},B=z=>{const K=z==="a"?y:E;if(!K)return;p(K),v(!1),x(null),w(null),S(!1),A(!1);const se=z==="a"?"A":"B",W=z==="a"?C.a:C.b;N(`已采用方案 ${se}(${W??(z==="a"?sw:iw)}),可继续编辑。`)},ee=z=>{z.key==="Enter"&&!z.shiftKey&&!z.nativeEvent.isComposing&&(z.preventDefault(),Q())};return o.jsx("div",{className:"ic-root",children:o.jsxs("div",{className:"ic-body",children:[o.jsxs("div",{className:"ic-chat",children:[o.jsxs("div",{className:"ic-transcript",ref:D,children:[o.jsx(Eo,{initial:!1,children:r.map(z=>o.jsxs(es.div,{className:`ic-turn ic-turn--${z.role}`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.22,ease:"easeOut"},children:[z.role==="assistant"&&o.jsx("div",{className:"ic-avatar",children:o.jsx(Hc,{className:"ic-avatar-icon"})}),o.jsx("div",{className:"ic-bubble",children:z.role==="assistant"?o.jsx(zf,{text:z.text}):z.text})]},z.id))}),u&&o.jsxs(es.div,{className:"ic-turn ic-turn--assistant",initial:{opacity:0,y:8},animate:{opacity:1,y:0},children:[o.jsx("div",{className:"ic-avatar",children:o.jsx(Hc,{className:"ic-avatar-icon"})}),o.jsxs("div",{className:"ic-bubble ic-bubble--typing",children:[o.jsx("span",{className:"ic-dot"}),o.jsx("span",{className:"ic-dot"}),o.jsx("span",{className:"ic-dot"})]})]})]}),f&&o.jsxs("div",{className:"ic-error",children:[o.jsx(qN,{className:"ic-error-icon"}),f]}),o.jsxs("div",{className:"ic-composer",children:[o.jsxs("div",{className:"ic-composer-box",children:[o.jsx("textarea",{ref:F,className:"ic-input",rows:1,placeholder:"描述你想要的 Agent,例如「一个帮我整理周报的写作助手」…",value:l,onChange:z=>c(z.target.value),onKeyDown:ee,disabled:u}),o.jsx("button",{className:"ic-send",onClick:()=>void Q(),disabled:!l.trim()||u,title:"发送 (Enter)",children:o.jsx(hJ,{className:"ic-send-icon"})})]}),o.jsxs("div",{className:"ic-composer-foot",children:[o.jsxs("label",{className:"ic-ab-toggle",title:"同时用两个模型生成方案进行对比",children:[o.jsx("input",{type:"checkbox",className:"ic-ab-checkbox",checked:g,disabled:u,onChange:z=>v(z.target.checked)}),o.jsx("span",{className:"ic-ab-track",children:o.jsx("span",{className:"ic-ab-thumb"})}),o.jsx("span",{className:"ic-ab-label",children:"A/B 对比"})]}),o.jsx("div",{className:"ic-composer-hint",children:"Enter 发送 · Shift+Enter 换行"})]})]})]}),o.jsx("aside",{className:"ic-preview",children:g?o.jsxs("div",{className:"ic-compare",children:[o.jsx(GL,{side:"a",project:y,loading:T,model:C.a,onAdopt:()=>B("a")}),o.jsx("div",{className:"ic-compare-divider"}),o.jsx(GL,{side:"b",project:E,loading:k,model:C.b,onAdopt:()=>B("b")})]}):m?o.jsx(Nx,{project:m,onChange:p,onDeploy:q,onAgentAdded:s,onDeploymentTaskChange:i}):o.jsxs("div",{className:"ic-preview-empty",children:[o.jsxs("div",{className:"ic-preview-empty-icon",children:[o.jsx(GZ,{className:"ic-preview-empty-glyph"}),o.jsx(zc,{className:"ic-preview-empty-spark"})]}),o.jsx("div",{className:"ic-preview-empty-title",children:"还没有项目"}),o.jsx("div",{className:"ic-preview-empty-sub",children:"描述你的需求,我会帮你生成 VeADK 项目"})]})})]})})}function GL({side:e,project:t,loading:n,model:s,onAdopt:i}){const r=e==="a"?"方案 A":"方案 B";return o.jsxs("div",{className:"ic-pane",children:[o.jsxs("div",{className:"ic-pane-head",children:[o.jsxs("div",{className:"ic-pane-title",children:[o.jsx("span",{className:`ic-pane-tag ic-pane-tag--${e}`,children:r}),s&&o.jsx("span",{className:"ic-pane-model",children:s})]}),o.jsxs("button",{className:"ic-adopt",onClick:i,disabled:!t||n,title:`采用${r}`,children:["采用",e==="a"?"方案 A":"方案 B"]})]}),o.jsx("div",{className:"ic-pane-body",children:n?o.jsxs("div",{className:"ic-pane-loading",children:[o.jsx(wn,{className:"ic-pane-spinner"}),o.jsx("span",{children:"正在生成…"})]}):t?o.jsx(Nx,{project:t}):o.jsx("div",{className:"ic-pane-empty",children:"该方案未返回可用项目"})})]})}var aNe=Object.defineProperty,P2=(e,t)=>aNe(e,"name",{value:t,configurable:!0});function V_(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}P2(V_,"setRef");function iH(...e){return t=>{let n=!1;const s=e.map(i=>{const r=V_(i,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;ioNe(e,"name",{value:t,configurable:!0});function xf(e){const t=b.forwardRef((n,s)=>{let{children:i,...r}=n,a=null,l=!1;const c=[];G_(i)&&typeof D0=="function"&&(i=D0(i._payload)),b.Children.forEach(i,h=>{var m;if(lH(h)){l=!0;const p=h;let g="child"in p.props?p.props.child:p.props.children;G_(g)&&typeof D0=="function"&&(g=D0(g._payload)),a=cNe(p,g),c.push((m=a==null?void 0:a.props)==null?void 0:m.children)}else c.push(h)}),a?a=b.cloneElement(a,void 0,c):!l&&b.Children.count(i)===1&&b.isValidElement(i)&&(a=i);const u=a?oH(a):void 0,d=ar(s,u);if(!a){if(i||i===0)throw new Error(l?fNe(e):dNe(e));return i}const f=aH(r,a.props??{});return a.type!==b.Fragment&&(f.ref=s?d:u),b.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}Ta(xf,"createSlot");var rH=Symbol.for("radix.slottable");function lNe(e){const t=Ta(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=rH,t}Ta(lNe,"createSlottable");var cNe=Ta((e,t)=>{if("child"in e.props){const n=e.props.child;return b.isValidElement(n)?b.cloneElement(n,void 0,e.props.children(n.props.children)):null}return b.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function aH(e,t){const n={...t};for(const s in t){const i=e[s],r=t[s];/^on[A-Z]/.test(s)?i&&r?n[s]=(...l)=>{const c=r(...l);return i(...l),c}:i&&(n[s]=i):s==="style"?n[s]={...i,...r}:s==="className"&&(n[s]=[i,r].filter(Boolean).join(" "))}return{...e,...n}}Ta(aH,"mergeProps");function oH(e){var s,i;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Ta(oH,"getElementRef");function lH(e){return b.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===rH}Ta(lH,"isSlottable");var uNe=Symbol.for("react.lazy");function G_(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===uNe&&"_payload"in e&&cH(e._payload)}Ta(G_,"isLazyComponent");function cH(e){return typeof e=="object"&&e!==null&&"then"in e}Ta(cH,"isPromiseLike");var dNe=Ta(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),fNe=Ta(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),D0=wf[" use ".trim().toString()],hNe=Object.defineProperty,mNe=(e,t)=>hNe(e,"name",{value:t,configurable:!0}),pNe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Jr=pNe.reduce((e,t)=>{const n=xf(`Primitive.${t}`),s=b.forwardRef((i,r)=>{const{asChild:a,...l}=i,c=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),o.jsx(c,{...l,ref:r})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function gNe(e,t){e&&xi.flushSync(()=>e.dispatchEvent(t))}mNe(gNe,"dispatchDiscreteCustomEvent");var bNe=Object.defineProperty,qr=(e,t)=>bNe(e,"name",{value:t,configurable:!0});function yNe(e,t){const n=b.createContext(t);n.displayName=e+"Context";const s=qr(r=>{const{children:a,...l}=r,c=b.useMemo(()=>l,Object.values(l));return o.jsx(n.Provider,{value:c,children:a})},"Provider");s.displayName=e+"Provider";function i(r,a={}){const{optional:l=!1}=a,c=b.useContext(n);if(c)return c;if(t!==void 0)return t;if(!l)throw new Error(`\`${r}\` must be used within \`${e}\``)}return qr(i,"useContext"),[s,i]}qr(yNe,"createContext");function Zl(e,t=[]){let n=[];function s(r,a){const l=b.createContext(a);l.displayName=r+"Context";const c=n.length;n=[...n,a];const u=qr(f=>{var y;const{scope:h,children:m,...p}=f,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||l,v=b.useMemo(()=>p,Object.values(p));return o.jsx(g.Provider,{value:v,children:m})},"Provider");u.displayName=r+"Provider";function d(f,h,m={}){var y;const{optional:p=!1}=m,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||l,v=b.useContext(g);if(v)return v;if(a!==void 0)return a;if(!p)throw new Error(`\`${f}\` must be used within \`${r}\``)}return qr(d,"useContext"),[u,d]}qr(s,"createContext");const i=qr(()=>{const r=n.map(a=>b.createContext(a));return qr(function(l){const c=(l==null?void 0:l[e])||r;return b.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])},"useScope")},"createScope");return i.scopeName=e,[s,uH(i,...t)]}qr(Zl,"createContextScope");function uH(...e){const t=e[0];if(e.length===1)return t;const n=qr(()=>{const s=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return qr(function(r){const a=s.reduce((l,{useScope:c,scopeName:u})=>{const f=c(r)[`__scope${u}`];return{...l,...f}},{});return b.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}qr(uH,"composeContextScopes");var xNe=Object.defineProperty,li=(e,t)=>xNe(e,"name",{value:t,configurable:!0});function dH(e){const t=e+"CollectionProvider",[n,s]=Zl(t),[i,r]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=li(g=>{const{scope:v,children:y}=g,x=b.useRef(null),E=b.useRef(new Map).current;return o.jsx(i,{scope:v,itemMap:E,collectionRef:x,children:y})},"CollectionProvider");a.displayName=t;const l=e+"CollectionSlot",c=xf(l),u=b.forwardRef((g,v)=>{const{scope:y,children:x}=g,E=r(l,y),w=ar(v,E.collectionRef);return o.jsx(c,{ref:w,children:x})});u.displayName=l;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=xf(d),m=b.forwardRef((g,v)=>{const{scope:y,children:x,...E}=g,w=b.useRef(null),T=ar(v,w),S=r(d,y);return b.useEffect(()=>(S.itemMap.set(w,{ref:w,...E}),()=>void S.itemMap.delete(w))),o.jsx(h,{[f]:"",ref:T,children:x})});m.displayName=d;function p(g){const v=r(e+"CollectionConsumer",g);return b.useCallback(()=>{const x=v.collectionRef.current;if(!x)return[];const E=Array.from(x.querySelectorAll(`[${f}]`));return Array.from(v.itemMap.values()).sort((S,k)=>E.indexOf(S.ref.current)-E.indexOf(k.ref.current))},[v.collectionRef,v.itemMap])}return li(p,"useCollection"),[{Provider:a,Slot:u,ItemSlot:m},p,s]}li(dH,"createCollection");var KL=new WeakMap,Us,pr,aw=(pr=class extends Map{constructor(n){super(n);DA(this,Us);rE(this,Us,[...super.keys()]),KL.set(this,!0)}set(n,s){return KL.get(this)&&(this.has(n)?_i(this,Us)[_i(this,Us).indexOf(n)]=n:_i(this,Us).push(n)),super.set(n,s),this}insert(n,s,i){const r=this.has(s),a=_i(this,Us).length,l=B2(n);let c=l>=0?l:a+l;const u=c<0||c>=a?-1:c;if(u===this.size||r&&u===this.size-1||u===-1)return this.set(s,i),this;const d=this.size+(r?0:1);l<0&&c++;const f=[..._i(this,Us)];let h,m=!1;for(let p=c;p=this.size&&(r=this.size-1),this.at(r)}keyFrom(n,s){const i=this.indexOf(n);if(i===-1)return;let r=i+s;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(n,s){let i=0;for(const r of this){if(Reflect.apply(n,s,[r,i,this]))return r;i++}}findIndex(n,s){let i=0;for(const r of this){if(Reflect.apply(n,s,[r,i,this]))return i;i++}return-1}filter(n,s){const i=[];let r=0;for(const a of this)Reflect.apply(n,s,[a,r,this])&&i.push(a),r++;return new pr(i)}map(n,s){const i=[];let r=0;for(const a of this)i.push([a[0],Reflect.apply(n,s,[a,r,this])]),r++;return new pr(i)}reduce(...n){const[s,i]=n;let r=0,a=i??this.at(0);for(const l of this)r===0&&n.length===1?a=l:a=Reflect.apply(s,this,[a,l,r,this]),r++;return a}reduceRight(...n){const[s,i]=n;let r=i??this.at(-1);for(let a=this.size-1;a>=0;a--){const l=this.at(a);a===this.size-1&&n.length===1?r=l:r=Reflect.apply(s,this,[r,l,a,this])}return r}toSorted(n){const s=[...this.entries()].sort(n);return new pr(s)}toReversed(){const n=new pr;for(let s=this.size-1;s>=0;s--){const i=this.keyAt(s),r=this.get(i);n.set(i,r)}return n}toSpliced(...n){const s=[...this.entries()];return s.splice(...n),new pr(s)}slice(n,s){const i=new pr;let r=this.size-1;if(n===void 0)return i;n<0&&(n=n+this.size),s!==void 0&&s>0&&(r=s-1);for(let a=n;a<=r;a++){const l=this.keyAt(a),c=this.get(l);i.set(l,c)}return i}every(n,s){let i=0;for(const r of this){if(!Reflect.apply(n,s,[r,i,this]))return!1;i++}return!0}some(n,s){let i=0;for(const r of this){if(Reflect.apply(n,s,[r,i,this]))return!0;i++}return!1}},Us=new WeakMap,li(pr,"OrderedDict"),pr);function Ab(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=fH(e,t);return n===-1?void 0:e[n]}li(Ab,"at");function fH(e,t){const n=e.length,s=B2(t),i=s>=0?s:n+s;return i<0||i>=n?-1:i}li(fH,"toSafeIndex");function B2(e){return e!==e||e===0?0:Math.trunc(e)}li(B2,"toSafeInteger");function ENe(e){const t=e+"CollectionProvider",[n,s]=Zl(t),[i,r]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new aw,setItemMap:li(()=>{},"setItemMap")}),a=li(({state:E,...w})=>E?o.jsx(c,{...w,state:E}):o.jsx(l,{...w}),"CollectionProvider");a.displayName=t;const l=li(E=>{const w=v();return o.jsx(c,{...E,state:w})},"CollectionInit");l.displayName=t+"Init";const c=li(E=>{const{scope:w,children:T,state:S}=E,k=b.useRef(null),[A,C]=b.useState(null),R=ar(k,C),[M,L]=S;return b.useEffect(()=>{if(!A)return;const G=pH(()=>{});return G.observe(A,{childList:!0,subtree:!0}),()=>{G.disconnect()}},[A]),o.jsx(i,{scope:w,itemMap:M,setItemMap:L,collectionRef:R,collectionRefObject:k,collectionElement:A,children:T})},"CollectionProviderImpl");c.displayName=t+"Impl";const u=e+"CollectionSlot",d=xf(u),f=b.forwardRef((E,w)=>{const{scope:T,children:S}=E,k=r(u,T),A=ar(w,k.collectionRef);return o.jsx(d,{ref:A,children:S})});f.displayName=u;const h=e+"CollectionItemSlot",m="data-radix-collection-item",p=xf(h),g=b.forwardRef((E,w)=>{const{scope:T,children:S,...k}=E,A=b.useRef(null),[C,R]=b.useState(null),M=ar(w,A,R),L=r(h,T),{setItemMap:G}=L,D=b.useRef(k);hH(D.current,k)||(D.current=k);const F=D.current;return b.useEffect(()=>{const N=F;return G(O=>C?O.has(C)?O.set(C,{...N,element:C}).toSorted(K_):(O.set(C,{...N,element:C}),O.toSorted(K_)):O),()=>{G(O=>!C||!O.has(C)?O:(O.delete(C),new aw(O)))}},[C,F,G]),o.jsx(p,{[m]:"",ref:M,children:S})});g.displayName=h;function v(){return b.useState(new aw)}li(v,"useInitCollection");function y(E){const{itemMap:w}=r(e+"CollectionConsumer",E);return w}return li(y,"useCollection"),[{Provider:a,Slot:f,ItemSlot:g},{createCollectionScope:s,useCollection:y,useInitCollection:v}]}li(ENe,"createCollection");function hH(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),s=Object.keys(t);if(n.length!==s.length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||e[i]!==t[i])return!1;return!0}li(hH,"shallowEqual");function mH(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}li(mH,"isElementPreceding");function K_(e,t){return!e[1].element||!t[1].element?0:mH(e[1].element,t[1].element)?-1:1}li(K_,"sortByDocumentPosition");function pH(e){return new MutationObserver(n=>{for(const s of n)if(s.type==="childList"){e();return}})}li(pH,"getChildListObserver");var vNe=Object.defineProperty,Xf=(e,t)=>vNe(e,"name",{value:t,configurable:!0}),gH=!!(typeof window<"u"&&window.document&&window.document.createElement);function Vi(e,t,{checkForDefaultPrevented:n=!0}={}){return Xf(function(i){if(e==null||e(i),n===!1||!i||!i.defaultPrevented)return t==null?void 0:t(i)},"handleEvent")}Xf(Vi,"composeEventHandlers");function wNe(e){var t;if(!gH)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}Xf(wNe,"getOwnerWindow");function q_(e){if(!gH)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}Xf(q_,"getOwnerDocument");function bH(e,t=!1){const{activeElement:n}=q_(e);if(!(n!=null&&n.nodeName))return null;if(yH(n)&&n.contentDocument)return bH(n.contentDocument.body,t);if(t){const s=n.getAttribute("aria-activedescendant");if(s){const i=q_(n).getElementById(s);if(i)return i}}return n}Xf(bH,"getActiveElement");function yH(e){return e.tagName==="IFRAME"}Xf(yH,"isFrame");var Zc=globalThis!=null&&globalThis.document?b.useLayoutEffect:()=>{},SNe=Object.defineProperty,_Ne=(e,t)=>SNe(e,"name",{value:t,configurable:!0}),qL=wf[" useEffectEvent ".trim().toString()],YL=wf[" useInsertionEffect ".trim().toString()];function xH(e){if(typeof qL=="function")return qL(e);const t=b.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof YL=="function"?YL(()=>{t.current=e}):Zc(()=>{t.current=e}),b.useMemo(()=>(...n)=>{var s;return(s=t.current)==null?void 0:s.call(t,...n)},[])}_Ne(xH,"useEffectEvent");var TNe=Object.defineProperty,gg=(e,t)=>TNe(e,"name",{value:t,configurable:!0}),NNe=wf[" useInsertionEffect ".trim().toString()]||Zc;function mu({prop:e,defaultProp:t,onChange:n=gg(()=>{},"onChange"),caller:s}){const[i,r,a]=EH({defaultProp:t,onChange:n}),l=e!==void 0,c=l?e:i,u=b.useCallback(d=>{var f;if(l){const h=vH(d)?d(e):d;h!==e&&((f=a.current)==null||f.call(a,h))}else r(d)},[l,e,r,a]);return[c,u]}gg(mu,"useControllableState");function EH({defaultProp:e,onChange:t}){const[n,s]=b.useState(e),i=b.useRef(n),r=b.useRef(t);return NNe(()=>{r.current=t},[t]),b.useEffect(()=>{var a;i.current!==n&&((a=r.current)==null||a.call(r,n),i.current=n)},[n,i]),[n,s,r]}gg(EH,"useUncontrolledState");function vH(e){return typeof e=="function"}gg(vH,"isFunction");var WL=Symbol("RADIX:SYNC_STATE");function kNe(e,t,n,s){const{prop:i,defaultProp:r,onChange:a,caller:l}=t,c=i!==void 0,u=xH(a),d=[{...n,state:r}];s&&d.push(s);const[f,h]=b.useReducer((v,y)=>{if(y.type===WL)return{...v,state:y.state};const x=e(v,y);return c&&!Object.is(x.state,v.state)&&u(x.state),x},...d),m=f.state,p=b.useRef(m);b.useEffect(()=>{p.current!==m&&(p.current=m,c||u(m))},[m,p,c]);const g=b.useMemo(()=>i!==void 0?{...f,state:i}:f,[f,i]);return b.useEffect(()=>{c&&!Object.is(i,f.state)&&h({type:WL,state:i})},[i,f.state,c]),[g,h]}gg(kNe,"useControllableStateReducer");var ANe=Object.defineProperty,Fo=(e,t)=>ANe(e,"name",{value:t,configurable:!0});function wH(e,t){return b.useReducer((n,s)=>t[n][s]??n,e)}Fo(wH,"useStateMachine");var SH=Fo(e=>{const{present:t,children:n}=e,s=_H(t),i=typeof n=="function"?n({present:s.isPresent}):b.Children.only(n),r=TH(s.ref,NH(i));return typeof n=="function"||s.isPresent?b.cloneElement(i,{ref:r}):null},"Presence");function _H(e){const[t,n]=b.useState(),s=b.useRef(null),i=b.useRef(e),r=b.useRef("none"),a=b.useRef(void 0),l=e?"mounted":"unmounted",[c,u]=wH(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return b.useEffect(()=>{c==="mounted"?(r.current=a.current??Yu(s.current),a.current=void 0):r.current="none"},[c]),Zc(()=>{const d=s.current,f=i.current;if(f!==e){const m=r.current,p=Yu(d);e?(a.current=p,u("MOUNT")):p==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&m!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,u]),Zc(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,h=Fo(p=>{const v=Yu(s.current).includes(CSS.escape(p.animationName));if(p.target===t&&v&&(u("ANIMATION_END"),!i.current)){const y=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=y)})}},"handleAnimationEnd"),m=Fo(p=>{p.target===t&&(r.current=Yu(s.current))},"handleAnimationStart");return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:b.useCallback(d=>{if(d){const f=getComputedStyle(d);s.current=f,a.current=Yu(f)}else s.current=null;n(d)},[])}}Fo(_H,"usePresence");function Y_(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Fo(Y_,"setRef");function TH(...e){const t=b.useRef(e);return t.current=e,b.useCallback(n=>{const s=t.current;let i=!1;const r=s.map(a=>{const l=Y_(a,n);return!i&&typeof l=="function"&&(i=!0),l});if(i)return()=>{for(let a=0;aCNe(e,"name",{value:t,configurable:!0}),RNe=wf[" useId ".trim().toString()]||(()=>{}),ONe=0;function kH(e){const[t,n]=b.useState(RNe());return Zc(()=>{e||n(s=>s??String(ONe++))},[e]),e||(t?`radix-${t}`:"")}INe(kH,"useId");var jNe=Object.defineProperty,MNe=(e,t)=>jNe(e,"name",{value:t,configurable:!0}),LNe=b.createContext(void 0);function kx(e){const t=b.useContext(LNe);return e||t||"ltr"}MNe(kx,"useDirection");var DNe=Object.defineProperty,PNe=(e,t)=>DNe(e,"name",{value:t,configurable:!0});function AH(e){const t=b.useRef(e);return b.useEffect(()=>{t.current=e}),b.useMemo(()=>(...n)=>{var s;return(s=t.current)==null?void 0:s.call(t,...n)},[])}PNe(AH,"useCallbackRef");var BNe=Object.defineProperty,UNe=(e,t)=>BNe(e,"name",{value:t,configurable:!0});function U2(e){const[t,n]=b.useState(void 0);return Zc(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const r=i[0];let a,l;if("borderBoxSize"in r){const c=r.borderBoxSize,u=Array.isArray(c)?c[0]:c;a=u.inlineSize,l=u.blockSize}else a=e.offsetWidth,l=e.offsetHeight;n({width:a,height:l})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else n(void 0)},[e]),t}UNe(U2,"useSize");var FNe=Object.defineProperty,$o=(e,t)=>FNe(e,"name",{value:t,configurable:!0}),F2="Checkbox",[$Ne,gRe]=Zl(F2),[HNe,$2]=$Ne(F2);function CH(e){const{__scopeCheckbox:t,checked:n,children:s,defaultChecked:i,disabled:r,form:a,name:l,onCheckedChange:c,required:u,value:d="on",internal_do_not_use_render:f}=e,[h,m]=mu({prop:n,defaultProp:i??!1,onChange:c,caller:F2}),[p,g]=b.useState(null),[v,y]=b.useState(null),x=b.useRef(!1),[E,w]=b.useReducer(k=>k+1,0),T=p?!!a||!!p.closest("form"):!0,S={checked:h,disabled:r,setChecked:m,control:p,setControl:g,name:l,form:a,value:d,hasConsumerStoppedPropagationRef:x,userInteractionCount:E,onUserInteraction:w,required:u,defaultChecked:Co(i)?!1:i,isFormControl:T,bubbleInput:v,setBubbleInput:y};return o.jsx(HNe,{scope:t,...S,children:IH(f)?f(S):s})}$o(CH,"CheckboxProvider");var zNe="CheckboxTrigger",VNe=b.forwardRef($o(function({__scopeCheckbox:t,onKeyDown:n,onClick:s,...i},r){const{control:a,value:l,disabled:c,checked:u,required:d,setControl:f,setChecked:h,hasConsumerStoppedPropagationRef:m,onUserInteraction:p,isFormControl:g,bubbleInput:v}=$2(zNe,t),y=ar(r,f),x=b.useRef(u);return b.useEffect(()=>{const E=a==null?void 0:a.form;if(E){const w=$o(()=>h(x.current),"reset");return E.addEventListener("reset",w),()=>E.removeEventListener("reset",w)}},[a,h]),o.jsx(Jr.button,{type:"button",role:"checkbox","aria-checked":Co(u)?"mixed":u,"aria-required":d,"data-state":H2(u),"data-disabled":c?"":void 0,disabled:c,value:l,...i,ref:y,onKeyDown:Vi(n,E=>{E.key==="Enter"&&E.preventDefault()}),onClick:Vi(s,E=>{p(),h(w=>Co(w)?!0:!w),v&&g&&(m.current=E.isPropagationStopped(),m.current||E.stopPropagation())})})},"CheckboxTrigger")),GNe=b.forwardRef($o(function(t,n){const{__scopeCheckbox:s,name:i,checked:r,defaultChecked:a,required:l,disabled:c,value:u,onCheckedChange:d,form:f,...h}=t;return o.jsx(CH,{__scopeCheckbox:s,checked:r,defaultChecked:a,disabled:c,required:l,onCheckedChange:d,name:i,form:f,value:u,internal_do_not_use_render:({isFormControl:m})=>o.jsxs(o.Fragment,{children:[o.jsx(VNe,{...h,ref:n,__scopeCheckbox:s}),m&&o.jsx(WNe,{__scopeCheckbox:s})]})})},"Checkbox")),KNe="CheckboxIndicator",qNe=b.forwardRef($o(function(t,n){const{__scopeCheckbox:s,forceMount:i,...r}=t,a=$2(KNe,s);return o.jsx(SH,{present:i||Co(a.checked)||a.checked===!0,children:o.jsx(Jr.span,{"data-state":H2(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:n,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),YNe="CheckboxBubbleInput",WNe=b.forwardRef($o(function({__scopeCheckbox:t,onClick:n,...s},i){const{control:r,hasConsumerStoppedPropagationRef:a,userInteractionCount:l,checked:c,defaultChecked:u,required:d,disabled:f,name:h,value:m,form:p,bubbleInput:g,setBubbleInput:v}=$2(YNe,t),y=ar(i,v),x=U2(r),E=b.useRef(!1),w=b.useRef(c),T=b.useRef(l);b.useEffect(()=>{const k=g;if(!k)return;const A=window.HTMLInputElement.prototype,R=Object.getOwnPropertyDescriptor(A,"checked").set,M=l!==T.current;T.current=l;const L=w.current!==c;w.current=c;const G=!(M&&a.current);if(L&&R){E.current=!M;const D=new Event("click",{bubbles:G});k.indeterminate=Co(c),R.call(k,Co(c)?!1:c),k.dispatchEvent(D),E.current=!1}},[g,c,a,l]);const S=b.useRef(Co(c)?!1:c);return o.jsx(Jr.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??S.current,required:d,disabled:f,name:h,value:m,form:p,...s,tabIndex:-1,ref:y,onClick:Vi(n,k=>{E.current&&k.stopPropagation()}),style:{...s.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function IH(e){return typeof e=="function"}$o(IH,"isFunction");function Co(e){return e==="indeterminate"}$o(Co,"isIndeterminate");function H2(e){return Co(e)?"indeterminate":e?"checked":"unchecked"}$o(H2,"getState");var XNe=Object.defineProperty,z2=(e,t)=>XNe(e,"name",{value:t,configurable:!0}),ow=!1;function RH(){const[e,t]=b.useState(ow);return b.useEffect(()=>{ow||(ow=!0,t(!0))},[]),e}z2(RH,"useIsHydrated");var OH=wf[" useSyncExternalStore ".trim().toString()];function jH(){return()=>{}}z2(jH,"subscribe");function MH(){return OH(jH,()=>!0,()=>!1)}z2(MH,"useIsHydratedModern");var QNe=typeof OH=="function"?MH:RH,ZNe=Object.defineProperty,pu=(e,t)=>ZNe(e,"name",{value:t,configurable:!0}),lw="rovingFocusGroup.onEntryFocus",JNe={bubbles:!1,cancelable:!0},Ax="RovingFocusGroup",[W_,LH,eke]=dH(Ax),[tke,Cx]=Zl(Ax,[eke]),[nke,ske]=tke(Ax),ike=b.forwardRef(pu(function(t,n){return o.jsx(W_.Provider,{scope:t.__scopeRovingFocusGroup,children:o.jsx(W_.Slot,{scope:t.__scopeRovingFocusGroup,children:o.jsx(rke,{...t,ref:n})})})},"RovingFocusGroup")),rke=b.forwardRef(pu(function(t,n){const{__scopeRovingFocusGroup:s,orientation:i,loop:r=!1,dir:a,currentTabStopId:l,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...h}=t,m=b.useRef(null),p=ar(n,m),g=kx(a),[v,y]=mu({prop:l,defaultProp:c??null,onChange:u,caller:Ax}),[x,E]=b.useState(!1),w=AH(d),T=LH(s),S=b.useRef(!1),[k,A]=b.useState(0);return b.useEffect(()=>{const C=m.current;if(C)return C.addEventListener(lw,w),()=>C.removeEventListener(lw,w)},[w]),o.jsx(nke,{scope:s,orientation:i,dir:g,loop:r,currentTabStopId:v,onItemFocus:b.useCallback(C=>y(C),[y]),onItemShiftTab:b.useCallback(()=>E(!0),[]),onFocusableItemAdd:b.useCallback(()=>A(C=>C+1),[]),onFocusableItemRemove:b.useCallback(()=>A(C=>C-1),[]),children:o.jsx(Jr.div,{tabIndex:x||k===0?-1:0,"data-orientation":i,...h,ref:p,style:{outline:"none",...t.style},onMouseDown:Vi(t.onMouseDown,()=>{S.current=!0}),onFocus:Vi(t.onFocus,C=>{const R=!S.current;if(C.target===C.currentTarget&&R&&!x){const M=new CustomEvent(lw,JNe);if(C.currentTarget.dispatchEvent(M),!M.defaultPrevented){const L=T().filter(O=>O.focusable),G=L.find(O=>O.active),D=L.find(O=>O.id===v),N=[G,D,...L].filter(Boolean).map(O=>O.ref.current);V2(N,f)}}S.current=!1}),onBlur:Vi(t.onBlur,()=>E(!1))})})},"RovingFocusGroupImpl")),ake="RovingFocusGroupItem",oke=b.forwardRef(pu(function(t,n){const{__scopeRovingFocusGroup:s,focusable:i=!0,active:r=!1,tabStopId:a,children:l,...c}=t,u=kH(),d=a||u,f=ske(ake,s),h=f.currentTabStopId===d,m=LH(s),{onFocusableItemAdd:p,onFocusableItemRemove:g,currentTabStopId:v}=f,y=QNe();return Zc(()=>{if(!(!y||!i))return p(),()=>g()},[y,i,p,g]),b.useEffect(()=>{if(!(y||!i))return p(),()=>g()},[y,i,p,g]),o.jsx(W_.ItemSlot,{scope:s,id:d,focusable:i,active:r,children:o.jsx(Jr.span,{tabIndex:h?0:-1,"data-orientation":f.orientation,...c,ref:n,onMouseDown:Vi(t.onMouseDown,x=>{i?f.onItemFocus(d):x.preventDefault()}),onFocus:Vi(t.onFocus,()=>f.onItemFocus(d)),onKeyDown:Vi(t.onKeyDown,x=>{if(x.key==="Tab"&&x.shiftKey){f.onItemShiftTab();return}if(x.target!==x.currentTarget)return;const E=PH(x,f.orientation,f.dir);if(E!==void 0){if(x.metaKey||x.ctrlKey||x.altKey||x.shiftKey)return;x.preventDefault();let T=m().filter(S=>S.focusable).map(S=>S.ref.current);if(E==="last")T.reverse();else if(E==="prev"||E==="next"){E==="prev"&&T.reverse();const S=T.indexOf(x.currentTarget);T=f.loop?BH(T,S+1):T.slice(S+1)}setTimeout(()=>V2(T))}}),children:typeof l=="function"?l({isCurrentTabStop:h,hasTabStop:v!=null}):l})})},"RovingFocusGroupItem")),lke={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function DH(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}pu(DH,"getDirectionAwareKey");function PH(e,t,n){const s=DH(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(s))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(s)))return lke[s]}pu(PH,"getFocusIntent");function V2(e,t=!1){const n=document.activeElement;for(const s of e)if(s===n||(s.focus({preventScroll:t}),document.activeElement!==n))return}pu(V2,"focusFirst");function BH(e,t){return e.map((n,s)=>e[(t+s)%e.length])}pu(BH,"wrapArray");var UH=ike,FH=oke,cke=Object.defineProperty,Ii=(e,t)=>cke(e,"name",{value:t,configurable:!0}),$H="Radio",[uke,HH]=Zl($H),[dke,Ix]=uke($H);function zH(e){const{__scopeRadio:t,checked:n=!1,children:s,disabled:i,form:r,name:a,onCheck:l,required:c,value:u="on",internal_do_not_use_render:d}=e,[f,h]=b.useState(null),[m,p]=b.useState(null),g=b.useRef(!1),[v,y]=b.useReducer(w=>w+1,0),x=f?!!r||!!f.closest("form"):!0,E={checked:n,disabled:i,required:c,name:a,form:r,value:u,control:f,setControl:h,hasConsumerStoppedPropagationRef:g,userInteractionCount:v,onUserInteraction:y,isFormControl:x,bubbleInput:m,setBubbleInput:p,onCheck:Ii(()=>l==null?void 0:l(),"onCheck")};return o.jsx(dke,{scope:t,...E,children:VH(d)?d(E):s})}Ii(zH,"RadioProvider");var fke="RadioTrigger",hke=b.forwardRef(Ii(function({__scopeRadio:t,onClick:n,...s},i){const{checked:r,disabled:a,value:l,setControl:c,onCheck:u,hasConsumerStoppedPropagationRef:d,onUserInteraction:f,isFormControl:h,bubbleInput:m}=Ix(fke,t),p=ar(i,c);return o.jsx(Jr.button,{type:"button",role:"radio","aria-checked":r,"data-state":G2(r),"data-disabled":a?"":void 0,disabled:a,value:l,...s,ref:p,onClick:Vi(n,g=>{r||(f(),u()),m&&h&&(d.current=g.isPropagationStopped(),d.current||g.stopPropagation())})})},"RadioTrigger")),mke="RadioIndicator",pke=b.forwardRef(Ii(function(t,n){const{__scopeRadio:s,forceMount:i,...r}=t,a=Ix(mke,s);return o.jsx(SH,{present:i||a.checked,children:o.jsx(Jr.span,{"data-state":G2(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:n})})},"RadioIndicator")),gke="RadioBubbleInput",bke=b.forwardRef(Ii(function({__scopeRadio:t,onClick:n,...s},i){const{control:r,checked:a,required:l,disabled:c,name:u,value:d,form:f,bubbleInput:h,setBubbleInput:m,hasConsumerStoppedPropagationRef:p,userInteractionCount:g}=Ix(gke,t),v=ar(i,m),y=U2(r),x=b.useRef(!1),E=b.useRef(a),w=b.useRef(g);b.useEffect(()=>{const S=h;if(!S)return;const k=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(k,"checked").set,R=g!==w.current;w.current=g;const M=E.current!==a;E.current=a;const L=!(R&&p.current);if(M&&C){x.current=!R;const G=new Event("click",{bubbles:L});C.call(S,a),S.dispatchEvent(G),x.current=!1}},[h,a,p,g]);const T=b.useRef(a);return o.jsx(Jr.input,{type:"radio","aria-hidden":!0,defaultChecked:T.current,required:l,disabled:c,name:u,value:d,form:f,...s,tabIndex:-1,ref:v,onClick:Vi(n,S=>{x.current&&S.stopPropagation()}),style:{...s.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function VH(e){return typeof e=="function"}Ii(VH,"isFunction");function G2(e){return e?"checked":"unchecked"}Ii(G2,"getState");var yke=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],K2="RadioGroup",[xke,bRe]=Zl(K2,[Cx,HH]),GH=Cx(),Rx=HH(),[Eke,vke]=xke(K2),wke=b.forwardRef(Ii(function(t,n){const{__scopeRadioGroup:s,name:i,form:r,defaultValue:a,value:l,required:c=!1,disabled:u=!1,orientation:d,dir:f,loop:h=!0,onValueChange:m,...p}=t,g=GH(s),v=kx(f),[y,x]=mu({prop:l,defaultProp:a??null,onChange:m,caller:K2}),[E,w]=b.useState(null),T=ar(n,w),S=b.useRef(y);return b.useEffect(()=>{const k=r?E==null?void 0:E.ownerDocument.getElementById(r):E==null?void 0:E.closest("form");if(k instanceof HTMLFormElement){const A=Ii(()=>x(S.current),"reset");return k.addEventListener("reset",A),()=>k.removeEventListener("reset",A)}},[E,r,x]),o.jsx(Eke,{scope:s,name:i,form:r,required:c,disabled:u,value:y,onValueChange:x,children:o.jsx(UH,{asChild:!0,...g,orientation:d,dir:v,loop:h,children:o.jsx(Jr.div,{role:"radiogroup","aria-required":c,"aria-orientation":d,"data-disabled":u?"":void 0,dir:v,...p,ref:T})})})},"RadioGroup")),Ske="RadioGroupItemProvider",_ke="RadioGroupItemTrigger";function KH(e){const{__scopeRadioGroup:t,value:n,disabled:s,children:i,internal_do_not_use_render:r}=e,a=vke(Ske,t),l=Rx(t),c=a.disabled||s;return o.jsx(zH,{...l,checked:a.value===n,disabled:c,required:a.required,name:a.name,form:a.form,value:n,onCheck:()=>a.onValueChange(n),internal_do_not_use_render:r,children:i})}Ii(KH,"RadioGroupItemProvider");var Tke=b.forwardRef(Ii(function(t,n){const{__scopeRadioGroup:s,...i}=t,r=GH(s),a=Rx(s),{checked:l,disabled:c}=Ix(_ke,a.__scopeRadio),u=b.useRef(null),d=ar(n,u),f=b.useRef(!1);return b.useEffect(()=>{const h=Ii(p=>{yke.includes(p.key)&&(f.current=!0)},"handleKeyDown"),m=Ii(()=>f.current=!1,"handleKeyUp");return document.addEventListener("keydown",h),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",m)}},[]),o.jsx(FH,{asChild:!0,...r,focusable:!c,active:l,children:o.jsx(hke,{...a,...i,ref:d,onKeyDown:Vi(i.onKeyDown,h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:Vi(i.onFocus,()=>{var h;f.current&&((h=u.current)==null||h.click())})})})},"RadioGroupItemTrigger")),Nke=b.forwardRef(Ii(function(t,n){const{__scopeRadioGroup:s,value:i,disabled:r,...a}=t;return o.jsx(KH,{__scopeRadioGroup:s,value:i,disabled:r,internal_do_not_use_render:({isFormControl:l})=>o.jsxs(o.Fragment,{children:[o.jsx(Tke,{...a,ref:n,__scopeRadioGroup:s}),l&&o.jsx(kke,{__scopeRadioGroup:s})]})})},"RadioGroupItem")),kke=b.forwardRef(Ii(function(t,n){const{__scopeRadioGroup:s,...i}=t,r=Rx(s);return o.jsx(bke,{...r,...i,ref:n})},"RadioGroupItemBubbleInput")),Ake=b.forwardRef(Ii(function(t,n){const{__scopeRadioGroup:s,...i}=t,r=Rx(s);return o.jsx(pke,{...r,...i,ref:n})},"RadioGroupIndicator")),Cke=Object.defineProperty,Ike=(e,t)=>Cke(e,"name",{value:t,configurable:!0}),Rke="Toggle",Oke=b.forwardRef(Ike(function(t,n){const{pressed:s,defaultPressed:i,onPressedChange:r,...a}=t,[l,c]=mu({prop:s,onChange:r,defaultProp:i??!1,caller:Rke});return o.jsx(Jr.button,{type:"button","aria-pressed":l,"data-state":l?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:n,onClick:Vi(t.onClick,()=>{t.disabled||c(!l)})})},"Toggle")),jke=Object.defineProperty,Gl=(e,t)=>jke(e,"name",{value:t,configurable:!0}),Qf="ToggleGroup",[qH,yRe]=Zl(Qf,[Cx]),YH=Cx(),Mke=b.forwardRef(Gl(function(t,n){const{type:s,...i}=t;if(s==="single"){const r=i;return o.jsx(Lke,{role:"radiogroup",...r,ref:n})}if(s==="multiple"){const r=i;return o.jsx(Dke,{role:"toolbar",...r,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${Qf}\``)},"ToggleGroup")),[WH,XH]=qH(Qf),Lke=b.forwardRef(Gl(function(t,n){const{value:s,defaultValue:i,onValueChange:r=Gl(()=>{},"onValueChange"),...a}=t,[l,c]=mu({prop:s,defaultProp:i??"",onChange:r,caller:Qf});return o.jsx(WH,{scope:t.__scopeToggleGroup,type:"single",value:b.useMemo(()=>l?[l]:[],[l]),onItemActivate:c,onItemDeactivate:b.useCallback(()=>c(""),[c]),children:o.jsx(QH,{...a,ref:n})})},"ToggleGroupImplSingle")),Dke=b.forwardRef(Gl(function(t,n){const{value:s,defaultValue:i,onValueChange:r=Gl(()=>{},"onValueChange"),...a}=t,[l,c]=mu({prop:s,defaultProp:i??[],onChange:r,caller:Qf}),u=b.useCallback(f=>c((h=[])=>[...h,f]),[c]),d=b.useCallback(f=>c((h=[])=>h.filter(m=>m!==f)),[c]);return o.jsx(WH,{scope:t.__scopeToggleGroup,type:"multiple",value:l,onItemActivate:u,onItemDeactivate:d,children:o.jsx(QH,{...a,ref:n})})},"ToggleGroupImplMultiple")),[Pke,Bke]=qH(Qf),QH=b.forwardRef(Gl(function(t,n){const{__scopeToggleGroup:s,disabled:i=!1,rovingFocus:r=!0,orientation:a,dir:l,loop:c=!0,...u}=t,d=YH(s),f=kx(l),h={dir:f,...u};return o.jsx(Pke,{scope:s,rovingFocus:r,disabled:i,children:r?o.jsx(UH,{asChild:!0,...d,orientation:a,dir:f,loop:c,children:o.jsx(Jr.div,{...h,ref:n})}):o.jsx(Jr.div,{...h,ref:n})})},"ToggleGroupImpl")),X_="ToggleGroupItem",Uke=b.forwardRef(Gl(function(t,n){const s=XH(X_,t.__scopeToggleGroup),i=Bke(X_,t.__scopeToggleGroup),r=YH(t.__scopeToggleGroup),a=s.value.includes(t.value),l=i.disabled||t.disabled,c={...t,pressed:a,disabled:l},u=b.useRef(null);return i.rovingFocus?o.jsx(FH,{asChild:!0,...r,focusable:!l,active:a,ref:u,children:o.jsx(XL,{...c,ref:n})}):o.jsx(XL,{...c,ref:n})},"ToggleGroupItem")),XL=b.forwardRef(Gl(function(t,n){const{__scopeToggleGroup:s,value:i,...r}=t,a=XH(X_,s),l={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},c=a.type==="single"?l:void 0;return o.jsx(Oke,{...c,...r,ref:n,onPressedChange:u=>{u?a.onItemActivate(i):a.onItemDeactivate(i)}})},"ToggleGroupItemImpl"));const Fke="_Container_1tuad_1",$ke="_Checkbox_1tuad_22",Hke="_CheckMark_1tuad_92",zke="_Label_1tuad_162",P0={Container:Fke,Checkbox:$ke,CheckMark:Hke,Label:zke},ZH=({className:e,label:t,id:n,disabled:s,orientation:i="left",...r})=>{const a=b.useId(),l=n??a;return o.jsxs("div",{"data-disabled":s?"":void 0,"data-has-label":t?"":void 0,"data-orientation":i,className:ta(e,P0.Container),children:[o.jsx(GNe,{className:P0.Checkbox,id:l,disabled:s,...r,children:o.jsx(qNe,{className:P0.CheckMark})}),t&&o.jsx("label",{htmlFor:l,className:P0.Label,onMouseDown:c=>{!c.defaultPrevented&&c.detail>1&&c.preventDefault()},children:t})]})},Vke="_RadioGroup_onrfm_1",Gke="_RadioLabel_onrfm_9",Kke="_RadioIndicatorWrapper_onrfm_26",qke="_RadioItem_onrfm_43",Yke="_RadioIndicator_onrfm_26",tm={RadioGroup:Vke,RadioLabel:Gke,RadioIndicatorWrapper:Kke,RadioItem:qke,RadioIndicator:Yke},JH=b.createContext(null),Wke=()=>{const e=b.use(JH);if(!e)throw new Error("RadioGroup components must be wrapped in ");return e},Q_=({onChange:e,children:t,className:n,direction:s="row",disabled:i=!1,...r})=>{const a=b.useMemo(()=>({disabled:i,direction:s}),[i,s]);return o.jsx(JH,{value:a,children:o.jsx(wke,{className:ta(tm.RadioGroup,n),"data-direction":s,onValueChange:e,disabled:i,...r,children:t})})},Xke=({value:e,disabled:t=!1,required:n,children:s,className:i,block:r=!1,...a})=>{const{disabled:l}=Wke(),c=l||t,u=b.useId(),d=`${e}-${u}`;return o.jsx("div",{className:"flex",...a,children:o.jsxs("label",{htmlFor:d,className:ta(tm.RadioLabel,i),"data-disabled":c?"":void 0,"data-block":r?"":void 0,onMouseDown:f=>{!f.defaultPrevented&&f.detail>1&&f.preventDefault()},children:[o.jsx("div",{className:tm.RadioIndicatorWrapper,children:o.jsx(Nke,{id:d,value:e,disabled:c,required:n,className:tm.RadioItem,children:o.jsx(Ake,{className:tm.RadioIndicator})})}),s]})})};Q_.Item=Xke;const Qke=/^[A-Za-z_][A-Za-z0-9_]*$/;function Ud(e){return e.trim().length===0?"名称为必填项":e==="user"?"user 是 Google ADK 保留名称,请使用其他名称":Qke.test(e)?null:"名称须以英文字母或下划线开头,且只能包含英文字母、数字和下划线"}function ez(e){const t=new Set,n=new Set,s=i=>{Ud(i.name)===null&&(t.has(i.name)?n.add(i.name):t.add(i.name)),i.subAgents.forEach(s)};return s(e),n}function Zke({className:e,...t}){return o.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:[o.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"}),o.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 Wu={llm:{id:"llm",label:"LLM 智能体",desc:"大模型驱动,自主完成任务",icon:Zke},sequential:{id:"sequential",label:"顺序型智能体",desc:"子 Agent 按顺序依次执行",icon:KZ},parallel:{id:"parallel",label:"并行型智能体",desc:"子 Agent 并行执行后汇总",icon:pJ},loop:{id:"loop",label:"循环型智能体",desc:"子 Agent 循环执行到满足条件",icon:JN},a2a:{id:"a2a",label:"远程智能体",desc:"通过 A2A 协议调用远程 Agent",icon:C1}},Jke=[Wu.llm,Wu.sequential,Wu.parallel,Wu.loop,Wu.a2a];function tz(e){return Wu[e??"llm"]}const nz=e=>e==="sequential"||e==="parallel"||e==="loop",Ox=e=>e==="a2a";function Kl(e){return e.trimEnd().replace(/[。.]+$/,"")}function Wy(e,t){const n=e.trim().toLocaleLowerCase();return n?t.some(s=>s==null?void 0:s.toLocaleLowerCase().includes(n)):!0}function ac(e,t){return e[t]|e[t+1]<<8}function Uu(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}async function e2e(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 sz(e,t={}){let s=-1;for(let u=e.length-22;u>=0&&u>e.length-65557;u--)if(Uu(e,u)===101010256){s=u;break}if(s<0)throw new Error("无效的 zip:找不到 EOCD");const i=ac(e,s+10);if(t.maxEntries!==void 0&&i>t.maxEntries)throw new Error(`zip 文件数不能超过 ${t.maxEntries} 个`);let r=Uu(e,s+16);const a=new TextDecoder("utf-8"),l=[];let c=0;for(let u=0;ut.maxUncompressedBytes)throw new Error("zip 解压后的内容过大");const x=ac(e,v+26),E=ac(e,v+28),w=v+30+x+E,T=e.subarray(w,w+f);let S;if(d===0)S=T;else if(d===8)S=await e2e(T);else{r+=46+m+p+g;continue}l.push({name:y,text:a.decode(S)}),r+=46+m+p+g}return l}const t2e="/skillhub/v1/skills";async function n2e(e,t="public"){const n=e.trim(),s=`${t2e}?query=${encodeURIComponent(n)}&namespace=${encodeURIComponent(t)}`,i=await fetch(s,{headers:{accept:"application/json"},signal:Dn(void 0,Of)});if(!i.ok)throw new Error(`搜索失败 (${i.status})`);return((await i.json()).Skills??[]).map(a=>{var l;return{source:"skillhub",id:a.Id??a.Slug??"",slug:a.Slug??"",name:a.Name??a.Slug??"",description:((l=a.Metadata)==null?void 0:l.DisplayDescription)||a.Description||"",namespace:a.Namespace??t,sourceRepo:a.SourceRepo,downloadCount:a.DownloadCount}})}function s2e({selected:e,onChange:t}){const[n,s]=b.useState(""),[i,r]=b.useState([]),[a,l]=b.useState(!1),[c,u]=b.useState(null),[d,f]=b.useState(!1),h=g=>e.some(v=>v.source==="skillhub"&&v.slug===g),m=g=>{g.slug&&(h(g.slug)?t(e.filter(v=>!(v.source==="skillhub"&&v.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}]))},p=async g=>{l(!0),u(null),f(!0);try{const v=await n2e(g);r(v)}catch(v){u(v instanceof Error?v.message:"搜索失败,请稍后重试。"),r([])}finally{l(!1)}};return b.useEffect(()=>{const g=n.trim();if(!g){r([]),f(!1),u(null);return}const v=setTimeout(()=>p(g),300);return()=>clearTimeout(v)},[n]),o.jsxs("div",{className:"cw-skillhub",children:[o.jsxs("div",{className:"cw-skill-searchrow",children:[o.jsxs("div",{className:"cw-skill-searchbox",children:[o.jsx(py,{className:"cw-i cw-skill-searchicon","aria-hidden":!0}),o.jsx("input",{className:"cw-input cw-skill-input",value:n,placeholder:"搜索火山 Find Skill 技能广场,例如 数据分析、PDF…",onChange:g=>s(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.trim()&&p(n))}})]}),o.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft",onClick:()=>n.trim()&&p(n),disabled:!n.trim()||a,children:[a?o.jsx(wn,{className:"cw-i cw-spin"}):o.jsx(py,{className:"cw-i"}),"搜索"]})]}),c&&o.jsxs("div",{className:"cw-banner",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:c})]}),a&&i.length===0?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(wn,{className:"cw-i cw-spin"})," 正在搜索…"]}):i.length>0?o.jsx("div",{className:"cw-skill-results",children:i.map(g=>{const v=h(g.slug||"");return o.jsxs("button",{type:"button",className:`cw-skill-result ${v?"is-on":""}`,onClick:()=>m(g),"aria-pressed":v,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:v?o.jsx(Ya,{className:"cw-i cw-i-sm"}):o.jsx(bi,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsx("span",{className:"cw-skill-result-name",children:g.name}),g.description&&o.jsx("span",{className:"cw-skill-result-desc",children:Kl(g.description)}),g.sourceRepo&&o.jsx("span",{className:"cw-skill-result-repo",children:g.sourceRepo})]})]},g.id||g.slug)})}):d&&!c?o.jsx("p",{className:"cw-empty-line",children:"没有找到匹配的技能,换个关键词试试。"}):!d&&o.jsx("p",{className:"cw-empty-line",children:"输入关键词搜索火山 Find Skill 技能广场,所选技能会在生成项目时下载到 skills/ 目录。"})]})}const Z_=/(^|\/)skill\.md$/i;function i2e(e){const t=(e??"").replace(/\r\n?/g,` +${t}`}function QTe(e,t){if(e.length<=t)return{text:e,omitted:!1};let n=e.slice(-t);const s=n.indexOf(` +`);return s>=0&&(n=n.slice(s+1)),{text:n,omitted:!0}}function HL(e,t,n=WTe){const s=XTe((e==null?void 0:e.text)??"",t.text??""),i=QTe(s,n),r=i.text?i.text.split(` +`).length:0,a=!!(t.snapshotTruncated||t.truncated),l=!!(e!=null&&e.omittedEarly||i.omitted);return{...t,text:i.text,lineCount:r,truncated:!!(e!=null&&e.truncated||t.truncated||l),omittedEarly:l,snapshotTruncated:!!(e!=null&&e.snapshotTruncated||a)}}function ZTe(e){const t=e.trim();if(!t)return"GitHub 仓库";const n=t.match(/github\.com[:/](?[^/\s]+)\/(?[^/\s#?]+?)(?:\.git)?(?:[/?#].*)?$/);return n!=null&&n.groups?`${n.groups.owner}/${n.groups.repo}`:t}function zL(e){return e.trim()||"main"}function VL(e){return e instanceof _m?e.detail:e instanceof Error?{message:e.message}:{message:String(e||"创建持续交付失败")}}function JTe({project:e,region:t,runtimeId:n,disabled:s=!1,onBindingChange:i}){const[r,a]=b.useState(""),[l,c]=b.useState(""),[u,d]=b.useState("main"),[f,h]=b.useState(!1),[m,p]=b.useState(!1),[g,v]=b.useState(null),[y,x]=b.useState(null);b.useEffect(()=>{let I=!1;if(!n){v(null),i==null||i(null);return}return p(!0),sB(n).then(O=>{I||(v(O),i==null||i(O))}).catch(O=>{I||x(VL(O))}).finally(()=>{I||p(!1)}),()=>{I=!0}},[i,n]);const E=b.useMemo(()=>ZTe(r),[r]),w=g==null?void 0:g.github,T=w!=null&&w.owner&&w.repo?`${w.owner}/${w.repo}`:(w==null?void 0:w.repo)??E,S=(w==null?void 0:w.branch)??zL(u),N=g==null?void 0:g.runtimeId,A=!s&&!f&&r.trim().length>0&&l.trim().length>0&&e.files.length>0;async function C(I){if(I.preventDefault(),!!A){h(!0),v(null),x(null);try{const O=await nB({project:e,githubUrl:r.trim(),githubToken:l,baseBranch:zL(u),region:t}),L=n&&O.pipelineId?await hk({pipelineId:O.pipelineId,runtimeId:n,region:t}):O;v(L),i==null||i(L),c("")}catch(O){x(VL(O))}finally{h(!1)}}}return o.jsxs("section",{className:"pp-config-section pp-github-cicd",children:[o.jsxs("div",{className:"pp-config-label pp-github-cicd-title",children:[o.jsx("span",{children:"GitHub 持续交付"}),(f||m)&&o.jsxs("span",{className:"pp-github-cicd-status",role:"status",children:[o.jsx(gn,{className:"pp-ic spin"}),m?"读取中":"执行中"]})]}),o.jsx("p",{className:"pp-github-cicd-copy",children:"提交当前 Agent 源码到 GitHub,并创建或更新 PR。Runtime 仍由部署按钮发布。"}),o.jsxs("form",{className:"pp-github-cicd-form",onSubmit:C,children:[o.jsxs("label",{className:"pp-github-cicd-field",children:[o.jsx("span",{children:"GitHub URL"}),o.jsx("input",{value:r,placeholder:"https://github.com/org/repo",disabled:s||f,autoComplete:"off",onChange:I=>a(I.currentTarget.value)})]}),o.jsxs("label",{className:"pp-github-cicd-field",children:[o.jsx("span",{children:"Token"}),o.jsx("input",{type:"password",value:l,placeholder:"repo 或 contents write 权限",disabled:s||f,autoComplete:"off",onChange:I=>c(I.currentTarget.value)})]}),o.jsxs("label",{className:"pp-github-cicd-field",children:[o.jsx("span",{children:"目标分支"}),o.jsx("input",{value:u,placeholder:"main",disabled:s||f,autoComplete:"off",onChange:I=>d(I.currentTarget.value)})]}),o.jsx("button",{type:"submit",className:"pp-github-cicd-submit",disabled:!A,children:f?o.jsxs(o.Fragment,{children:[o.jsx(gn,{className:"pp-ic spin"}),"同步中…"]}):g?"更新 PR":"创建 PR"})]}),g&&o.jsxs("div",{className:"pp-github-cicd-result",role:"status",children:[o.jsxs("div",{className:"pp-github-cicd-result-head",children:[o.jsx("strong",{children:N?"已绑定 GitHub":"PR 已创建"}),o.jsx("span",{children:g.status??"succeeded"})]}),o.jsxs("dl",{className:"pp-github-cicd-result-grid",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"仓库"}),o.jsx("dd",{children:T})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"分支"}),o.jsx("dd",{children:S})]}),N&&o.jsxs("div",{children:[o.jsx("dt",{children:"Runtime"}),o.jsx("dd",{children:N})]}),(w==null?void 0:w.commitSha)&&o.jsxs("div",{children:[o.jsx("dt",{children:"Commit"}),o.jsx("dd",{children:w.commitSha.slice(0,12)})]})]}),o.jsx("div",{className:"pp-github-cicd-links",children:(w==null?void 0:w.pullRequestUrl)&&o.jsxs("a",{href:w.pullRequestUrl,target:"_blank",rel:"noopener noreferrer",children:[o.jsx(I1,{className:"pp-ic"}),"查看 PR"]})}),N&&o.jsx("p",{className:"pp-github-cicd-bound-note",children:"更新并发布时会先同步当前源码到这个 PR。"})]}),y&&o.jsxs("div",{className:"pp-github-cicd-error",role:"alert",children:[o.jsx("strong",{children:"创建失败"}),o.jsx("p",{children:y.message}),(y.phase||y.runtimeId||y.logPath)&&o.jsxs("dl",{children:[y.phase&&o.jsxs("div",{children:[o.jsx("dt",{children:"阶段"}),o.jsx("dd",{children:y.phase})]}),y.runtimeId&&o.jsxs("div",{children:[o.jsx("dt",{children:"Runtime"}),o.jsx("dd",{children:y.runtimeId})]}),y.logPath&&o.jsxs("div",{children:[o.jsx("dt",{children:"日志"}),o.jsx("dd",{children:y.logPath})]})]})]})]})}ar.registerLanguage("python",_7);ar.registerLanguage("typescript",D7);ar.registerLanguage("javascript",y7);ar.registerLanguage("json",x7);ar.registerLanguage("yaml",P7);ar.registerLanguage("markdown",S7);ar.registerLanguage("bash",f7);ar.registerLanguage("ini",h7);ar.registerLanguage("dockerfile",dbe);ar.registerLanguage("makefile",w7);const eNe=b.lazy(()=>Bd(()=>import("./CodeEditor-DQ_dOZqz.js"),[])),rl=()=>{};function tNe({open:e,isUpdate:t,onCancel:n,onConfirm:s}){const i=b.useRef(null);return b.useEffect(()=>{var l;if(!e)return;const r=document.body.style.overflow;document.body.style.overflow="hidden",(l=i.current)==null||l.focus();const a=c=>{c.key==="Escape"&&n()};return window.addEventListener("keydown",a),()=>{document.body.style.overflow=r,window.removeEventListener("keydown",a)}},[n,e]),e?Si.createPortal(o.jsx("div",{className:"code-browser-backdrop pp-confirm-backdrop",onMouseDown:r=>{r.target===r.currentTarget&&n()},children:o.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:[o.jsxs("header",{className:"code-browser-head pp-confirm-head",children:[o.jsxs("div",{className:"code-browser-title-wrap",children:[o.jsx("span",{className:"code-browser-title-icon pp-confirm-icon","aria-hidden":"true",children:o.jsx(_J,{})}),o.jsx("h2",{id:"pp-confirm-title",children:t?"确认更新":"确认部署"})]}),o.jsx("button",{type:"button",className:"code-browser-close",onClick:n,"aria-label":"关闭部署确认",children:o.jsx(_i,{"aria-hidden":"true"})})]}),o.jsx("div",{className:"pp-confirm-body",children:o.jsx("p",{id:"pp-confirm-description",children:t?"将更新并发布到当前云端 Runtime,过程可能需要几分钟。确定继续吗?":"将创建新的云端 Runtime,部署过程可能需要几分钟。确定继续吗?"})}),o.jsxs("footer",{className:"pp-confirm-actions",children:[o.jsx("button",{ref:i,type:"button",onClick:n,children:"取消"}),o.jsx("button",{type:"button",className:"is-primary",onClick:s,children:t?"确定更新":"确定部署"})]})]})}),document.body):null}const nNe={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"},GL={dockerfile:"dockerfile","requirements.txt":"plaintext","requirements-dev.txt":"plaintext",".env":"ini",".gitignore":"plaintext",makefile:"makefile"};function KL(e){return e.replace(/&/g,"&").replace(//g,">")}function sNe(e){const n=(e.split("/").pop()??e).toLowerCase();if(GL[n])return GL[n];if(n.startsWith("dockerfile"))return"dockerfile";if(n.startsWith(".env"))return"ini";const s=n.lastIndexOf(".");if(s===-1)return null;const i=n.slice(s+1);return nNe[i]??null}function iNe(e,t){try{const n=sNe(t);return n&&ar.getLanguage(n)?ar.highlight(e,{language:n,ignoreIllegals:!0}).value:n===null?ar.highlightAuto(e).value:KL(e)}catch{return KL(e)}}const rNe=[{phase:"build",label:"构建镜像"},{phase:"deploy",label:"部署"},{phase:"publish",label:"发布"}],aNe={phase:"github",label:"同步 PR"},oNe=[{phase:"upload",label:"上传代码包"},{phase:"build",label:"镜像打包"},{phase:"deploy",label:"创建 Runtime"},{phase:"publish",label:"发布服务"}],lNe={phase:"update",label:"更新实例配置"};function cNe(e){return e?!e.memory.shortTerm||(e.shortTermBackend||"local")==="local":!1}function uNe(e,t){const n=Number(e),s=Number(t);return!e.trim()||!t.trim()||!Number.isSafeInteger(n)||!Number.isSafeInteger(s)||n<1||s<1?{valid:!1,error:"实例数必须为大于 0 的整数。"}:n>s?{valid:!1,error:"最小实例数不能大于最大实例数。"}:{valid:!0,min:n,max:s}}function dNe(e){const t={name:"",children:new Map};for(const n of e){const s=n.path.split("/").filter(Boolean);let i=t;s.forEach((r,a)=>{let l=i.children.get(r);l||(l={name:r,children:new Map},i.children.set(r,l)),a===s.length-1&&(l.path=n.path),i=l})}return t}function fNe(e){return[...e.children.values()].sort((t,n)=>{const s=t.children.size>0&&t.path===void 0,i=n.children.size>0&&n.path===void 0;return s!==i?s?-1:1:t.name.localeCompare(n.name)})}function hNe(e="",t=""){return{id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,key:e,value:t}}function mNe({left:e,right:t}){const[n,s]=b.useState(null);return b.useLayoutEffect(()=>{const i=document.getElementById("veadk-page-header-left"),r=document.getElementById("veadk-page-header-actions");i&&r&&s({left:i,right:r})},[]),n?o.jsxs(o.Fragment,{children:[Si.createPortal(e,n.left),Si.createPortal(t,n.right)]}):o.jsxs("header",{className:"pp-toolbar",children:[e,t]})}function Cx({project:e,embedded:t=!1,deployDisabledReason:n,agentDraft:s,agentName:i,agentCount:r,releaseConfiguration:a,onChange:l,onDeploy:c,onAgentAdded:u,onDeploymentComplete:d,deploymentActionLabel:f="部署",deploymentActionTargetId:h,deploymentRuntimeId:m,onDeploymentStarted:p,onDeploymentTaskChange:g,feishuEnabled:v=!1,onFeishuEnabledChange:y,deploymentEnv:x=[],deploymentEnvValues:E={},onDeploymentEnvChange:w,network:T,onNetworkChange:S,deployRegion:N="cn-beijing",onDeployRegionChange:A,onBack:C,backLabel:I="返回配置",onExportYaml:O,deploymentPrimaryPane:L,deployDisabled:G=!1}){var ks,yn,Jt;const D=typeof l=="function",F=f.includes("更新"),k=cNe(s),[j,P]=b.useState(((yn=(ks=e==null?void 0:e.files)==null?void 0:ks[0])==null?void 0:yn.path)??null),[$,R]=b.useState(new Set),[q,Q]=b.useState(!1),[B,ee]=b.useState(""),[z,K]=b.useState(!1),[ne,W]=b.useState(!1),[de,ye]=b.useState(!1),[_e,ue]=b.useState(!1),[me,Ce]=b.useState(null),[pe,oe]=b.useState(null),[ve,xe]=b.useState(null),[Ze,De]=b.useState({}),[Ve,Se]=b.useState(null),[Fe,He]=b.useState(!1),[Ge,X]=b.useState([]),[ie,se]=b.useState(!1),[ge,Pe]=b.useState(!1),[Ye,bt]=b.useState("1"),[ot,fn]=b.useState(k?"1":"5"),[It,Et]=b.useState(null),yt=b.useRef(!0),$e=uNe(Ye,ot),qt=!F&&$e.valid&&($e.min!==1||$e.max!==5),it=L?oNe:rNe,vt=m&&(ve!=null&&ve.pipelineId)?[aNe,...it]:it,Xe=qt?[...vt,lNe]:vt;b.useEffect(()=>{if(!h){Et(null);return}Et(document.getElementById(h))},[h]);const Tt=fe=>o.jsxs("div",{className:"pp-network-region",onKeyDown:Me=>{Me.key==="Escape"&&Pe(!1)},children:[fe&&o.jsx("span",{children:"发布区域"}),o.jsxs("button",{type:"button",className:"pp-region-trigger","aria-label":"部署区域","aria-haspopup":"listbox","aria-expanded":ge,disabled:z||F||!A,onClick:()=>Pe(Me=>!Me),children:[o.jsx("span",{children:N==="cn-shanghai"?"华东 2(上海)":"华北 2(北京)"}),o.jsx(FZ,{className:`pp-region-chevron${ge?" is-open":""}`})]}),ge&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>Pe(!1)}),o.jsx("div",{className:"pp-region-menu",role:"listbox","aria-label":"部署区域",children:[{value:"cn-beijing",label:"华北 2(北京)"},{value:"cn-shanghai",label:"华东 2(上海)"}].map(Me=>{const je=Me.value===N;return o.jsxs("button",{type:"button",role:"option","aria-selected":je,className:`pp-region-option${je?" is-selected":""}`,onClick:()=>{A==null||A(Me.value),Pe(!1)},children:[o.jsx("span",{children:Me.label}),je&&o.jsx(Ya,{"aria-hidden":"true"})]},Me.value)})})]})]});b.useEffect(()=>(yt.current=!0,()=>{yt.current=!1}),[]),b.useEffect(()=>{bt("1"),fn(k?"1":"5")},[k]),b.useEffect(()=>{if(!de)return;const fe=document.body.style.overflow;document.body.style.overflow="hidden";const Me=je=>{je.key==="Escape"&&ye(!1)};return window.addEventListener("keydown",Me),()=>{document.body.style.overflow=fe,window.removeEventListener("keydown",Me)}},[de]);const we=b.useMemo(()=>!(e!=null&&e.files)||!Array.isArray(e.files)?{name:"",children:new Map}:dNe(e.files),[e==null?void 0:e.files]);if(!e||!Array.isArray(e.files))return o.jsx("div",{className:"pp-error",children:"项目数据无效"});const Ue=e.files.find(fe=>fe.path===j)??null,St=(T==null?void 0:T.mode)??"public",Qt=FTe(v?[...x,...kh]:x,E),zt=Qt.length+Ge.length;function Zt(fe){R(Me=>{const je=new Set(Me);return je.has(fe)?je.delete(fe):je.add(fe),je})}function Rt(fe,Me){l&&(l({...e,files:fe}),Me!==void 0&&P(Me))}function Yt(fe){Ue&&Rt(e.files.map(Me=>Me.path===Ue.path?{...Me,content:fe}:Me))}function jt(){const fe=B.trim();if(Q(!1),ee(""),!!fe){if(e.files.some(Me=>Me.path===fe)){P(fe);return}Rt([...e.files,{path:fe,content:""}],fe)}}function Bt(){if(!Ue)return;const fe=window.prompt("重命名文件",Ue.path),Me=fe==null?void 0:fe.trim();!Me||Me===Ue.path||e.files.some(je=>je.path===Me)||Rt(e.files.map(je=>je.path===Ue.path?{...je,path:Me}:je),Me)}function Gn(){var Me;if(!Ue)return;const fe=e.files.filter(je=>je.path!==Ue.path);Rt(fe,((Me=fe[0])==null?void 0:Me.path)??null)}function Ds(fe,Me){X(je=>je.map(tt=>tt.id===fe?{...tt,...Me}:tt))}function mi(fe){X(Me=>Me.filter(je=>je.id!==fe))}function Bn(){X(fe=>[...fe,hNe()])}function Kn(fe){S&&S(fe==="public"?void 0:{...T??{mode:fe},mode:fe})}function cn(fe){S==null||S({...T??{mode:"private"},...fe})}function Sn(){const fe=new Map(Ge.map(je=>({key:je.key.trim(),value:je.value})).filter(je=>je.key.length>0).map(je=>[je.key,je.value])),Me=v?[...x,...kh]:x;for(const je of uH(Me,E))fe.set(je.key,je.value);return[...fe].map(([je,tt])=>({key:je,value:tt}))}async function rs(){if(!(!y||z||_e)){Ce(null),ue(!0);try{await y(!v)}catch(fe){yt.current&&Ce(`更新飞书配置失败:${fe instanceof Error?fe.message:String(fe)}`)}finally{yt.current&&ue(!1)}}}const Ps=b.useCallback(fe=>{xe(fe)},[]);async function Qs(){var Me;if(!c||z||G)return;if(!$e.valid){Ce($e.error);return}if(St!=="public"&&!((Me=T==null?void 0:T.vpcId)!=null&&Me.trim())){Ce("使用 VPC 网络时,请填写 VPC ID。");return}const fe=UL(x,E);if(fe){const je=x.find(tt=>tt.key===fe.key);Ce(`请返回配置页填写 ${(je==null?void 0:je.comment)||(je==null?void 0:je.key)}(${je==null?void 0:je.key})。`);return}if(v){const je=UL(kh,E);if(je){const tt=kh.find(et=>et.key===je.key);Ce(`启用飞书后,请填写${(tt==null?void 0:tt.comment)||(tt==null?void 0:tt.key)}。`);return}}W(!0)}async function ms(){if(!c||z)return;if(!$e.valid){W(!1),Ce($e.error);return}W(!1);const fe=Sn();yt.current&&(Ce(null),oe(null),De({}),Se(null),K(!0));const Me=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`;let je=(i==null?void 0:i.trim())||e.name||"生成中…";const tt=Date.now(),et={id:Me,runtimeName:je,runtimeId:m,region:N,startedAt:tt,status:"running",phase:"prepare",label:"准备部署",agentDraft:s,instanceRange:qt?{min:$e.min,max:$e.max}:void 0};g==null||g(et),p==null||p(et);let ht,Ae=et.phase??"prepare";const Ot=Nt=>ht?{...ht,status:Nt,updatedAt:Date.now()}:void 0,en=Nt=>{const rt=Ot(Nt);return rt?{buildLog:rt}:{}},In=()=>({source:"code-pipeline",status:"running",text:"",lineCount:0,truncated:!1,updatedAt:Date.now(),pendingMessage:"正在等待构建日志…"}),Rn=Nt=>{if(Ae!=="build")return;const rt=["","----- 构建失败 -----",Nt].join(` +`);return ht=HL(ht,{source:"code-pipeline",status:"error",text:rt,lineCount:rt.split(` +`).length,truncated:!1,updatedAt:Date.now()}),ht};try{if(m&&(ve!=null&&ve.pipelineId)){const rt={level:"info",phase:"github",message:"正在同步当前源码到 GitHub PR",pct:0};yt.current&&(De(Yn=>({...Yn,github:rt})),Se("github")),g==null||g({id:Me,runtimeName:je,runtimeId:m,region:N,startedAt:tt,status:"running",phase:"github",label:"同步 GitHub PR",message:rt.message,pct:0});const ws=await iB({runtimeId:m,project:e});yt.current&&(xe(ws),De(Yn=>({...Yn,github:{level:"success",phase:"github",message:"GitHub PR 已同步",pct:100}})))}const Nt=await c(e,rt=>{var ws;rt.runtimeName&&(je=rt.runtimeName),Ae=rt.phase,rt.buildLog?ht=HL(ht,rt.buildLog):rt.phase==="build"&&!ht&&(ht=In()),yt.current&&(De(Yn=>({...Yn,[rt.phase]:rt})),Se(rt.phase)),g==null||g({id:Me,runtimeName:je,runtimeId:m,region:N,startedAt:tt,status:"running",phase:rt.phase,label:((ws=Xe.find(Yn=>Yn.phase===rt.phase))==null?void 0:ws.label)??rt.phase,message:rt.message,pct:rt.pct,...ht?{buildLog:ht}:{}})},{taskId:Me,sessionStorage:k?"in-memory":"persistent",minInstance:$e.min,maxInstance:$e.max,...v?{im:{feishu:{enabled:!0}}}:{},envs:fe});if(yt.current&&(oe(Nt),Se(null)),!m&&(ve!=null&&ve.pipelineId)&&Nt.runtimeId)try{const rt=await hk({pipelineId:ve.pipelineId,runtimeId:Nt.runtimeId,region:Nt.region||N});yt.current&&xe(rt)}catch(rt){yt.current&&Ce(`部署成功,但绑定 GitHub 失败:${rt instanceof Error?rt.message:String(rt)}`)}g==null||g({id:Me,runtimeName:Nt.agentName||je,runtimeId:Nt.runtimeId||m,region:Nt.region||N,startedAt:tt,status:"success",phase:"complete",label:"部署完成",...en("complete")});try{await(d==null?void 0:d(Nt))}catch(rt){if(!(rt instanceof Er))throw rt;g==null||g({id:Me,runtimeName:Nt.agentName||je,runtimeId:Nt.runtimeId||m,region:Nt.region||N,startedAt:tt,status:"success",phase:"complete",label:"部署完成,暂未连接",message:rt.message,...en("complete")})}}catch(Nt){const rt=Nt instanceof Error?Nt.message:String(Nt);if(Nt instanceof DOMException&&Nt.name==="AbortError"){yt.current&&(Ce(null),Se(null)),g==null||g({id:Me,runtimeName:je,runtimeId:m,region:N,startedAt:tt,status:"cancelled",label:"已取消",message:"部署已取消,相关 Runtime 资源已请求销毁。",...en("complete")});return}yt.current&&Ce(rt);const ws=Rn(rt),Yn=!!ws;g==null||g({id:Me,runtimeName:je,runtimeId:m,region:N,startedAt:tt,status:"error",phase:Ae,label:"部署失败",message:Yn?"构建镜像失败,详见构建日志。":rt,...ws?{buildLog:ws}:en("complete"),retry:Qs})}finally{yt.current&&K(!1)}}function vs(){W(!1)}async function Un(){if(!(!pe||Fe)){He(!0),Ce(null);try{const{addConnection:fe,addRuntimeConnection:Me,remoteAppId:je,loadConnections:tt}=await Bd(async()=>{const{addConnection:Ae,addRuntimeConnection:Ot,remoteAppId:en,loadConnections:In}=await Promise.resolve().then(()=>iL);return{addConnection:Ae,addRuntimeConnection:Ot,remoteAppId:en,loadConnections:In}},void 0),{probeRuntimeApps:et}=await Bd(async()=>{const{probeRuntimeApps:Ae}=await Promise.resolve().then(()=>cee);return{probeRuntimeApps:Ae}},void 0);let ht;if(pe.runtimeId){const Ae=pe.region??N,Ot=await et(pe.runtimeId,Ae,{retryProbe:!0})??[];ht=Me(pe.runtimeId,pe.agentName,Ae,Ot,Ot.length>0?{[Ot[0]]:pe.agentName}:void 0,pe.version)}else ht=await fe(pe.agentName,pe.url,pe.apikey,"");if(ht.apps.length===0)Ce("连接成功,但该地址未发现任何 Agent(/list-apps 为空)。");else{const Ae={[ht.apps[0]]:pe.agentName},Ot={...ht,appLabels:{...ht.appLabels??{},...Ae}},In=tt().map(Nt=>Nt.id===ht.id?Ot:Nt);localStorage.setItem("veadk_agentkit_connections",JSON.stringify(In));const{registerConnections:Rn}=await Bd(async()=>{const{registerConnections:Nt}=await Promise.resolve().then(()=>iL);return{registerConnections:Nt}},void 0);if(Rn(In),u){const Nt=je(ht.id,ht.apps[0]);u(Nt,pe.agentName)}else alert(`🎉 Agent "${pe.agentName}" 已添加到左上角下拉列表!`)}}catch(fe){Ce(`添加 Agent 失败:${fe instanceof Error?fe.message:String(fe)}`)}finally{He(!1)}}}function qn(){const fe=VTe(e.files),Me=URL.createObjectURL(fe),je=document.createElement("a");je.href=Me,je.download=`${e.name||"project"}.zip`,document.body.appendChild(je),je.click(),document.body.removeChild(je),URL.revokeObjectURL(Me)}const un=o.jsxs("div",{className:`pp-artifact-actions${t?" is-rail":""}`,"aria-label":"发布产物操作",children:[O&&o.jsxs("button",{type:"button",className:"pp-secondary",onClick:O,children:[o.jsx(YZ,{className:"pp-ic"}),"导出 YAML"]}),D&&l&&o.jsx(YTe,{project:e,onChange:l,className:"pp-artifact-source",label:"查看源代码"}),e.files.length>0&&o.jsxs("button",{type:"button",className:"pp-secondary",onClick:qn,children:[o.jsx(C1,{className:"pp-ic"}),"下载源代码"]})]});function ps(fe,Me,je){return fNe(fe).map(tt=>{const et=je?`${je}/${tt.name}`:tt.name,ht=tt.path!==void 0,Ae={paddingLeft:8+Me*14};if(ht){const en=tt.path===j;return o.jsxs("button",{type:"button",className:`pp-row pp-file${en?" pp-active":""}`,style:Ae,onClick:()=>P(tt.path),title:tt.path,children:[o.jsx(QZ,{className:"pp-ic"}),o.jsx("span",{className:"pp-label",children:tt.name})]},et)}const Ot=$.has(et);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",className:"pp-row pp-folder",style:Ae,onClick:()=>Zt(et),children:[o.jsx(zl,{className:`pp-ic pp-chevron${Ot?"":" pp-open"}`}),o.jsx(EP,{className:"pp-ic"}),o.jsx("span",{className:"pp-label",children:tt.name})]}),!Ot&&ps(tt,Me+1,et)]},et)})}return o.jsxs("div",{className:`pp-root${c?" is-deploy":""}${t?" is-embedded":""}${L?" has-primary-pane":""}`,children:[c&&!t&&o.jsx(mNe,{left:o.jsxs("div",{className:"pp-toolbar-left",children:[C&&o.jsxs("button",{type:"button",className:"pp-toolbar-back",onClick:C,children:[o.jsx(WN,{className:"pp-ic"}),I]}),o.jsxs("span",{className:"pp-toolbar-title",children:["部署 ",i||e.name||"未命名 Agent",r&&r>1?` 等 ${r} 个智能体`:""]})]}),right:null}),o.jsxs("div",{className:"pp-body",children:[c&&!L&&o.jsx("section",{className:"pp-release-overview","aria-label":"发布概览",children:o.jsxs("div",{className:`pp-release-preview${t?" is-embedded":""}`,children:[o.jsxs("div",{className:"pp-flow-thumbnail",children:[s&&o.jsx(yp,{draft:s,direction:"horizontal",selectedPath:[],onSelect:rl,onAdd:rl,onInsert:rl,onDelete:rl,readOnly:!0,interactivePreview:!0}),o.jsx("button",{type:"button",className:"pp-flow-expand",onClick:()=>ye(!0),"aria-label":"放大查看执行流程",title:"放大查看",children:o.jsx(Rc,{"aria-hidden":!0})})]}),t&&un,!t&&o.jsxs("div",{className:"pp-release-info",children:[o.jsx("div",{className:"pp-release-card-head",children:"Agent 概览"}),o.jsxs("div",{className:"pp-release-info-body",children:[o.jsxs("div",{className:"pp-release-info-main",children:[o.jsx("h2",{children:i||e.name||"未命名 Agent"}),(s==null?void 0:s.description)&&o.jsx("p",{className:"pp-release-description",title:s.description,children:s.description}),o.jsxs("dl",{className:"pp-release-facts",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"Agent 数量"}),o.jsx("dd",{children:r??1})]}),a&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"模型"}),o.jsx("dd",{children:a.modelName})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"描述"}),o.jsx("dd",{className:"pp-release-fact-long",children:a.description})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"系统提示词"}),o.jsx("dd",{className:"pp-release-fact-long pp-release-prompt",children:a.instruction})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"优化选项"}),o.jsx("dd",{children:a.optimizations.length>0?a.optimizations.join("、"):"未启用"})]})]})]})]}),un]})]})]})}),o.jsxs("div",{className:"pp-files-area",children:[o.jsxs("div",{className:"pp-sidebar",children:[o.jsxs("div",{className:"pp-sidebar-head",children:[o.jsx("span",{className:"pp-project-name",title:e.name,children:"文件预览"}),D&&o.jsx("button",{type:"button",className:"pp-icon-btn",title:"新建文件",onClick:()=>{Q(!0),ee("")},children:o.jsx(WZ,{className:"pp-ic"})})]}),o.jsxs("div",{className:"pp-tree",children:[q&&o.jsx("input",{className:"pp-new-input",autoFocus:!0,placeholder:"path/to/file.py",value:B,onChange:fe=>ee(fe.target.value),onBlur:jt,onKeyDown:fe=>{fe.key==="Enter"&&jt(),fe.key==="Escape"&&(Q(!1),ee(""))}}),e.files.length===0&&!q?o.jsx("div",{className:"pp-empty",children:"暂无文件"}):ps(we,0,"")]})]}),o.jsxs("div",{className:"pp-main",children:[o.jsxs("div",{className:"pp-main-head",children:[o.jsx("span",{className:"pp-path",title:Ue==null?void 0:Ue.path,children:(Ue==null?void 0:Ue.path)??"未选择文件"}),o.jsx("div",{className:"pp-actions",children:D&&Ue&&o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:"pp-icon-btn",title:"重命名",onClick:Bt,children:o.jsx(gJ,{className:"pp-ic"})}),o.jsx("button",{type:"button",className:"pp-icon-btn pp-danger",title:"删除",onClick:Gn,children:o.jsx(Po,{className:"pp-ic"})})]})})]}),o.jsx("div",{className:"pp-content",children:Ue==null?o.jsx("div",{className:"pp-placeholder",children:"选择左侧文件以查看内容"}):D?o.jsx("div",{className:"pp-codemirror",children:o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"pp-editor-loading",children:"加载编辑器…"}),children:o.jsx(eNe,{value:Ue.content,path:Ue.path,onChange:Yt})})}):o.jsx("pre",{className:"pp-pre hljs",dangerouslySetInnerHTML:{__html:iNe(Ue.content,Ue.path)}})})]})]}),c&&o.jsxs("aside",{className:"pp-config","aria-label":"部署配置",children:[o.jsx("div",{className:"pp-config-head",children:o.jsx("div",{className:"pp-config-title",children:"部署配置"})}),o.jsxs("div",{className:"pp-config-scroll",children:[L,!L&&o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"发布区域"}),Tt(!1)]}),!L&&o.jsx(JTe,{project:e,region:N,runtimeId:m,onBindingChange:Ps,disabled:z||_e||G||!!n}),!L&&o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"消息渠道"}),o.jsx("div",{className:`pp-channel-card${v?" is-flipped":""}`,children:o.jsxs("div",{className:"pp-channel-card-inner",children:[o.jsxs("button",{type:"button",className:"pp-channel-card-face pp-channel-card-front","aria-pressed":v,"aria-hidden":v,tabIndex:v?-1:0,onClick:()=>void rs(),disabled:v||z||_e||!y,children:[o.jsx("span",{className:"pp-channel-logo",children:o.jsx("img",{src:$Te,alt:""})}),o.jsxs("span",{className:"pp-channel-card-copy",children:[o.jsx("strong",{children:"飞书"}),o.jsx("small",{children:_e?"正在启用并更新配置…":"接收消息并通过飞书机器人回复"})]})]}),o.jsxs("div",{className:"pp-channel-card-face pp-channel-card-back","aria-hidden":!v,children:[o.jsxs("div",{className:"pp-channel-card-head",children:[o.jsx("strong",{children:"飞书配置"}),o.jsx("button",{type:"button",className:"pp-channel-remove",tabIndex:v?0:-1,onClick:()=>void rs(),disabled:!v||z||_e||!y,children:_e?"取消中…":"取消"})]}),o.jsx("div",{className:"pp-channel-fields",children:kh.map(fe=>o.jsxs("label",{children:[o.jsxs("span",{children:[fe.comment||fe.key,fe.required&&o.jsx("small",{children:"必填"})]}),o.jsx("input",{type:fe.key.includes("SECRET")?"password":"text",value:E[fe.key]??"",placeholder:fe.placeholder,tabIndex:v?0:-1,disabled:!v||z||!w,autoComplete:"off",onChange:Me=>w==null?void 0:w(fe.key,Me.currentTarget.value)})]},fe.key))})]})]})})]}),!F&&o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"实例设置"}),o.jsxs("div",{className:"pp-instance-fields",children:[o.jsxs("label",{htmlFor:"runtime-min-instance",children:[o.jsx("span",{children:"最小实例数"}),o.jsx("input",{id:"runtime-min-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:Ye,disabled:z,"aria-invalid":!$e.valid,onChange:fe=>bt(fe.currentTarget.value)})]}),o.jsxs("label",{htmlFor:"runtime-max-instance",children:[o.jsx("span",{children:"最大实例数"}),o.jsx("input",{id:"runtime-max-instance",type:"number",min:"1",step:"1",inputMode:"numeric",value:ot,disabled:z,"aria-invalid":!$e.valid,onChange:fe=>fn(fe.currentTarget.value)})]})]}),k&&o.jsx("p",{className:"pp-instance-note",role:"note",children:"为避免多实例间会话丢失,推荐将 Runtime 固定为 1~1"}),!$e.valid&&o.jsx("p",{className:"pp-instance-error",role:"alert",children:$e.error})]}),o.jsxs("section",{className:"pp-config-section",children:[o.jsx("div",{className:"pp-config-label",children:"网络"}),L&&Tt(!0),F&&o.jsx("p",{className:"pp-config-note",children:"现有 Runtime 的区域与网络模式保持不变。"}),o.jsxs("div",{className:"pp-network-layout",children:[o.jsx("div",{className:"pp-network-modes",role:"radiogroup","aria-label":"网络模式",children:["public","private","both"].map(fe=>o.jsxs("label",{className:"pp-network-option",children:[o.jsx("input",{type:"radio",name:"deployment-network-mode",value:fe,checked:St===fe,onChange:()=>Kn(fe),disabled:z||F||!S}),o.jsx("span",{children:fe==="public"?"公网":fe==="private"?"VPC":"公网 + VPC"})]},fe))}),St!=="public"&&o.jsxs("div",{className:"pp-network-fields",children:[o.jsxs("label",{children:[o.jsx("span",{children:"VPC ID"}),o.jsx("input",{value:(T==null?void 0:T.vpcId)??"",placeholder:"vpc-xxxxxxxx",disabled:z||F,onChange:fe=>cn({vpcId:fe.target.value})})]}),o.jsxs("label",{children:[o.jsxs("span",{children:["子网 ID ",o.jsx("small",{children:"可选,多个用逗号分隔"})]}),o.jsx("input",{value:(T==null?void 0:T.subnetIds)??"",placeholder:"subnet-xxx, subnet-yyy",disabled:z||F,onChange:fe=>cn({subnetIds:fe.target.value})})]}),o.jsxs("label",{className:"pp-network-check",children:[o.jsx("input",{type:"checkbox",checked:!!(T!=null&&T.enableSharedInternetAccess),disabled:z||F,onChange:fe=>cn({enableSharedInternetAccess:fe.target.checked})}),"VPC 内共享公网出口"]})]})]})]}),o.jsxs("section",{className:"pp-config-section pp-env-section",children:[o.jsxs("div",{className:"pp-env-head",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"pp-config-label",children:["环境变量",o.jsxs("span",{className:"pp-agent-child-count pp-env-count",children:[zt," 项"]})]}),o.jsx("div",{className:"pp-env-sub",children:"组件配置会自动同步到这里,部署前可核对最终值。"})]}),o.jsx("button",{type:"button",className:"pp-icon-btn",title:ie?"隐藏值":"显示值",onClick:()=>se(fe=>!fe),children:ie?o.jsx(KZ,{className:"pp-ic"}):o.jsx(yP,{className:"pp-ic"})})]}),o.jsxs("button",{type:"button",className:"pp-env-add",onClick:Bn,disabled:z,children:[o.jsx(vi,{className:"pp-ic"}),"添加变量"]}),(Qt.length>0||Ge.length>0)&&o.jsxs("div",{className:"pp-env-table",children:[Qt.length>0&&o.jsxs("div",{className:"pp-env-group",children:[o.jsxs("div",{className:"pp-env-group-head",children:[o.jsx("span",{children:"组件自动生成"}),o.jsxs("small",{children:[Qt.length," 项"]})]}),Qt.map(fe=>{const Me=fe.key.startsWith("ENABLE_");return o.jsxs("div",{className:"pp-env-row pp-env-row-derived",children:[o.jsx("input",{className:"pp-env-key-fixed",value:fe.key,readOnly:!0,disabled:z,"aria-label":`${fe.key} 环境变量名`}),o.jsx("input",{type:Me||ie?"text":"password",value:fe.value,placeholder:fe.required?"必填,尚未填写":"可选,尚未填写",readOnly:Me,disabled:z||!Me&&!w,autoComplete:"off","aria-label":`${fe.key} 环境变量值`,onChange:je=>w==null?void 0:w(fe.key,je.currentTarget.value)}),o.jsx("span",{className:"pp-env-source",children:Me?"自动":"同步"})]},fe.key)})]}),Ge.length>0&&o.jsxs("div",{className:"pp-env-group-head pp-env-group-head-custom",children:[o.jsx("span",{children:"自定义变量"}),o.jsxs("small",{children:[Ge.length," 项"]})]}),Ge.map(fe=>o.jsxs("div",{className:"pp-env-row",children:[o.jsx("input",{value:fe.key,placeholder:"名称",disabled:z,autoComplete:"off",onChange:Me=>Ds(fe.id,{key:Me.currentTarget.value})}),o.jsx("input",{type:ie?"text":"password",value:fe.value,placeholder:"值",disabled:z,autoComplete:"off",onChange:Me=>Ds(fe.id,{value:Me.currentTarget.value})}),o.jsx("button",{type:"button",className:"pp-icon-btn pp-env-remove",title:"删除变量",disabled:z,onClick:()=>mi(fe.id),children:o.jsx(_i,{className:"pp-ic"})})]},fe.id))]})]}),(z||pe||Object.keys(Ze).length>0)&&o.jsxs("section",{className:"pp-config-section pp-progress-section",children:[o.jsx("div",{className:"pp-config-label",children:"部署进度"}),o.jsx("ol",{className:"pp-steps",children:Xe.map((fe,Me)=>{const je=Ve?Xe.findIndex(Ae=>Ae.phase===Ve):-1,tt=!!me&&(je===-1?Me===0:Me===je);let et;pe?et="done":tt?et="failed":je===-1?et=z?"active":"pending":Mefe.phase===Ve))==null?void 0:Jt.label)??Ve}阶段):`:""}${me}`,onRetry:Qs,retryLabel:F?"重试更新":"重试部署"}),pe&&o.jsxs("section",{className:"pp-deploy-result",children:[o.jsx("div",{className:"pp-deploy-result-header",children:F?"更新成功":"部署成功"}),o.jsxs("div",{className:"pp-deploy-result-body",children:[pe.region&&o.jsxs("div",{className:"pp-deploy-result-field",children:[o.jsx("label",{children:"区域"}),o.jsx("code",{children:pe.region==="cn-shanghai"?"上海 (cn-shanghai)":"北京 (cn-beijing)"})]}),o.jsxs("div",{className:"pp-deploy-result-field",children:[o.jsx("label",{children:"Agent 名称"}),o.jsx("code",{children:pe.agentName})]}),o.jsxs("div",{className:"pp-deploy-result-field",children:[o.jsx("label",{children:"API 端点"}),o.jsx("code",{className:"pp-deploy-result-url",children:pe.url})]})]}),o.jsxs("div",{className:"pp-deploy-result-actions",children:[o.jsxs("button",{type:"button",className:"pp-deploy-result-btn",onClick:Un,disabled:Fe,children:[Fe?o.jsx(gn,{className:"pp-ic spin"}):o.jsx(SP,{className:"pp-ic"}),Fe?"连接中…":"立即对话"]}),pe.consoleUrl&&o.jsxs("a",{href:pe.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"pp-console-link pp-console-link-btn",children:[o.jsx(I1,{className:"pp-ic"}),"控制台"]})]})]})]}),o.jsx("div",{className:`pp-config-actions${It?" is-external":""}`,children:It?Si.createPortal(o.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Qs,disabled:z||_e||G||!!n,title:n,children:z?`${f}中…`:me?`重试${f}`:f}),It):o.jsx("button",{type:"button",className:"pp-deploy studio-update-action",onClick:Qs,disabled:z||_e||G||!!n,title:n,children:z?`${f}中…`:me?`重试${f}`:f})})]})]}),de&&s&&Si.createPortal(o.jsx("div",{className:"pp-flow-backdrop",onMouseDown:fe=>{fe.target===fe.currentTarget&&ye(!1)},children:o.jsxs("section",{className:"pp-flow-dialog",role:"dialog","aria-modal":"true","aria-label":"执行流程预览",children:[o.jsxs("header",{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"执行流程"}),o.jsx("span",{children:"只读预览,可缩放与拖动画布"})]}),o.jsx("button",{type:"button",onClick:()=>ye(!1),"aria-label":"关闭执行流程预览",children:o.jsx(_i,{"aria-hidden":!0})})]}),o.jsx("div",{className:"pp-flow-dialog-canvas",children:o.jsx(yp,{draft:s,direction:"horizontal",selectedPath:[],onSelect:rl,onAdd:rl,onInsert:rl,onDelete:rl,readOnly:!0,interactivePreview:!0})})]})}),document.body),o.jsx(tNe,{open:ne,isUpdate:F,onCancel:vs,onConfirm:()=>void ms()})]})}const qL="dogfooding",aw="dogfooding",ow="dogfooding_b";let pNe=0;const lw=()=>++pNe;function YL(e){return e.blocks.filter(t=>t.kind==="text").map(t=>t.text).join("")}function gNe(e){const t=e.trim(),n=t.match(/^```(?:json)?\s*\n?([\s\S]*?)\n?```$/i);return(n?n[1]:t).trim()}async function WL(e){const t=[],n=gNe(e);t.push(n);const s=n.indexOf("{"),i=n.lastIndexOf("}");s>=0&&i>s&&t.push(n.slice(s,i+1));for(const r of t)try{const a=JSON.parse(r);if(a&&typeof a=="object"&&(typeof a.name=="string"||typeof a.instruction=="string"))return await gk(U2(a))}catch{}return null}function bNe({userId:e,onBack:t,onCreate:n,onAgentAdded:s,onDeploymentTaskChange:i}){const[r,a]=b.useState([{id:lw(),role:"assistant",text:"你好,我是 VeADK 的智能构建助手。用自然语言描述你想要的 Agent,我会直接帮你生成一个可运行的 VeADK 项目,并在右侧实时预览。"}]),[l,c]=b.useState(""),[u,d]=b.useState(!1),[f,h]=b.useState(null),[m,p]=b.useState(null),[g,v]=b.useState(!1),[y,x]=b.useState(null),[E,w]=b.useState(null),[T,S]=b.useState(!1),[N,A]=b.useState(!1),[C,I]=b.useState({}),O=b.useRef(null),L=b.useRef(null),G=b.useRef(null),D=b.useRef(null),F=b.useRef(null);b.useEffect(()=>{const z=D.current;z&&z.scrollTo({top:z.scrollHeight,behavior:"smooth"})},[r,u]),b.useEffect(()=>{const z=F.current;z&&(z.style.height="auto",z.style.height=Math.min(z.scrollHeight,160)+"px")},[l]);const k=z=>a(K=>[...K,{id:lw(),role:"assistant",text:z}]);async function j(){if(O.current)return O.current;const z=await xy(qL,e);return O.current=z,z}async function P(z,K){if(K.current)return K.current;const ne=await xy(z,e);return K.current=ne,ne}async function $(z,K){if(!C[z])try{const ne=await fk(K);I(W=>({...W,[z]:ne.model||K}))}catch{I(ne=>({...ne,[z]:K}))}}async function R(z,K,ne){const W=await P(z,K);let de=ma();for await(const _e of ap({appName:z,userId:e,sessionId:W,text:ne}))de=ef(de,_e);const ye=YL(de).trim();return{project:await WL(ye),finalText:ye}}const q=async(z,K,ne)=>U1(z.name,z.files,{region:"cn-beijing",projectName:"default"},{...ne,onStage:K}),Q=async()=>{const z=l.trim();if(!(!z||u)){if(a(K=>[...K,{id:lw(),role:"user",text:z}]),c(""),h(null),d(!0),g){x(null),w(null),S(!0),A(!0),$("a",aw),$("b",ow);const K=R(aw,L,z).then(({project:W})=>(x(W),W)).catch(W=>{const de=W instanceof Error?W.message:String(W);return h(de),null}).finally(()=>S(!1)),ne=R(ow,G,z).then(({project:W})=>(w(W),W)).catch(W=>{const de=W instanceof Error?W.message:String(W);return h(de),null}).finally(()=>A(!1));try{const[W,de]=await Promise.all([K,ne]),ye=[W?`方案 A:${W.name}`:null,de?`方案 B:${de.name}`:null].filter(Boolean);ye.length?k(`已生成两个方案(${ye.join(",")}),请在右侧对比后采用其一。`):k("(两个方案都没有返回可用的项目,请再描述一下你的需求。)")}finally{d(!1)}return}try{const K=await j();let ne=ma();for await(const ye of ap({appName:qL,userId:e,sessionId:K,text:z}))ne=ef(ne,ye);const W=YL(ne).trim(),de=await WL(W);de?(p(de),k(`已生成项目:${de.name}(${de.files.length} 个文件),可在右侧预览和编辑。`)):k(W||"(助手没有返回内容,请再描述一下你的需求。)")}catch(K){const ne=K instanceof Error?K.message:String(K);h(ne),k(`抱歉,调用智能构建助手失败:${ne}`)}finally{d(!1)}}},B=z=>{const K=z==="a"?y:E;if(!K)return;p(K),v(!1),x(null),w(null),S(!1),A(!1);const ne=z==="a"?"A":"B",W=z==="a"?C.a:C.b;k(`已采用方案 ${ne}(${W??(z==="a"?aw:ow)}),可继续编辑。`)},ee=z=>{z.key==="Enter"&&!z.shiftKey&&!z.nativeEvent.isComposing&&(z.preventDefault(),Q())};return o.jsx("div",{className:"ic-root",children:o.jsxs("div",{className:"ic-body",children:[o.jsxs("div",{className:"ic-chat",children:[o.jsxs("div",{className:"ic-transcript",ref:D,children:[o.jsx(Eo,{initial:!1,children:r.map(z=>o.jsxs(ts.div,{className:`ic-turn ic-turn--${z.role}`,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.22,ease:"easeOut"},children:[z.role==="assistant"&&o.jsx("div",{className:"ic-avatar",children:o.jsx(Hc,{className:"ic-avatar-icon"})}),o.jsx("div",{className:"ic-bubble",children:z.role==="assistant"?o.jsx(zf,{text:z.text}):z.text})]},z.id))}),u&&o.jsxs(ts.div,{className:"ic-turn ic-turn--assistant",initial:{opacity:0,y:8},animate:{opacity:1,y:0},children:[o.jsx("div",{className:"ic-avatar",children:o.jsx(Hc,{className:"ic-avatar-icon"})}),o.jsxs("div",{className:"ic-bubble ic-bubble--typing",children:[o.jsx("span",{className:"ic-dot"}),o.jsx("span",{className:"ic-dot"}),o.jsx("span",{className:"ic-dot"})]})]})]}),f&&o.jsxs("div",{className:"ic-error",children:[o.jsx(XN,{className:"ic-error-icon"}),f]}),o.jsxs("div",{className:"ic-composer",children:[o.jsxs("div",{className:"ic-composer-box",children:[o.jsx("textarea",{ref:F,className:"ic-input",rows:1,placeholder:"描述你想要的 Agent,例如「一个帮我整理周报的写作助手」…",value:l,onChange:z=>c(z.target.value),onKeyDown:ee,disabled:u}),o.jsx("button",{className:"ic-send",onClick:()=>void Q(),disabled:!l.trim()||u,title:"发送 (Enter)",children:o.jsx(vJ,{className:"ic-send-icon"})})]}),o.jsxs("div",{className:"ic-composer-foot",children:[o.jsxs("label",{className:"ic-ab-toggle",title:"同时用两个模型生成方案进行对比",children:[o.jsx("input",{type:"checkbox",className:"ic-ab-checkbox",checked:g,disabled:u,onChange:z=>v(z.target.checked)}),o.jsx("span",{className:"ic-ab-track",children:o.jsx("span",{className:"ic-ab-thumb"})}),o.jsx("span",{className:"ic-ab-label",children:"A/B 对比"})]}),o.jsx("div",{className:"ic-composer-hint",children:"Enter 发送 · Shift+Enter 换行"})]})]})]}),o.jsx("aside",{className:"ic-preview",children:g?o.jsxs("div",{className:"ic-compare",children:[o.jsx(XL,{side:"a",project:y,loading:T,model:C.a,onAdopt:()=>B("a")}),o.jsx("div",{className:"ic-compare-divider"}),o.jsx(XL,{side:"b",project:E,loading:N,model:C.b,onAdopt:()=>B("b")})]}):m?o.jsx(Cx,{project:m,onChange:p,onDeploy:q,onAgentAdded:s,onDeploymentTaskChange:i}):o.jsxs("div",{className:"ic-preview-empty",children:[o.jsxs("div",{className:"ic-preview-empty-icon",children:[o.jsx(JZ,{className:"ic-preview-empty-glyph"}),o.jsx(zc,{className:"ic-preview-empty-spark"})]}),o.jsx("div",{className:"ic-preview-empty-title",children:"还没有项目"}),o.jsx("div",{className:"ic-preview-empty-sub",children:"描述你的需求,我会帮你生成 VeADK 项目"})]})})]})})}function XL({side:e,project:t,loading:n,model:s,onAdopt:i}){const r=e==="a"?"方案 A":"方案 B";return o.jsxs("div",{className:"ic-pane",children:[o.jsxs("div",{className:"ic-pane-head",children:[o.jsxs("div",{className:"ic-pane-title",children:[o.jsx("span",{className:`ic-pane-tag ic-pane-tag--${e}`,children:r}),s&&o.jsx("span",{className:"ic-pane-model",children:s})]}),o.jsxs("button",{className:"ic-adopt",onClick:i,disabled:!t||n,title:`采用${r}`,children:["采用",e==="a"?"方案 A":"方案 B"]})]}),o.jsx("div",{className:"ic-pane-body",children:n?o.jsxs("div",{className:"ic-pane-loading",children:[o.jsx(gn,{className:"ic-pane-spinner"}),o.jsx("span",{children:"正在生成…"})]}):t?o.jsx(Cx,{project:t}):o.jsx("div",{className:"ic-pane-empty",children:"该方案未返回可用项目"})})]})}var yNe=Object.defineProperty,F2=(e,t)=>yNe(e,"name",{value:t,configurable:!0});function q_(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}F2(q_,"setRef");function fH(...e){return t=>{let n=!1;const s=e.map(i=>{const r=q_(i,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let i=0;ixNe(e,"name",{value:t,configurable:!0});function xf(e){const t=b.forwardRef((n,s)=>{let{children:i,...r}=n,a=null,l=!1;const c=[];Y_(i)&&typeof P0=="function"&&(i=P0(i._payload)),b.Children.forEach(i,h=>{var m;if(gH(h)){l=!0;const p=h;let g="child"in p.props?p.props.child:p.props.children;Y_(g)&&typeof P0=="function"&&(g=P0(g._payload)),a=vNe(p,g),c.push((m=a==null?void 0:a.props)==null?void 0:m.children)}else c.push(h)}),a?a=b.cloneElement(a,void 0,c):!l&&b.Children.count(i)===1&&b.isValidElement(i)&&(a=i);const u=a?pH(a):void 0,d=or(s,u);if(!a){if(i||i===0)throw new Error(l?_Ne(e):SNe(e));return i}const f=mH(r,a.props??{});return a.type!==b.Fragment&&(f.ref=s?d:u),b.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}Ta(xf,"createSlot");var hH=Symbol.for("radix.slottable");function ENe(e){const t=Ta(n=>"child"in n?n.children(n.child):n.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=hH,t}Ta(ENe,"createSlottable");var vNe=Ta((e,t)=>{if("child"in e.props){const n=e.props.child;return b.isValidElement(n)?b.cloneElement(n,void 0,e.props.children(n.props.children)):null}return b.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function mH(e,t){const n={...t};for(const s in t){const i=e[s],r=t[s];/^on[A-Z]/.test(s)?i&&r?n[s]=(...l)=>{const c=r(...l);return i(...l),c}:i&&(n[s]=i):s==="style"?n[s]={...i,...r}:s==="className"&&(n[s]=[i,r].filter(Boolean).join(" "))}return{...e,...n}}Ta(mH,"mergeProps");function pH(e){var s,i;let t=(s=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}Ta(pH,"getElementRef");function gH(e){return b.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===hH}Ta(gH,"isSlottable");var wNe=Symbol.for("react.lazy");function Y_(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===wNe&&"_payload"in e&&bH(e._payload)}Ta(Y_,"isLazyComponent");function bH(e){return typeof e=="object"&&e!==null&&"then"in e}Ta(bH,"isPromiseLike");var SNe=Ta(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),_Ne=Ta(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),P0=wf[" use ".trim().toString()],TNe=Object.defineProperty,NNe=(e,t)=>TNe(e,"name",{value:t,configurable:!0}),kNe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Jr=kNe.reduce((e,t)=>{const n=xf(`Primitive.${t}`),s=b.forwardRef((i,r)=>{const{asChild:a,...l}=i,c=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),o.jsx(c,{...l,ref:r})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function ANe(e,t){e&&Si.flushSync(()=>e.dispatchEvent(t))}NNe(ANe,"dispatchDiscreteCustomEvent");var CNe=Object.defineProperty,qr=(e,t)=>CNe(e,"name",{value:t,configurable:!0});function INe(e,t){const n=b.createContext(t);n.displayName=e+"Context";const s=qr(r=>{const{children:a,...l}=r,c=b.useMemo(()=>l,Object.values(l));return o.jsx(n.Provider,{value:c,children:a})},"Provider");s.displayName=e+"Provider";function i(r,a={}){const{optional:l=!1}=a,c=b.useContext(n);if(c)return c;if(t!==void 0)return t;if(!l)throw new Error(`\`${r}\` must be used within \`${e}\``)}return qr(i,"useContext"),[s,i]}qr(INe,"createContext");function Zl(e,t=[]){let n=[];function s(r,a){const l=b.createContext(a);l.displayName=r+"Context";const c=n.length;n=[...n,a];const u=qr(f=>{var y;const{scope:h,children:m,...p}=f,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||l,v=b.useMemo(()=>p,Object.values(p));return o.jsx(g.Provider,{value:v,children:m})},"Provider");u.displayName=r+"Provider";function d(f,h,m={}){var y;const{optional:p=!1}=m,g=((y=h==null?void 0:h[e])==null?void 0:y[c])||l,v=b.useContext(g);if(v)return v;if(a!==void 0)return a;if(!p)throw new Error(`\`${f}\` must be used within \`${r}\``)}return qr(d,"useContext"),[u,d]}qr(s,"createContext");const i=qr(()=>{const r=n.map(a=>b.createContext(a));return qr(function(l){const c=(l==null?void 0:l[e])||r;return b.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])},"useScope")},"createScope");return i.scopeName=e,[s,yH(i,...t)]}qr(Zl,"createContextScope");function yH(...e){const t=e[0];if(e.length===1)return t;const n=qr(()=>{const s=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return qr(function(r){const a=s.reduce((l,{useScope:c,scopeName:u})=>{const f=c(r)[`__scope${u}`];return{...l,...f}},{});return b.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}qr(yH,"composeContextScopes");var RNe=Object.defineProperty,di=(e,t)=>RNe(e,"name",{value:t,configurable:!0});function xH(e){const t=e+"CollectionProvider",[n,s]=Zl(t),[i,r]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=di(g=>{const{scope:v,children:y}=g,x=b.useRef(null),E=b.useRef(new Map).current;return o.jsx(i,{scope:v,itemMap:E,collectionRef:x,children:y})},"CollectionProvider");a.displayName=t;const l=e+"CollectionSlot",c=xf(l),u=b.forwardRef((g,v)=>{const{scope:y,children:x}=g,E=r(l,y),w=or(v,E.collectionRef);return o.jsx(c,{ref:w,children:x})});u.displayName=l;const d=e+"CollectionItemSlot",f="data-radix-collection-item",h=xf(d),m=b.forwardRef((g,v)=>{const{scope:y,children:x,...E}=g,w=b.useRef(null),T=or(v,w),S=r(d,y);return b.useEffect(()=>(S.itemMap.set(w,{ref:w,...E}),()=>void S.itemMap.delete(w))),o.jsx(h,{[f]:"",ref:T,children:x})});m.displayName=d;function p(g){const v=r(e+"CollectionConsumer",g);return b.useCallback(()=>{const x=v.collectionRef.current;if(!x)return[];const E=Array.from(x.querySelectorAll(`[${f}]`));return Array.from(v.itemMap.values()).sort((S,N)=>E.indexOf(S.ref.current)-E.indexOf(N.ref.current))},[v.collectionRef,v.itemMap])}return di(p,"useCollection"),[{Provider:a,Slot:u,ItemSlot:m},p,s]}di(xH,"createCollection");var QL=new WeakMap,zs,pr,cw=(pr=class extends Map{constructor(n){super(n);UA(this,zs);lE(this,zs,[...super.keys()]),QL.set(this,!0)}set(n,s){return QL.get(this)&&(this.has(n)?ki(this,zs)[ki(this,zs).indexOf(n)]=n:ki(this,zs).push(n)),super.set(n,s),this}insert(n,s,i){const r=this.has(s),a=ki(this,zs).length,l=$2(n);let c=l>=0?l:a+l;const u=c<0||c>=a?-1:c;if(u===this.size||r&&u===this.size-1||u===-1)return this.set(s,i),this;const d=this.size+(r?0:1);l<0&&c++;const f=[...ki(this,zs)];let h,m=!1;for(let p=c;p=this.size&&(r=this.size-1),this.at(r)}keyFrom(n,s){const i=this.indexOf(n);if(i===-1)return;let r=i+s;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(n,s){let i=0;for(const r of this){if(Reflect.apply(n,s,[r,i,this]))return r;i++}}findIndex(n,s){let i=0;for(const r of this){if(Reflect.apply(n,s,[r,i,this]))return i;i++}return-1}filter(n,s){const i=[];let r=0;for(const a of this)Reflect.apply(n,s,[a,r,this])&&i.push(a),r++;return new pr(i)}map(n,s){const i=[];let r=0;for(const a of this)i.push([a[0],Reflect.apply(n,s,[a,r,this])]),r++;return new pr(i)}reduce(...n){const[s,i]=n;let r=0,a=i??this.at(0);for(const l of this)r===0&&n.length===1?a=l:a=Reflect.apply(s,this,[a,l,r,this]),r++;return a}reduceRight(...n){const[s,i]=n;let r=i??this.at(-1);for(let a=this.size-1;a>=0;a--){const l=this.at(a);a===this.size-1&&n.length===1?r=l:r=Reflect.apply(s,this,[r,l,a,this])}return r}toSorted(n){const s=[...this.entries()].sort(n);return new pr(s)}toReversed(){const n=new pr;for(let s=this.size-1;s>=0;s--){const i=this.keyAt(s),r=this.get(i);n.set(i,r)}return n}toSpliced(...n){const s=[...this.entries()];return s.splice(...n),new pr(s)}slice(n,s){const i=new pr;let r=this.size-1;if(n===void 0)return i;n<0&&(n=n+this.size),s!==void 0&&s>0&&(r=s-1);for(let a=n;a<=r;a++){const l=this.keyAt(a),c=this.get(l);i.set(l,c)}return i}every(n,s){let i=0;for(const r of this){if(!Reflect.apply(n,s,[r,i,this]))return!1;i++}return!0}some(n,s){let i=0;for(const r of this){if(Reflect.apply(n,s,[r,i,this]))return!0;i++}return!1}},zs=new WeakMap,di(pr,"OrderedDict"),pr);function Cb(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);const n=EH(e,t);return n===-1?void 0:e[n]}di(Cb,"at");function EH(e,t){const n=e.length,s=$2(t),i=s>=0?s:n+s;return i<0||i>=n?-1:i}di(EH,"toSafeIndex");function $2(e){return e!==e||e===0?0:Math.trunc(e)}di($2,"toSafeInteger");function jNe(e){const t=e+"CollectionProvider",[n,s]=Zl(t),[i,r]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new cw,setItemMap:di(()=>{},"setItemMap")}),a=di(({state:E,...w})=>E?o.jsx(c,{...w,state:E}):o.jsx(l,{...w}),"CollectionProvider");a.displayName=t;const l=di(E=>{const w=v();return o.jsx(c,{...E,state:w})},"CollectionInit");l.displayName=t+"Init";const c=di(E=>{const{scope:w,children:T,state:S}=E,N=b.useRef(null),[A,C]=b.useState(null),I=or(N,C),[O,L]=S;return b.useEffect(()=>{if(!A)return;const G=SH(()=>{});return G.observe(A,{childList:!0,subtree:!0}),()=>{G.disconnect()}},[A]),o.jsx(i,{scope:w,itemMap:O,setItemMap:L,collectionRef:I,collectionRefObject:N,collectionElement:A,children:T})},"CollectionProviderImpl");c.displayName=t+"Impl";const u=e+"CollectionSlot",d=xf(u),f=b.forwardRef((E,w)=>{const{scope:T,children:S}=E,N=r(u,T),A=or(w,N.collectionRef);return o.jsx(d,{ref:A,children:S})});f.displayName=u;const h=e+"CollectionItemSlot",m="data-radix-collection-item",p=xf(h),g=b.forwardRef((E,w)=>{const{scope:T,children:S,...N}=E,A=b.useRef(null),[C,I]=b.useState(null),O=or(w,A,I),L=r(h,T),{setItemMap:G}=L,D=b.useRef(N);vH(D.current,N)||(D.current=N);const F=D.current;return b.useEffect(()=>{const k=F;return G(j=>C?j.has(C)?j.set(C,{...k,element:C}).toSorted(W_):(j.set(C,{...k,element:C}),j.toSorted(W_)):j),()=>{G(j=>!C||!j.has(C)?j:(j.delete(C),new cw(j)))}},[C,F,G]),o.jsx(p,{[m]:"",ref:O,children:S})});g.displayName=h;function v(){return b.useState(new cw)}di(v,"useInitCollection");function y(E){const{itemMap:w}=r(e+"CollectionConsumer",E);return w}return di(y,"useCollection"),[{Provider:a,Slot:f,ItemSlot:g},{createCollectionScope:s,useCollection:y,useInitCollection:v}]}di(jNe,"createCollection");function vH(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),s=Object.keys(t);if(n.length!==s.length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||e[i]!==t[i])return!1;return!0}di(vH,"shallowEqual");function wH(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}di(wH,"isElementPreceding");function W_(e,t){return!e[1].element||!t[1].element?0:wH(e[1].element,t[1].element)?-1:1}di(W_,"sortByDocumentPosition");function SH(e){return new MutationObserver(n=>{for(const s of n)if(s.type==="childList"){e();return}})}di(SH,"getChildListObserver");var ONe=Object.defineProperty,Xf=(e,t)=>ONe(e,"name",{value:t,configurable:!0}),_H=!!(typeof window<"u"&&window.document&&window.document.createElement);function Ki(e,t,{checkForDefaultPrevented:n=!0}={}){return Xf(function(i){if(e==null||e(i),n===!1||!i||!i.defaultPrevented)return t==null?void 0:t(i)},"handleEvent")}Xf(Ki,"composeEventHandlers");function MNe(e){var t;if(!_H)throw new Error("Cannot access window outside of the DOM");return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)??window}Xf(MNe,"getOwnerWindow");function X_(e){if(!_H)throw new Error("Cannot access document outside of the DOM");return(e==null?void 0:e.ownerDocument)??document}Xf(X_,"getOwnerDocument");function TH(e,t=!1){const{activeElement:n}=X_(e);if(!(n!=null&&n.nodeName))return null;if(NH(n)&&n.contentDocument)return TH(n.contentDocument.body,t);if(t){const s=n.getAttribute("aria-activedescendant");if(s){const i=X_(n).getElementById(s);if(i)return i}}return n}Xf(TH,"getActiveElement");function NH(e){return e.tagName==="IFRAME"}Xf(NH,"isFrame");var Zc=globalThis!=null&&globalThis.document?b.useLayoutEffect:()=>{},LNe=Object.defineProperty,DNe=(e,t)=>LNe(e,"name",{value:t,configurable:!0}),ZL=wf[" useEffectEvent ".trim().toString()],JL=wf[" useInsertionEffect ".trim().toString()];function kH(e){if(typeof ZL=="function")return ZL(e);const t=b.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof JL=="function"?JL(()=>{t.current=e}):Zc(()=>{t.current=e}),b.useMemo(()=>(...n)=>{var s;return(s=t.current)==null?void 0:s.call(t,...n)},[])}DNe(kH,"useEffectEvent");var PNe=Object.defineProperty,bg=(e,t)=>PNe(e,"name",{value:t,configurable:!0}),BNe=wf[" useInsertionEffect ".trim().toString()]||Zc;function mu({prop:e,defaultProp:t,onChange:n=bg(()=>{},"onChange"),caller:s}){const[i,r,a]=AH({defaultProp:t,onChange:n}),l=e!==void 0,c=l?e:i,u=b.useCallback(d=>{var f;if(l){const h=CH(d)?d(e):d;h!==e&&((f=a.current)==null||f.call(a,h))}else r(d)},[l,e,r,a]);return[c,u]}bg(mu,"useControllableState");function AH({defaultProp:e,onChange:t}){const[n,s]=b.useState(e),i=b.useRef(n),r=b.useRef(t);return BNe(()=>{r.current=t},[t]),b.useEffect(()=>{var a;i.current!==n&&((a=r.current)==null||a.call(r,n),i.current=n)},[n,i]),[n,s,r]}bg(AH,"useUncontrolledState");function CH(e){return typeof e=="function"}bg(CH,"isFunction");var e3=Symbol("RADIX:SYNC_STATE");function UNe(e,t,n,s){const{prop:i,defaultProp:r,onChange:a,caller:l}=t,c=i!==void 0,u=kH(a),d=[{...n,state:r}];s&&d.push(s);const[f,h]=b.useReducer((v,y)=>{if(y.type===e3)return{...v,state:y.state};const x=e(v,y);return c&&!Object.is(x.state,v.state)&&u(x.state),x},...d),m=f.state,p=b.useRef(m);b.useEffect(()=>{p.current!==m&&(p.current=m,c||u(m))},[m,p,c]);const g=b.useMemo(()=>i!==void 0?{...f,state:i}:f,[f,i]);return b.useEffect(()=>{c&&!Object.is(i,f.state)&&h({type:e3,state:i})},[i,f.state,c]),[g,h]}bg(UNe,"useControllableStateReducer");var FNe=Object.defineProperty,Fo=(e,t)=>FNe(e,"name",{value:t,configurable:!0});function IH(e,t){return b.useReducer((n,s)=>t[n][s]??n,e)}Fo(IH,"useStateMachine");var RH=Fo(e=>{const{present:t,children:n}=e,s=jH(t),i=typeof n=="function"?n({present:s.isPresent}):b.Children.only(n),r=OH(s.ref,MH(i));return typeof n=="function"||s.isPresent?b.cloneElement(i,{ref:r}):null},"Presence");function jH(e){const[t,n]=b.useState(),s=b.useRef(null),i=b.useRef(e),r=b.useRef("none"),a=b.useRef(void 0),l=e?"mounted":"unmounted",[c,u]=IH(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return b.useEffect(()=>{c==="mounted"?(r.current=a.current??Yu(s.current),a.current=void 0):r.current="none"},[c]),Zc(()=>{const d=s.current,f=i.current;if(f!==e){const m=r.current,p=Yu(d);e?(a.current=p,u("MOUNT")):p==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(f&&m!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,u]),Zc(()=>{if(t){let d;const f=t.ownerDocument.defaultView??window,h=Fo(p=>{const v=Yu(s.current).includes(CSS.escape(p.animationName));if(p.target===t&&v&&(u("ANIMATION_END"),!i.current)){const y=t.style.animationFillMode;t.style.animationFillMode="forwards",d=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=y)})}},"handleAnimationEnd"),m=Fo(p=>{p.target===t&&(r.current=Yu(s.current))},"handleAnimationStart");return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{f.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:b.useCallback(d=>{if(d){const f=getComputedStyle(d);s.current=f,a.current=Yu(f)}else s.current=null;n(d)},[])}}Fo(jH,"usePresence");function Q_(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}Fo(Q_,"setRef");function OH(...e){const t=b.useRef(e);return t.current=e,b.useCallback(n=>{const s=t.current;let i=!1;const r=s.map(a=>{const l=Q_(a,n);return!i&&typeof l=="function"&&(i=!0),l});if(i)return()=>{for(let a=0;a$Ne(e,"name",{value:t,configurable:!0}),zNe=wf[" useId ".trim().toString()]||(()=>{}),VNe=0;function LH(e){const[t,n]=b.useState(zNe());return Zc(()=>{e||n(s=>s??String(VNe++))},[e]),e||(t?`radix-${t}`:"")}HNe(LH,"useId");var GNe=Object.defineProperty,KNe=(e,t)=>GNe(e,"name",{value:t,configurable:!0}),qNe=b.createContext(void 0);function Ix(e){const t=b.useContext(qNe);return e||t||"ltr"}KNe(Ix,"useDirection");var YNe=Object.defineProperty,WNe=(e,t)=>YNe(e,"name",{value:t,configurable:!0});function DH(e){const t=b.useRef(e);return b.useEffect(()=>{t.current=e}),b.useMemo(()=>(...n)=>{var s;return(s=t.current)==null?void 0:s.call(t,...n)},[])}WNe(DH,"useCallbackRef");var XNe=Object.defineProperty,QNe=(e,t)=>XNe(e,"name",{value:t,configurable:!0});function H2(e){const[t,n]=b.useState(void 0);return Zc(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const s=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const r=i[0];let a,l;if("borderBoxSize"in r){const c=r.borderBoxSize,u=Array.isArray(c)?c[0]:c;a=u.inlineSize,l=u.blockSize}else a=e.offsetWidth,l=e.offsetHeight;n({width:a,height:l})});return s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else n(void 0)},[e]),t}QNe(H2,"useSize");var ZNe=Object.defineProperty,$o=(e,t)=>ZNe(e,"name",{value:t,configurable:!0}),z2="Checkbox",[JNe,ARe]=Zl(z2),[eke,V2]=JNe(z2);function PH(e){const{__scopeCheckbox:t,checked:n,children:s,defaultChecked:i,disabled:r,form:a,name:l,onCheckedChange:c,required:u,value:d="on",internal_do_not_use_render:f}=e,[h,m]=mu({prop:n,defaultProp:i??!1,onChange:c,caller:z2}),[p,g]=b.useState(null),[v,y]=b.useState(null),x=b.useRef(!1),[E,w]=b.useReducer(N=>N+1,0),T=p?!!a||!!p.closest("form"):!0,S={checked:h,disabled:r,setChecked:m,control:p,setControl:g,name:l,form:a,value:d,hasConsumerStoppedPropagationRef:x,userInteractionCount:E,onUserInteraction:w,required:u,defaultChecked:Co(i)?!1:i,isFormControl:T,bubbleInput:v,setBubbleInput:y};return o.jsx(eke,{scope:t,...S,children:BH(f)?f(S):s})}$o(PH,"CheckboxProvider");var tke="CheckboxTrigger",nke=b.forwardRef($o(function({__scopeCheckbox:t,onKeyDown:n,onClick:s,...i},r){const{control:a,value:l,disabled:c,checked:u,required:d,setControl:f,setChecked:h,hasConsumerStoppedPropagationRef:m,onUserInteraction:p,isFormControl:g,bubbleInput:v}=V2(tke,t),y=or(r,f),x=b.useRef(u);return b.useEffect(()=>{const E=a==null?void 0:a.form;if(E){const w=$o(()=>h(x.current),"reset");return E.addEventListener("reset",w),()=>E.removeEventListener("reset",w)}},[a,h]),o.jsx(Jr.button,{type:"button",role:"checkbox","aria-checked":Co(u)?"mixed":u,"aria-required":d,"data-state":G2(u),"data-disabled":c?"":void 0,disabled:c,value:l,...i,ref:y,onKeyDown:Ki(n,E=>{E.key==="Enter"&&E.preventDefault()}),onClick:Ki(s,E=>{p(),h(w=>Co(w)?!0:!w),v&&g&&(m.current=E.isPropagationStopped(),m.current||E.stopPropagation())})})},"CheckboxTrigger")),ske=b.forwardRef($o(function(t,n){const{__scopeCheckbox:s,name:i,checked:r,defaultChecked:a,required:l,disabled:c,value:u,onCheckedChange:d,form:f,...h}=t;return o.jsx(PH,{__scopeCheckbox:s,checked:r,defaultChecked:a,disabled:c,required:l,onCheckedChange:d,name:i,form:f,value:u,internal_do_not_use_render:({isFormControl:m})=>o.jsxs(o.Fragment,{children:[o.jsx(nke,{...h,ref:n,__scopeCheckbox:s}),m&&o.jsx(oke,{__scopeCheckbox:s})]})})},"Checkbox")),ike="CheckboxIndicator",rke=b.forwardRef($o(function(t,n){const{__scopeCheckbox:s,forceMount:i,...r}=t,a=V2(ike,s);return o.jsx(RH,{present:i||Co(a.checked)||a.checked===!0,children:o.jsx(Jr.span,{"data-state":G2(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:n,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),ake="CheckboxBubbleInput",oke=b.forwardRef($o(function({__scopeCheckbox:t,onClick:n,...s},i){const{control:r,hasConsumerStoppedPropagationRef:a,userInteractionCount:l,checked:c,defaultChecked:u,required:d,disabled:f,name:h,value:m,form:p,bubbleInput:g,setBubbleInput:v}=V2(ake,t),y=or(i,v),x=H2(r),E=b.useRef(!1),w=b.useRef(c),T=b.useRef(l);b.useEffect(()=>{const N=g;if(!N)return;const A=window.HTMLInputElement.prototype,I=Object.getOwnPropertyDescriptor(A,"checked").set,O=l!==T.current;T.current=l;const L=w.current!==c;w.current=c;const G=!(O&&a.current);if(L&&I){E.current=!O;const D=new Event("click",{bubbles:G});N.indeterminate=Co(c),I.call(N,Co(c)?!1:c),N.dispatchEvent(D),E.current=!1}},[g,c,a,l]);const S=b.useRef(Co(c)?!1:c);return o.jsx(Jr.input,{type:"checkbox","aria-hidden":!0,defaultChecked:u??S.current,required:d,disabled:f,name:h,value:m,form:p,...s,tabIndex:-1,ref:y,onClick:Ki(n,N=>{E.current&&N.stopPropagation()}),style:{...s.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function BH(e){return typeof e=="function"}$o(BH,"isFunction");function Co(e){return e==="indeterminate"}$o(Co,"isIndeterminate");function G2(e){return Co(e)?"indeterminate":e?"checked":"unchecked"}$o(G2,"getState");var lke=Object.defineProperty,K2=(e,t)=>lke(e,"name",{value:t,configurable:!0}),uw=!1;function UH(){const[e,t]=b.useState(uw);return b.useEffect(()=>{uw||(uw=!0,t(!0))},[]),e}K2(UH,"useIsHydrated");var FH=wf[" useSyncExternalStore ".trim().toString()];function $H(){return()=>{}}K2($H,"subscribe");function HH(){return FH($H,()=>!0,()=>!1)}K2(HH,"useIsHydratedModern");var cke=typeof FH=="function"?HH:UH,uke=Object.defineProperty,pu=(e,t)=>uke(e,"name",{value:t,configurable:!0}),dw="rovingFocusGroup.onEntryFocus",dke={bubbles:!1,cancelable:!0},Rx="RovingFocusGroup",[Z_,zH,fke]=xH(Rx),[hke,jx]=Zl(Rx,[fke]),[mke,pke]=hke(Rx),gke=b.forwardRef(pu(function(t,n){return o.jsx(Z_.Provider,{scope:t.__scopeRovingFocusGroup,children:o.jsx(Z_.Slot,{scope:t.__scopeRovingFocusGroup,children:o.jsx(bke,{...t,ref:n})})})},"RovingFocusGroup")),bke=b.forwardRef(pu(function(t,n){const{__scopeRovingFocusGroup:s,orientation:i,loop:r=!1,dir:a,currentTabStopId:l,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...h}=t,m=b.useRef(null),p=or(n,m),g=Ix(a),[v,y]=mu({prop:l,defaultProp:c??null,onChange:u,caller:Rx}),[x,E]=b.useState(!1),w=DH(d),T=zH(s),S=b.useRef(!1),[N,A]=b.useState(0);return b.useEffect(()=>{const C=m.current;if(C)return C.addEventListener(dw,w),()=>C.removeEventListener(dw,w)},[w]),o.jsx(mke,{scope:s,orientation:i,dir:g,loop:r,currentTabStopId:v,onItemFocus:b.useCallback(C=>y(C),[y]),onItemShiftTab:b.useCallback(()=>E(!0),[]),onFocusableItemAdd:b.useCallback(()=>A(C=>C+1),[]),onFocusableItemRemove:b.useCallback(()=>A(C=>C-1),[]),children:o.jsx(Jr.div,{tabIndex:x||N===0?-1:0,"data-orientation":i,...h,ref:p,style:{outline:"none",...t.style},onMouseDown:Ki(t.onMouseDown,()=>{S.current=!0}),onFocus:Ki(t.onFocus,C=>{const I=!S.current;if(C.target===C.currentTarget&&I&&!x){const O=new CustomEvent(dw,dke);if(C.currentTarget.dispatchEvent(O),!O.defaultPrevented){const L=T().filter(j=>j.focusable),G=L.find(j=>j.active),D=L.find(j=>j.id===v),k=[G,D,...L].filter(Boolean).map(j=>j.ref.current);q2(k,f)}}S.current=!1}),onBlur:Ki(t.onBlur,()=>E(!1))})})},"RovingFocusGroupImpl")),yke="RovingFocusGroupItem",xke=b.forwardRef(pu(function(t,n){const{__scopeRovingFocusGroup:s,focusable:i=!0,active:r=!1,tabStopId:a,children:l,...c}=t,u=LH(),d=a||u,f=pke(yke,s),h=f.currentTabStopId===d,m=zH(s),{onFocusableItemAdd:p,onFocusableItemRemove:g,currentTabStopId:v}=f,y=cke();return Zc(()=>{if(!(!y||!i))return p(),()=>g()},[y,i,p,g]),b.useEffect(()=>{if(!(y||!i))return p(),()=>g()},[y,i,p,g]),o.jsx(Z_.ItemSlot,{scope:s,id:d,focusable:i,active:r,children:o.jsx(Jr.span,{tabIndex:h?0:-1,"data-orientation":f.orientation,...c,ref:n,onMouseDown:Ki(t.onMouseDown,x=>{i?f.onItemFocus(d):x.preventDefault()}),onFocus:Ki(t.onFocus,()=>f.onItemFocus(d)),onKeyDown:Ki(t.onKeyDown,x=>{if(x.key==="Tab"&&x.shiftKey){f.onItemShiftTab();return}if(x.target!==x.currentTarget)return;const E=GH(x,f.orientation,f.dir);if(E!==void 0){if(x.metaKey||x.ctrlKey||x.altKey||x.shiftKey)return;x.preventDefault();let T=m().filter(S=>S.focusable).map(S=>S.ref.current);if(E==="last")T.reverse();else if(E==="prev"||E==="next"){E==="prev"&&T.reverse();const S=T.indexOf(x.currentTarget);T=f.loop?KH(T,S+1):T.slice(S+1)}setTimeout(()=>q2(T))}}),children:typeof l=="function"?l({isCurrentTabStop:h,hasTabStop:v!=null}):l})})},"RovingFocusGroupItem")),Eke={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function VH(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}pu(VH,"getDirectionAwareKey");function GH(e,t,n){const s=VH(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(s))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(s)))return Eke[s]}pu(GH,"getFocusIntent");function q2(e,t=!1){const n=document.activeElement;for(const s of e)if(s===n||(s.focus({preventScroll:t}),document.activeElement!==n))return}pu(q2,"focusFirst");function KH(e,t){return e.map((n,s)=>e[(t+s)%e.length])}pu(KH,"wrapArray");var qH=gke,YH=xke,vke=Object.defineProperty,Oi=(e,t)=>vke(e,"name",{value:t,configurable:!0}),WH="Radio",[wke,XH]=Zl(WH),[Ske,Ox]=wke(WH);function QH(e){const{__scopeRadio:t,checked:n=!1,children:s,disabled:i,form:r,name:a,onCheck:l,required:c,value:u="on",internal_do_not_use_render:d}=e,[f,h]=b.useState(null),[m,p]=b.useState(null),g=b.useRef(!1),[v,y]=b.useReducer(w=>w+1,0),x=f?!!r||!!f.closest("form"):!0,E={checked:n,disabled:i,required:c,name:a,form:r,value:u,control:f,setControl:h,hasConsumerStoppedPropagationRef:g,userInteractionCount:v,onUserInteraction:y,isFormControl:x,bubbleInput:m,setBubbleInput:p,onCheck:Oi(()=>l==null?void 0:l(),"onCheck")};return o.jsx(Ske,{scope:t,...E,children:ZH(d)?d(E):s})}Oi(QH,"RadioProvider");var _ke="RadioTrigger",Tke=b.forwardRef(Oi(function({__scopeRadio:t,onClick:n,...s},i){const{checked:r,disabled:a,value:l,setControl:c,onCheck:u,hasConsumerStoppedPropagationRef:d,onUserInteraction:f,isFormControl:h,bubbleInput:m}=Ox(_ke,t),p=or(i,c);return o.jsx(Jr.button,{type:"button",role:"radio","aria-checked":r,"data-state":Y2(r),"data-disabled":a?"":void 0,disabled:a,value:l,...s,ref:p,onClick:Ki(n,g=>{r||(f(),u()),m&&h&&(d.current=g.isPropagationStopped(),d.current||g.stopPropagation())})})},"RadioTrigger")),Nke="RadioIndicator",kke=b.forwardRef(Oi(function(t,n){const{__scopeRadio:s,forceMount:i,...r}=t,a=Ox(Nke,s);return o.jsx(RH,{present:i||a.checked,children:o.jsx(Jr.span,{"data-state":Y2(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:n})})},"RadioIndicator")),Ake="RadioBubbleInput",Cke=b.forwardRef(Oi(function({__scopeRadio:t,onClick:n,...s},i){const{control:r,checked:a,required:l,disabled:c,name:u,value:d,form:f,bubbleInput:h,setBubbleInput:m,hasConsumerStoppedPropagationRef:p,userInteractionCount:g}=Ox(Ake,t),v=or(i,m),y=H2(r),x=b.useRef(!1),E=b.useRef(a),w=b.useRef(g);b.useEffect(()=>{const S=h;if(!S)return;const N=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(N,"checked").set,I=g!==w.current;w.current=g;const O=E.current!==a;E.current=a;const L=!(I&&p.current);if(O&&C){x.current=!I;const G=new Event("click",{bubbles:L});C.call(S,a),S.dispatchEvent(G),x.current=!1}},[h,a,p,g]);const T=b.useRef(a);return o.jsx(Jr.input,{type:"radio","aria-hidden":!0,defaultChecked:T.current,required:l,disabled:c,name:u,value:d,form:f,...s,tabIndex:-1,ref:v,onClick:Ki(n,S=>{x.current&&S.stopPropagation()}),style:{...s.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function ZH(e){return typeof e=="function"}Oi(ZH,"isFunction");function Y2(e){return e?"checked":"unchecked"}Oi(Y2,"getState");var Ike=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],W2="RadioGroup",[Rke,CRe]=Zl(W2,[jx,XH]),JH=jx(),Mx=XH(),[jke,Oke]=Rke(W2),Mke=b.forwardRef(Oi(function(t,n){const{__scopeRadioGroup:s,name:i,form:r,defaultValue:a,value:l,required:c=!1,disabled:u=!1,orientation:d,dir:f,loop:h=!0,onValueChange:m,...p}=t,g=JH(s),v=Ix(f),[y,x]=mu({prop:l,defaultProp:a??null,onChange:m,caller:W2}),[E,w]=b.useState(null),T=or(n,w),S=b.useRef(y);return b.useEffect(()=>{const N=r?E==null?void 0:E.ownerDocument.getElementById(r):E==null?void 0:E.closest("form");if(N instanceof HTMLFormElement){const A=Oi(()=>x(S.current),"reset");return N.addEventListener("reset",A),()=>N.removeEventListener("reset",A)}},[E,r,x]),o.jsx(jke,{scope:s,name:i,form:r,required:c,disabled:u,value:y,onValueChange:x,children:o.jsx(qH,{asChild:!0,...g,orientation:d,dir:v,loop:h,children:o.jsx(Jr.div,{role:"radiogroup","aria-required":c,"aria-orientation":d,"data-disabled":u?"":void 0,dir:v,...p,ref:T})})})},"RadioGroup")),Lke="RadioGroupItemProvider",Dke="RadioGroupItemTrigger";function ez(e){const{__scopeRadioGroup:t,value:n,disabled:s,children:i,internal_do_not_use_render:r}=e,a=Oke(Lke,t),l=Mx(t),c=a.disabled||s;return o.jsx(QH,{...l,checked:a.value===n,disabled:c,required:a.required,name:a.name,form:a.form,value:n,onCheck:()=>a.onValueChange(n),internal_do_not_use_render:r,children:i})}Oi(ez,"RadioGroupItemProvider");var Pke=b.forwardRef(Oi(function(t,n){const{__scopeRadioGroup:s,...i}=t,r=JH(s),a=Mx(s),{checked:l,disabled:c}=Ox(Dke,a.__scopeRadio),u=b.useRef(null),d=or(n,u),f=b.useRef(!1);return b.useEffect(()=>{const h=Oi(p=>{Ike.includes(p.key)&&(f.current=!0)},"handleKeyDown"),m=Oi(()=>f.current=!1,"handleKeyUp");return document.addEventListener("keydown",h),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",m)}},[]),o.jsx(YH,{asChild:!0,...r,focusable:!c,active:l,children:o.jsx(Tke,{...a,...i,ref:d,onKeyDown:Ki(i.onKeyDown,h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:Ki(i.onFocus,()=>{var h;f.current&&((h=u.current)==null||h.click())})})})},"RadioGroupItemTrigger")),Bke=b.forwardRef(Oi(function(t,n){const{__scopeRadioGroup:s,value:i,disabled:r,...a}=t;return o.jsx(ez,{__scopeRadioGroup:s,value:i,disabled:r,internal_do_not_use_render:({isFormControl:l})=>o.jsxs(o.Fragment,{children:[o.jsx(Pke,{...a,ref:n,__scopeRadioGroup:s}),l&&o.jsx(Uke,{__scopeRadioGroup:s})]})})},"RadioGroupItem")),Uke=b.forwardRef(Oi(function(t,n){const{__scopeRadioGroup:s,...i}=t,r=Mx(s);return o.jsx(Cke,{...r,...i,ref:n})},"RadioGroupItemBubbleInput")),Fke=b.forwardRef(Oi(function(t,n){const{__scopeRadioGroup:s,...i}=t,r=Mx(s);return o.jsx(kke,{...r,...i,ref:n})},"RadioGroupIndicator")),$ke=Object.defineProperty,Hke=(e,t)=>$ke(e,"name",{value:t,configurable:!0}),zke="Toggle",Vke=b.forwardRef(Hke(function(t,n){const{pressed:s,defaultPressed:i,onPressedChange:r,...a}=t,[l,c]=mu({prop:s,onChange:r,defaultProp:i??!1,caller:zke});return o.jsx(Jr.button,{type:"button","aria-pressed":l,"data-state":l?"on":"off","data-disabled":t.disabled?"":void 0,...a,ref:n,onClick:Ki(t.onClick,()=>{t.disabled||c(!l)})})},"Toggle")),Gke=Object.defineProperty,Gl=(e,t)=>Gke(e,"name",{value:t,configurable:!0}),Qf="ToggleGroup",[tz,IRe]=Zl(Qf,[jx]),nz=jx(),Kke=b.forwardRef(Gl(function(t,n){const{type:s,...i}=t;if(s==="single"){const r=i;return o.jsx(qke,{role:"radiogroup",...r,ref:n})}if(s==="multiple"){const r=i;return o.jsx(Yke,{role:"toolbar",...r,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${Qf}\``)},"ToggleGroup")),[sz,iz]=tz(Qf),qke=b.forwardRef(Gl(function(t,n){const{value:s,defaultValue:i,onValueChange:r=Gl(()=>{},"onValueChange"),...a}=t,[l,c]=mu({prop:s,defaultProp:i??"",onChange:r,caller:Qf});return o.jsx(sz,{scope:t.__scopeToggleGroup,type:"single",value:b.useMemo(()=>l?[l]:[],[l]),onItemActivate:c,onItemDeactivate:b.useCallback(()=>c(""),[c]),children:o.jsx(rz,{...a,ref:n})})},"ToggleGroupImplSingle")),Yke=b.forwardRef(Gl(function(t,n){const{value:s,defaultValue:i,onValueChange:r=Gl(()=>{},"onValueChange"),...a}=t,[l,c]=mu({prop:s,defaultProp:i??[],onChange:r,caller:Qf}),u=b.useCallback(f=>c((h=[])=>[...h,f]),[c]),d=b.useCallback(f=>c((h=[])=>h.filter(m=>m!==f)),[c]);return o.jsx(sz,{scope:t.__scopeToggleGroup,type:"multiple",value:l,onItemActivate:u,onItemDeactivate:d,children:o.jsx(rz,{...a,ref:n})})},"ToggleGroupImplMultiple")),[Wke,Xke]=tz(Qf),rz=b.forwardRef(Gl(function(t,n){const{__scopeToggleGroup:s,disabled:i=!1,rovingFocus:r=!0,orientation:a,dir:l,loop:c=!0,...u}=t,d=nz(s),f=Ix(l),h={dir:f,...u};return o.jsx(Wke,{scope:s,rovingFocus:r,disabled:i,children:r?o.jsx(qH,{asChild:!0,...d,orientation:a,dir:f,loop:c,children:o.jsx(Jr.div,{...h,ref:n})}):o.jsx(Jr.div,{...h,ref:n})})},"ToggleGroupImpl")),J_="ToggleGroupItem",Qke=b.forwardRef(Gl(function(t,n){const s=iz(J_,t.__scopeToggleGroup),i=Xke(J_,t.__scopeToggleGroup),r=nz(t.__scopeToggleGroup),a=s.value.includes(t.value),l=i.disabled||t.disabled,c={...t,pressed:a,disabled:l},u=b.useRef(null);return i.rovingFocus?o.jsx(YH,{asChild:!0,...r,focusable:!l,active:a,ref:u,children:o.jsx(t3,{...c,ref:n})}):o.jsx(t3,{...c,ref:n})},"ToggleGroupItem")),t3=b.forwardRef(Gl(function(t,n){const{__scopeToggleGroup:s,value:i,...r}=t,a=iz(J_,s),l={role:"radio","aria-checked":t.pressed,"aria-pressed":void 0},c=a.type==="single"?l:void 0;return o.jsx(Vke,{...c,...r,ref:n,onPressedChange:u=>{u?a.onItemActivate(i):a.onItemDeactivate(i)}})},"ToggleGroupItemImpl"));const Zke="_Container_1tuad_1",Jke="_Checkbox_1tuad_22",e2e="_CheckMark_1tuad_92",t2e="_Label_1tuad_162",B0={Container:Zke,Checkbox:Jke,CheckMark:e2e,Label:t2e},az=({className:e,label:t,id:n,disabled:s,orientation:i="left",...r})=>{const a=b.useId(),l=n??a;return o.jsxs("div",{"data-disabled":s?"":void 0,"data-has-label":t?"":void 0,"data-orientation":i,className:ta(e,B0.Container),children:[o.jsx(ske,{className:B0.Checkbox,id:l,disabled:s,...r,children:o.jsx(rke,{className:B0.CheckMark})}),t&&o.jsx("label",{htmlFor:l,className:B0.Label,onMouseDown:c=>{!c.defaultPrevented&&c.detail>1&&c.preventDefault()},children:t})]})},n2e="_RadioGroup_onrfm_1",s2e="_RadioLabel_onrfm_9",i2e="_RadioIndicatorWrapper_onrfm_26",r2e="_RadioItem_onrfm_43",a2e="_RadioIndicator_onrfm_26",tm={RadioGroup:n2e,RadioLabel:s2e,RadioIndicatorWrapper:i2e,RadioItem:r2e,RadioIndicator:a2e},oz=b.createContext(null),o2e=()=>{const e=b.use(oz);if(!e)throw new Error("RadioGroup components must be wrapped in ");return e},eT=({onChange:e,children:t,className:n,direction:s="row",disabled:i=!1,...r})=>{const a=b.useMemo(()=>({disabled:i,direction:s}),[i,s]);return o.jsx(oz,{value:a,children:o.jsx(Mke,{className:ta(tm.RadioGroup,n),"data-direction":s,onValueChange:e,disabled:i,...r,children:t})})},l2e=({value:e,disabled:t=!1,required:n,children:s,className:i,block:r=!1,...a})=>{const{disabled:l}=o2e(),c=l||t,u=b.useId(),d=`${e}-${u}`;return o.jsx("div",{className:"flex",...a,children:o.jsxs("label",{htmlFor:d,className:ta(tm.RadioLabel,i),"data-disabled":c?"":void 0,"data-block":r?"":void 0,onMouseDown:f=>{!f.defaultPrevented&&f.detail>1&&f.preventDefault()},children:[o.jsx("div",{className:tm.RadioIndicatorWrapper,children:o.jsx(Bke,{id:d,value:e,disabled:c,required:n,className:tm.RadioItem,children:o.jsx(Fke,{className:tm.RadioIndicator})})}),s]})})};eT.Item=l2e;const c2e=/^[A-Za-z_][A-Za-z0-9_]*$/;function Ud(e){return e.trim().length===0?"名称为必填项":e==="user"?"user 是 Google ADK 保留名称,请使用其他名称":c2e.test(e)?null:"名称须以英文字母或下划线开头,且只能包含英文字母、数字和下划线"}function lz(e){const t=new Set,n=new Set,s=i=>{Ud(i.name)===null&&(t.has(i.name)?n.add(i.name):t.add(i.name)),i.subAgents.forEach(s)};return s(e),n}function u2e({className:e,...t}){return o.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:[o.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"}),o.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 Wu={llm:{id:"llm",label:"LLM 智能体",desc:"大模型驱动,自主完成任务",icon:u2e},sequential:{id:"sequential",label:"顺序型智能体",desc:"子 Agent 按顺序依次执行",icon:eJ},parallel:{id:"parallel",label:"并行型智能体",desc:"子 Agent 并行执行后汇总",icon:SJ},loop:{id:"loop",label:"循环型智能体",desc:"子 Agent 循环执行到满足条件",icon:tk},a2a:{id:"a2a",label:"远程智能体",desc:"通过 A2A 协议调用远程 Agent",icon:R1}},d2e=[Wu.llm,Wu.sequential,Wu.parallel,Wu.loop,Wu.a2a];function cz(e){return Wu[e??"llm"]}const uz=e=>e==="sequential"||e==="parallel"||e==="loop",Lx=e=>e==="a2a";function Kl(e){return e.trimEnd().replace(/[。.]+$/,"")}function Xy(e,t){const n=e.trim().toLocaleLowerCase();return n?t.some(s=>s==null?void 0:s.toLocaleLowerCase().includes(n)):!0}function ac(e,t){return e[t]|e[t+1]<<8}function Uu(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}async function f2e(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 dz(e,t={}){let s=-1;for(let u=e.length-22;u>=0&&u>e.length-65557;u--)if(Uu(e,u)===101010256){s=u;break}if(s<0)throw new Error("无效的 zip:找不到 EOCD");const i=ac(e,s+10);if(t.maxEntries!==void 0&&i>t.maxEntries)throw new Error(`zip 文件数不能超过 ${t.maxEntries} 个`);let r=Uu(e,s+16);const a=new TextDecoder("utf-8"),l=[];let c=0;for(let u=0;ut.maxUncompressedBytes)throw new Error("zip 解压后的内容过大");const x=ac(e,v+26),E=ac(e,v+28),w=v+30+x+E,T=e.subarray(w,w+f);let S;if(d===0)S=T;else if(d===8)S=await f2e(T);else{r+=46+m+p+g;continue}l.push({name:y,text:a.decode(S)}),r+=46+m+p+g}return l}const h2e="/skillhub/v1/skills";async function m2e(e,t="public"){const n=e.trim(),s=`${h2e}?query=${encodeURIComponent(n)}&namespace=${encodeURIComponent(t)}`,i=await fetch(s,{headers:{accept:"application/json"},signal:Ln(void 0,jf)});if(!i.ok)throw new Error(`搜索失败 (${i.status})`);return((await i.json()).Skills??[]).map(a=>{var l;return{source:"skillhub",id:a.Id??a.Slug??"",slug:a.Slug??"",name:a.Name??a.Slug??"",description:((l=a.Metadata)==null?void 0:l.DisplayDescription)||a.Description||"",namespace:a.Namespace??t,sourceRepo:a.SourceRepo,downloadCount:a.DownloadCount}})}function p2e({selected:e,onChange:t}){const[n,s]=b.useState(""),[i,r]=b.useState([]),[a,l]=b.useState(!1),[c,u]=b.useState(null),[d,f]=b.useState(!1),h=g=>e.some(v=>v.source==="skillhub"&&v.slug===g),m=g=>{g.slug&&(h(g.slug)?t(e.filter(v=>!(v.source==="skillhub"&&v.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}]))},p=async g=>{l(!0),u(null),f(!0);try{const v=await m2e(g);r(v)}catch(v){u(v instanceof Error?v.message:"搜索失败,请稍后重试。"),r([])}finally{l(!1)}};return b.useEffect(()=>{const g=n.trim();if(!g){r([]),f(!1),u(null);return}const v=setTimeout(()=>p(g),300);return()=>clearTimeout(v)},[n]),o.jsxs("div",{className:"cw-skillhub",children:[o.jsxs("div",{className:"cw-skill-searchrow",children:[o.jsxs("div",{className:"cw-skill-searchbox",children:[o.jsx(gy,{className:"cw-i cw-skill-searchicon","aria-hidden":!0}),o.jsx("input",{className:"cw-input cw-skill-input",value:n,placeholder:"搜索火山 Find Skill 技能广场,例如 数据分析、PDF…",onChange:g=>s(g.target.value),onKeyDown:g=>{g.key==="Enter"&&(g.preventDefault(),n.trim()&&p(n))}})]}),o.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft",onClick:()=>n.trim()&&p(n),disabled:!n.trim()||a,children:[a?o.jsx(gn,{className:"cw-i cw-spin"}):o.jsx(gy,{className:"cw-i"}),"搜索"]})]}),c&&o.jsxs("div",{className:"cw-banner",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:c})]}),a&&i.length===0?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(gn,{className:"cw-i cw-spin"})," 正在搜索…"]}):i.length>0?o.jsx("div",{className:"cw-skill-results",children:i.map(g=>{const v=h(g.slug||"");return o.jsxs("button",{type:"button",className:`cw-skill-result ${v?"is-on":""}`,onClick:()=>m(g),"aria-pressed":v,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:v?o.jsx(Ya,{className:"cw-i cw-i-sm"}):o.jsx(vi,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsx("span",{className:"cw-skill-result-name",children:g.name}),g.description&&o.jsx("span",{className:"cw-skill-result-desc",children:Kl(g.description)}),g.sourceRepo&&o.jsx("span",{className:"cw-skill-result-repo",children:g.sourceRepo})]})]},g.id||g.slug)})}):d&&!c?o.jsx("p",{className:"cw-empty-line",children:"没有找到匹配的技能,换个关键词试试。"}):!d&&o.jsx("p",{className:"cw-empty-line",children:"输入关键词搜索火山 Find Skill 技能广场,所选技能会在生成项目时下载到 skills/ 目录。"})]})}const tT=/(^|\/)skill\.md$/i;function g2e(e){const t=(e??"").replace(/\r\n?/g,` `).split(` -`);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let i=1;i=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function a2e(...e){var t;for(const n of e){const s=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(s)return s.slice(0,64)}return"local-skill"}function o2e(e,t){return t.trim()||e}function iz(e){const t=e.map(s=>({path:s.path.replace(/\\/g,"/").replace(/^\.\//,""),text:s.text})).filter(s=>s.path.length>0&&!s.path.endsWith("/")),n=new Set(t.map(s=>s.path.split("/")[0]));if(n.size===1&&t.every(s=>s.path.includes("/"))){const s=[...n][0]+"/";return t.map(i=>({path:i.path.slice(s.length),text:i.text}))}return t}function l2e(e){const t=new Map,n=new Set;for(const s of e)if(Z_.test("/"+s.path)){const i=s.path.split("/");n.add(i.slice(0,-1).join("/"))}for(const s of e){const i=s.path.split("/");let r="";for(let u=i.length-1;u>=0;u--){const d=i.slice(0,u).join("/");if(n.has(d)){r=d;break}}const a=Z_.test("/"+s.path);if(!r&&!a&&!n.has("")||!n.has(r)&&!a)continue;const l=r?s.path.slice(r.length+1):s.path,c=t.get(r)||[];c.push({path:l,text:s.text}),t.set(r,c)}return t}function c2e(e,t,n){const s=`${n}${e?"/"+e:""}`,i=t.find(c=>Z_.test("/"+c.path));if(!i)return{hit:null,error:`${s} 缺少 SKILL.md`};const r=i2e(i.text),a=a2e(r.name,e,n.replace(/\.[^.]+$/,"")),l=[];for(const c of t){if(c.path.split("/").some(f=>f===".."))return{hit:null,error:`${s} 包含非法路径(..):${c.path}`};const d=`skills/${a}/${c.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${s} 包含非法路径:${c.path}`};l.push({path:d,content:c.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:o2e(a,r.name),description:r.description||"本地 Skill",folder:a,localFiles:l},error:null}}async function u2e(e){const t=new Uint8Array(await e.arrayBuffer()),s=(await sz(t)).map(i=>({path:i.name,text:i.text}));return rz(iz(s),e.name)}async function d2e(e,t=new Map){const n=[];for(let s=0;se.file(t,n))}async function h2e(e){const t=e.createReader(),n=[];for(;;){const s=await new Promise((i,r)=>t.readEntries(i,r));if(s.length===0)return n;n.push(...s)}}async function az(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await f2e(e),path:n}];if(!e.isDirectory)return[];const s=await h2e(e);return(await Promise.all(s.map(i=>az(i,n)))).flat()}function m2e({selected:e,onChange:t}){const[n,s]=b.useState([]),[i,r]=b.useState([]),[a,l]=b.useState(!1),[c,u]=b.useState(!1),d=b.useRef(0),f=E=>e.some(w=>w.source==="local"&&w.folder===E),h=E=>{E.localFiles&&(f(E.folder||E.name)?t(e.filter(w=>!(w.source==="local"&&w.folder===(E.folder||E.name)))):t([...e,{source:"local",folder:E.folder||E.name,name:E.name,description:E.description,localFiles:E.localFiles}]))},m=b.useRef([]),p=b.useRef(e);b.useEffect(()=>{m.current=i},[i]),b.useEffect(()=>{p.current=e},[e]);const g=E=>{const w=new Set([...m.current.map(A=>A.folder||A.name),...p.current.filter(A=>A.source==="local").map(A=>A.folder)]),T=[],S=[];for(const A of E.hits){const C=A.folder||A.name;if(w.has(C)){T.push(A.name);continue}w.add(C),S.push(A)}r(A=>[...A,...S]);const k=[...E.errors];if(T.length>0&&k.push(`已跳过重复技能:${T.join("、")}`),s(k),S.length===1&&E.errors.length===0&&T.length===0){const A=S[0];A.localFiles&&t([...p.current,{source:"local",folder:A.folder||A.name,name:A.name,description:A.description,localFiles:A.localFiles}])}},v=E=>{E.preventDefault(),d.current+=1,u(!0)},y=E=>{E.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},x=async E=>{if(E.preventDefault(),d.current=0,u(!1),a)return;const w=Array.from(E.dataTransfer.items).map(T=>{var S;return(S=T.webkitGetAsEntry)==null?void 0:S.call(T)}).filter(T=>T!==null);if(w.length===0){s(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}l(!0);try{const T=(await Promise.all(w.map(A=>az(A)))).flat(),S=w.some(A=>A.isDirectory);if(!S&&T.length===1&&T[0].file.name.toLowerCase().endsWith(".zip")){g(await u2e(T[0].file));return}if(!S){s(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const k=new Map(T.map(({file:A,path:C})=>[A,C]));g(await d2e(T.map(({file:A})=>A),k))}catch(T){s([`读取失败:${T instanceof Error?T.message:String(T)}`])}finally{l(!1)}};return o.jsxs("div",{className:"cw-local",children:[o.jsxs("div",{className:`cw-local-dropzone ${c?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:v,onDragOver:E=>E.preventDefault(),onDragLeave:y,onDrop:E=>void x(E),children:[o.jsx(QN,{className:"cw-local-drop-icon","aria-hidden":!0}),o.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),o.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&o.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&o.jsxs("div",{className:"cw-banner",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:n.join(";")})]}),i.length>0&&o.jsx("div",{className:"cw-skill-results",children:i.map(E=>{var T;const w=f(E.folder||E.name);return o.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>h(E),"aria-pressed":w,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?o.jsx(Ya,{className:"cw-i cw-i-sm"}):o.jsx(bi,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsx("span",{className:"cw-skill-result-name",children:E.name}),E.description&&o.jsx("span",{className:"cw-skill-result-desc",children:Kl(E.description)}),o.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((T=E.localFiles)==null?void 0:T.length)??0," 个文件"]})]})]},E.id)})})]})}function p2e(e){return e==="cn-beijing"?"北京":e==="cn-shanghai"?"上海":e}function g2e({selected:e,onChange:t}){const[n,s]=b.useState([]),[i,r]=b.useState([]),[a,l]=b.useState(""),[c,u]=b.useState(!0),[d,f]=b.useState(!1),[h,m]=b.useState(null);b.useEffect(()=>{let y=!1;return(async()=>{u(!0),m(null);try{const x=await U9();y||(s(x),x.length>0&&l(x[0].id))}catch(x){y||m(x instanceof Error?x.message:"加载失败")}finally{y||u(!1)}})(),()=>{y=!0}},[]),b.useEffect(()=>{if(!a){r([]);return}const y=n.find(E=>E.id===a);let x=!1;return(async()=>{f(!0),m(null);try{const E=await F9(a,y==null?void 0:y.region);x||r(E)}catch(E){x||m(E instanceof Error?E.message:"加载失败")}finally{x||f(!1)}})(),()=>{x=!0}},[a,n]);const p=n.find(y=>y.id===a),g=(y,x)=>e.some(E=>E.source==="skillspace"&&E.skillId===y&&(E.version||"")===x),v=y=>{if(p)if(g(y.skillId,y.version))t(e.filter(x=>!(x.source==="skillspace"&&x.skillId===y.skillId&&(x.version||"")===y.version)));else{const x=Hue(p,y);t([...e,{source:"skillspace",folder:x.folder||y.skillName,name:x.name,description:x.description,skillSpaceId:x.skillSpaceId,skillSpaceName:x.skillSpaceName,skillSpaceRegion:x.skillSpaceRegion,skillId:x.skillId,version:x.version}])}};return o.jsx("div",{className:"cw-skillspace",children:c?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(wn,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):h?o.jsxs("div",{className:"cw-banner",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:h})]}):n.length===0?o.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-skillspace-header",children:[o.jsx("select",{className:"cw-input cw-skillspace-select",value:a,onChange:y=>l(y.target.value),"aria-label":"选择 AgentKit Skills 中心",children:n.map(y=>o.jsxs("option",{value:y.id,children:[y.name||y.id,y.description?` — ${Kl(y.description)}`:""]},y.id))}),p&&o.jsxs(o.Fragment,{children:[p.region&&o.jsx("span",{className:"cw-skillspace-region-label",title:p.region,children:p2e(p.region)}),o.jsx("a",{href:zue(p.id,p.region),target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:o.jsx(WN,{className:"cw-i cw-i-sm"})})]})]}),d?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(wn,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):i.length===0?o.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):o.jsx("div",{className:"cw-skill-results",children:i.map(y=>{const x=g(y.skillId,y.version);return o.jsxs("button",{type:"button",className:`cw-skill-result ${x?"is-on":""}`,onClick:()=>v(y),"aria-pressed":x,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:x?o.jsx(Ya,{className:"cw-i cw-i-sm"}):o.jsx(bi,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsxs("span",{className:"cw-skill-result-name",children:[y.skillName,y.version&&o.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",y.version]})]}),y.skillDescription&&o.jsx("span",{className:"cw-skill-result-desc",children:Kl(y.skillDescription)}),o.jsxs("span",{className:"cw-skill-result-repo",children:[o.jsx(MZ,{className:"cw-i cw-i-sm"})," ",(p==null?void 0:p.name)||a]})]})]},`${y.skillId}/${y.version}`)})})]})})}async function b2e(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Dn(void 0,Of)});if(t.status===409)throw new Error("服务端未配置 Volcengine 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 y2e(e={}){const t=new URLSearchParams({region:e.region||"cn-beijing",page_size:String(e.pageSize??100),project:e.project||"default"});return(await b2e(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function x2e(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Dn(void 0,Of)});if(t.status===409)throw new Error("服务端未配置 Volcengine 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 E2e(e={}){const t=new URLSearchParams({region:e.region||"cn-beijing",project:e.project||"default"});return(await x2e(`/web/viking-knowledgebases?${t.toString()}`)).items||[]}const QL=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function cw(e){let t=0;for(let n=0;n>>0;return QL[t%QL.length]}function v2e(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,s=[];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):s.push(u);const i=(u,d)=>u.start_time-d.start_time,r=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(i).map(f=>r(f,d+1))}),a=s.sort(i).map(u=>r(u,0)),l=e.length?Math.min(...e.map(u=>u.start_time)):0,c=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:l,total:c-l||1}}function w2e(e,t){const n=[],s=i=>{n.push(i),t.has(i.span.span_id)||i.children.forEach(s)};return e.forEach(s),n}function ZL(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const S2e=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function JL(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const s=String(n);return{key:S2e(t),value:s,long:s.length>80||s.includes(` -`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function oz({appName:e,testRunId:t,sessionId:n,onClose:s,title:i="调用链路观测"}){const[r,a]=b.useState(null),[l,c]=b.useState(""),[u,d]=b.useState(new Set),[f,h]=b.useState(null);b.useEffect(()=>{a(null),c("");let w;if(t)w=dB(t,n);else if(e)w=zP(e,n);else{c("缺少调用链路来源");return}w.then(T=>{a(T),h(T.length?T.reduce((S,k)=>S.start_time<=k.start_time?S:k).span_id:null)}).catch(T=>c(String(T)))},[e,n,t]);const{rootNodes:m,min:p,total:g}=b.useMemo(()=>v2e(r??[]),[r]),v=b.useMemo(()=>w2e(m,u),[m,u]),y=(r==null?void 0:r.find(w=>w.span_id===f))??null,x=g/1e6,E=w=>d(T=>{const S=new Set(T);return S.has(w)?S.delete(w):S.add(w),S});return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"drawer-scrim",onClick:s}),o.jsxs("aside",{className:"drawer drawer--trace",children:[o.jsxs("header",{className:"drawer-head",children:[o.jsxs("div",{children:[o.jsx("div",{className:"drawer-title",children:i}),o.jsx("div",{className:"drawer-sub",children:r?`${r.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),o.jsx("button",{className:"drawer-close",onClick:s,"aria-label":"关闭",children:o.jsx(Ei,{className:"icon"})})]}),r==null&&!l&&o.jsxs("div",{className:"drawer-loading",children:[o.jsx(wn,{className:"icon spin"})," 加载调用链路…"]}),l&&o.jsx("div",{className:"error",children:l}),r&&r.length===0&&o.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),v.length>0&&o.jsxs("div",{className:"trace-split",children:[o.jsx("div",{className:"trace-tree scroll",children:v.map(w=>{const T=w.span,S=(T.start_time-p)/g*100,k=Math.max((T.end_time-T.start_time)/g*100,.6),A=w.children.length>0;return o.jsxs("button",{className:`trace-row ${f===T.span_id?"active":""}`,onClick:()=>h(T.span_id),children:[o.jsxs("span",{className:"trace-label",style:{paddingLeft:w.depth*14},children:[o.jsx("span",{className:`trace-caret ${A?"":"hidden"} ${u.has(T.span_id)?"":"open"}`,onClick:C=>{C.stopPropagation(),A&&E(T.span_id)},children:o.jsx(zl,{className:"chev"})}),o.jsx("span",{className:"trace-dot",style:{background:cw(T.name)}}),o.jsx("span",{className:"trace-name",title:T.name,children:T.name})]}),o.jsx("span",{className:"trace-dur",children:ZL(T.end_time-T.start_time)}),o.jsx("span",{className:"trace-track",children:o.jsx("span",{className:"trace-bar",style:{left:`${S}%`,width:`${k}%`,background:cw(T.name)}})})]},T.span_id)})}),o.jsx("div",{className:"trace-detail scroll",children:y?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"td-title",children:y.name}),o.jsxs("div",{className:"td-dur",children:[o.jsx("span",{className:"td-dot",style:{background:cw(y.name)}}),ZL(y.end_time-y.start_time)]}),o.jsx("div",{className:"td-section",children:"属性"}),o.jsx("div",{className:"td-props",children:JL(y).filter(w=>!w.long).map(w=>o.jsxs("div",{className:"td-prop",children:[o.jsx("span",{className:"td-key",children:w.key}),o.jsx("span",{className:"td-val",children:w.value})]},w.key))}),JL(y).filter(w=>w.long).map(w=>o.jsxs("div",{className:"td-block",children:[o.jsx("div",{className:"td-section",children:w.key}),o.jsx("pre",{className:"td-pre",children:w.value})]},w.key))]}):o.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const _2e=b.lazy(()=>Bd(()=>import("./MarkdownPromptEditor-2EDV3NbW.js"),__vite__mapDeps([0,1]))),J_="veadk.generatedAgentTestRuns",e3=4;function q2(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(J_)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function lz(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(J_,JSON.stringify(t)):window.sessionStorage.removeItem(J_)}catch{}}function T2e(e){lz([...q2(),e])}function Dh(e){lz(q2().filter(t=>t!==e))}function N2e(e,t,n="text/plain"){const s=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),i=document.createElement("a");i.href=s,i.download=e,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(s)}const k2e=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:mJ,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:au,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:DZ},{id:"tools",label:"工具",hint:"可调用的能力",icon:xP},{id:"skills",label:"技能",hint:"声明式技能",icon:zc},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:ob},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:gP},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:CZ},{id:"review",label:"完成",hint:"预览并创建",icon:dJ}];function A2e({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.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"}),o.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),o.jsx("path",{d:"M3 10v4",opacity:"0.45"}),o.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function t3({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M4.75 7.25h14.5"}),o.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),o.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),o.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function cz({className:e}){return o.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("path",{d:"m7 9 5 5 5-5"})})}function uz({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),o.jsx("path",{d:"M4.5 4.75v3.5H8"}),o.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),o.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const C2e={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},n3={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},dz="REGISTRY_SPACE_ID",I2e=P9.filter(e=>e.key!==dz);function fz(e,t){var s,i,r;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((s=e.registryTopK)==null?void 0:s.trim())||ba.topK,n.REGISTRY_REGION=((i=e.registryRegion)==null?void 0:i.trim())||ba.region,n.REGISTRY_ENDPOINT=((r=e.registryEndpoint)==null?void 0:r.trim())||ba.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function R2e({items:e,selected:t,onToggle:n,scrollRows:s}){return o.jsx("div",{className:`cw-checklist ${s?"cw-checklist-tools":""}`,style:s?{"--cw-checklist-max-height":`${s*40+(s-1)*8}px`}:void 0,children:e.map(i=>{const r=t.includes(i.id);return o.jsx(ZH,{id:`cw-check-${i.id}`,className:`cw-check ${r?"is-on":""}`,checked:r,onCheckedChange:a=>{a!==r&&n(i.id)},label:o.jsx("span",{className:"cw-check-text",children:o.jsx("span",{className:"cw-check-title",children:i.label})})},i.id)})})}function uw({options:e,value:t,onChange:n}){return o.jsx("div",{className:"cw-segmented",children:e.map(s=>{var r;const i=(t??((r=e[0])==null?void 0:r.id))===s.id;return o.jsx("button",{type:"button",className:`cw-seg ${i?"is-on":""}`,onClick:()=>n(s.id),"aria-pressed":i,children:o.jsx("span",{className:"cw-seg-title",children:s.label})},s.id)})})}function O2e(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function Ph({env:e,values:t,onChange:n}){return e.length===0?o.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):o.jsx("div",{className:"cw-env-fields",children:e.map(s=>o.jsxs("label",{className:"cw-env-field",children:[o.jsxs("span",{className:"cw-env-field-head",children:[o.jsxs("span",{className:"cw-env-field-label",children:[s.comment||s.key,s.required&&o.jsx("span",{className:"cw-req",children:"*"})]}),s.comment&&o.jsx("code",{title:s.key,children:s.key})]}),o.jsx("input",{className:"cw-input",type:O2e(s.key)?"password":"text",value:t[s.key]??"",placeholder:s.placeholder||"请输入参数值",autoComplete:"off",onChange:i=>n(s.key,i.currentTarget.value)})]},s.key))})}function dw(e){return e.name.trim()||"未命名智能体中心"}function fw(e){return e.name.trim()||e.id||"未命名知识库"}function j2e({value:e,region:t,invalid:n,onChange:s}){const i=t.trim()||ba.region,[r,a]=b.useState([]),[l,c]=b.useState(!1),[u,d]=b.useState(null),[f,h]=b.useState(0),[m,p]=b.useState(!1),[g,v]=b.useState(""),y=b.useRef(null);b.useEffect(()=>{let C=!1;return c(!0),d(null),y2e({region:i}).then(R=>{C||a(R)}).catch(R=>{C||(a([]),d(R instanceof Error?R.message:"加载失败"))}).finally(()=>{C||c(!1)}),()=>{C=!0}},[i,f]);const x=!e||r.some(C=>C.id===e.trim()),E=r.find(C=>C.id===e.trim()),w=E?dw(E):e&&!x?"已选择的智能体中心":"请选择智能体中心",T=l&&r.length===0,S=b.useMemo(()=>r.filter(C=>Wy(g,[dw(C),C.id,C.projectName])),[g,r]),k=!!(e&&!x&&Wy(g,["已选择的智能体中心",e]));b.useEffect(()=>{if(!m)return;const C=M=>{const L=M.target;L instanceof Node&&y.current&&!y.current.contains(L)&&p(!1)},R=M=>{M.key==="Escape"&&p(!1)};return window.addEventListener("pointerdown",C),window.addEventListener("keydown",R),()=>{window.removeEventListener("pointerdown",C),window.removeEventListener("keydown",R)}},[m]);const A=C=>{s(C),p(!1)};return o.jsxs("div",{className:"cw-a2a-space-picker",ref:y,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:T,"aria-haspopup":"listbox","aria-expanded":m,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{v(""),p(C=>!C)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:w}),o.jsx(cz,{className:"cw-a2a-space-trigger-icon"})]}),m&&o.jsxs("div",{className:"cw-a2a-space-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:C=>v(C.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[k&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>A(e),children:"已选择的智能体中心"}),S.map(C=>{const R=dw(C),M=C.id===e;return o.jsx("button",{type:"button",role:"option","aria-selected":M,className:`cw-a2a-space-option ${M?"is-selected":""}`,title:`${R} (${C.id})`,onClick:()=>A(C.id),children:R},C.id)}),!k&&S.length===0&&o.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:l,onClick:()=>h(C=>C+1),children:l?o.jsx(wn,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(uz,{className:"cw-i cw-i-sm"})})]}),u?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:u})]}):l?o.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[o.jsx(wn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):r.length===0?o.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",r.length," 个智能体中心,列表仅展示中心名称。"]})]})}function M2e({value:e,onChange:t}){const[n,s]=b.useState([]),[i,r]=b.useState(!1),[a,l]=b.useState(null),[c,u]=b.useState(0),[d,f]=b.useState(!1),[h,m]=b.useState(""),p=b.useRef(null);b.useEffect(()=>{let S=!1;return r(!0),l(null),E2e().then(k=>{S||s(k)}).catch(k=>{S||(s([]),l(k instanceof Error?k.message:"加载失败"))}).finally(()=>{S||r(!1)}),()=>{S=!0}},[c]);const g=!e||n.some(S=>S.id===e.trim()),v=n.find(S=>S.id===e.trim()),y=v?fw(v):e&&!g?e:"请选择 VikingDB 知识库",x=i&&n.length===0,E=b.useMemo(()=>n.filter(S=>Wy(h,[fw(S),S.id,S.description,S.projectName])),[n,h]),w=!!(e&&!g&&Wy(h,[e]));b.useEffect(()=>{if(!d)return;const S=A=>{const C=A.target;C instanceof Node&&p.current&&!p.current.contains(C)&&f(!1)},k=A=>{A.key==="Escape"&&f(!1)};return window.addEventListener("pointerdown",S),window.addEventListener("keydown",k),()=>{window.removeEventListener("pointerdown",S),window.removeEventListener("keydown",k)}},[d]);const T=S=>{t(S),f(!1)};return i&&n.length===0?o.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[o.jsx(wn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):o.jsxs("div",{className:"cw-a2a-space-picker cw-viking-kb-picker",ref:p,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:x,"aria-haspopup":"listbox","aria-expanded":d,"aria-label":"选择 VikingDB 知识库",onClick:()=>{m(""),f(S=>!S)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:y}),o.jsx(cz,{className:"cw-a2a-space-trigger-icon"})]}),d&&o.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:h,autoFocus:!0,autoComplete:"off","aria-label":"搜索 VikingDB 知识库",placeholder:"搜索名称或 ID",onChange:S=>m(S.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"VikingDB 知识库",children:[w&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>T(e),children:e}),E.map(S=>{const k=fw(S),A=S.id===e;return o.jsx("button",{type:"button",role:"option","aria-selected":A,className:`cw-a2a-space-option ${A?"is-selected":""}`,title:`${k} (${S.id})`,onClick:()=>T(S.id),children:k},S.id)}),!w&&E.length===0&&o.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的知识库"})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:"刷新知识库列表","aria-label":"刷新知识库列表",disabled:i,onClick:()=>u(S=>S+1),children:i?o.jsx(wn,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(uz,{className:"cw-i cw-i-sm"})})]}),a?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:a})]}):n.length===0?o.jsx("span",{className:"cw-help",children:"此账号下暂无 VikingDB 知识库。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",n.length," 个知识库,选择的知识库会用于当前 Agent。"]})]})}function L2e({tools:e,onChange:t}){const n=(r,a)=>t(e.map((l,c)=>c===r?{...l,...a}:l)),s=r=>t(e.filter((a,l)=>l!==r)),i=()=>t([...e,{name:"",transport:"http",url:""}]);return o.jsxs("div",{className:"cw-mcp",children:[e.length>0&&o.jsx("div",{className:"cw-mcp-list",children:o.jsx(Eo,{initial:!1,children:e.map((r,a)=>o.jsxs(es.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:[o.jsxs("div",{className:"cw-mcp-rowhead",children:[o.jsxs("div",{className:"cw-mcp-transport",children:[o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${r.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":r.transport==="http",children:o.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${r.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":r.transport==="stdio",children:o.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>s(a),"aria-label":"移除 MCP 工具",children:o.jsx(Po,{className:"cw-i cw-i-sm"})})]}),o.jsx("input",{className:"cw-input",value:r.name,placeholder:"名称(用于命名,可留空)",onChange:l=>n(a,{name:l.target.value})}),r.transport==="http"?o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:r.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:l=>n(a,{url:l.target.value})}),o.jsx("input",{className:"cw-input",value:r.authToken??"",placeholder:"Bearer Token(可选)",onChange:l=>n(a,{authToken:l.target.value})})]}):o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:r.command??"",placeholder:"启动命令,例如 npx",onChange:l=>n(a,{command:l.target.value})}),o.jsx("input",{className:"cw-input",value:(r.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:l=>n(a,{args:l.target.value.split(/\s+/).filter(Boolean)})}),o.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),o.jsxs("button",{type:"button",className:"cw-add-sub",onClick:i,children:[o.jsx(bi,{className:"cw-i"}),"添加 MCP 工具"]}),e.length===0&&o.jsx("p",{className:"cw-empty-line",children:"暂无 MCP 工具,点击「添加 MCP 工具」连接外部 MCP 服务。"})]})}function hz({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.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"}),o.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),o.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"}),o.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function D2e({s:e,onRemove:t}){let n=zc,s="火山 Find Skill 技能广场";return e.source==="local"?(n=QN,s="本地"):e.source==="skillspace"&&(n=hz,s="AgentKit Skills 中心"),o.jsxs(es.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:[o.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:o.jsx(n,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-selected-skill-meta",children:[o.jsx("span",{className:"cw-selected-skill-name",children:e.name}),o.jsxs("span",{className:"cw-selected-skill-detail",children:[s,e.description?` · ${Kl(e.description)}`:""]})]}),o.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:o.jsx(Ei,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const hw=[{id:"local",label:"本地文件",icon:QN},{id:"skillspace",label:"AgentKit Skills 中心",icon:hz},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:C1}];function P2e({selected:e,onChange:t}){const[n,s]=b.useState("local"),[i,r]=b.useState(!1),a=hw.findIndex(c=>c.id===n),l=c=>t(e.filter(u=>mw(u)!==c));return b.useEffect(()=>{if(!i)return;const c=u=>{u.key==="Escape"&&r(!1)};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[i]),o.jsxs("div",{className:"cw-skillspane",children:[o.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>r(!0),children:[o.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:o.jsx(bi,{className:"cw-i"})}),o.jsx("span",{children:"添加 Skill"})]}),e.length>0&&o.jsxs("div",{className:"cw-skill-selected",children:[o.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),o.jsx("div",{className:"cw-selected-skill-list",children:o.jsx(Eo,{initial:!1,children:e.map(c=>o.jsx(D2e,{s:c,onRemove:()=>l(mw(c))},mw(c)))})})]}),o.jsx(Eo,{children:i&&o.jsx(es.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:c=>{c.target===c.currentTarget&&r(!1)},children:o.jsxs(es.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:[o.jsxs("div",{className:"cw-skill-dialog-head",children:[o.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),o.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>r(!1),children:o.jsx(Ei,{className:"cw-i"})})]}),o.jsxs("div",{className:"cw-skill-dialog-body",children:[o.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${hw.length})`,"--cw-active-skill-tab-offset":`calc(${a*100}% + ${a*4}px)`},children:[o.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),hw.map(({id:c,label:u,icon:d})=>o.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${c}`,"aria-controls":"cw-skill-tabpanel","aria-selected":n===c,className:`cw-skill-pickertab ${n===c?"is-on":""}`,onClick:()=>s(c),children:[o.jsx(d,{className:"cw-i cw-i-sm"}),u]},c))]}),o.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${n}`,children:[n==="skillhub"&&o.jsx(s2e,{selected:e,onChange:t}),n==="local"&&o.jsx(m2e,{selected:e,onChange:t}),n==="skillspace"&&o.jsx(g2e,{selected:e,onChange:t})]})]})]})})})]})}function mw(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function B0({checked:e,onChange:t,title:n}){return o.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[o.jsx("span",{className:"cw-toggle-text",children:o.jsx("span",{className:"cw-toggle-title",children:n})}),o.jsx("span",{className:"cw-switch","aria-hidden":!0,children:o.jsx(es.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function B2e(e,t){var s;let n=e;for(const i of t)if(n=(s=n.subAgents)==null?void 0:s[i],!n)return!1;return!0}function U0(e,t){let n=e;for(const s of t)n=n.subAgents[s];return n}function bg(e,t,n){if(t.length===0)return n(e);const[s,...i]=t,r=e.subAgents.slice();return r[s]=bg(r[s],i,n),{...e,subAgents:r}}function U2e(e,t){return bg(e,t,n=>({...n,subAgents:[...n.subAgents,Ni()]}))}function F2e(e,t,n){return bg(e,t,s=>{const i=s.subAgents.slice();return i.splice(n,0,Ni()),{...s,subAgents:i}})}function $2e(e,t){if(t.length===0)return e;const n=t.slice(0,-1),s=t[t.length-1];return bg(e,n,i=>({...i,subAgents:i.subAgents.filter((r,a)=>a!==s)}))}const eT=e=>!Ox(e.agentType),s3=3;function H2e(e,t,n=!1){var i;if(Ox(e.agentType))return n?"远程 Agent 只能作为子 Agent":(i=e.a2aRegistry)!=null&&i.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const s=Ud(e.name);return s||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":nz(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function mz(e,t,n=[]){const s=[],i=Ox(e.agentType),r=H2e(e,t,n.length===0);return r&&s.push({path:n,name:i?"远程 Agent":e.name.trim()||"未命名",typeLabel:tz(e.agentType).label,problem:r}),eT(e)&&e.subAgents.forEach((a,l)=>s.push(...mz(a,t,[...n,l]))),s}function z2e(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function pz(e){return 1+e.subAgents.reduce((t,n)=>t+pz(n),0)}function gz(e){const t=[],n={},s=r=>{var a,l,c,u;for(const d of r.builtinTools??[]){const f=lu.find(h=>h.id===d);f&&t.push({env:f.env})}if((a=r.a2aRegistry)!=null&&a.enabled&&(t.push({env:P9}),Object.assign(n,fz(r.a2aRegistry,{includeDefaults:!0}))),r.memory.shortTerm&&t.push({env:((l=d_.find(d=>d.id===(r.shortTermBackend??"local")))==null?void 0:l.env)??[]}),r.memory.longTerm&&t.push({env:((c=f_.find(d=>d.id===(r.longTermBackend??"local")))==null?void 0:c.env)??[]}),r.knowledgebase&&t.push({env:((u=h_.find(d=>d.id===(r.knowledgebaseBackend??Wc)))==null?void 0:u.env)??[]}),r.tracing)for(const d of r.tracingExporters??[]){const f=Lue.find(h=>h.id===d);f&&t.push({env:f.env,enableFlag:f.enableFlag})}r.subAgents.forEach(s)};s(e);const i=tH(t);return{specs:i.specs,fixedValues:{...i.fixedValues,...n}}}function bz(e){var t;return{...e,deployment:{feishuEnabled:!!((t=e.deployment)!=null&&t.feishuEnabled)}}}function tT(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const s of e.subAgents){const i=tT(s);if(i)return i}return""}function yz(e){var s,i;const t=gz(e),n={...((s=e.deployment)==null?void 0:s.envValues)??{},...t.fixedValues};return{...bz(e),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),envValues:Object.fromEntries(nH(t.specs,n).map(({key:r,value:a})=>[r,a]))}}}function V2e(e){return JSON.stringify(yz(e))}function Xy(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction,optimizations:t.optimizations})}function wd(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim(),optimizations:e.optimizations})}function G2e({enabled:e,disabledReason:t,variants:n,draftSnapshot:s,input:i,onInput:r,onSend:a,onStartVariant:l,onDeployVariant:c,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:m,onOpenTrace:p}){const g=n.filter(x=>x.phase!=="ready"?!1:x.runtimeSnapshot===Xy(s,x)),v=n.some(x=>x.phase==="sending"),y=g.length>0&&!v;return o.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[o.jsx("div",{className:"cw-ab-stage",children:e?o.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((x,E)=>{const w=x.modelName.trim(),T=x.description.trim(),S=x.instruction.trim(),k=wd(x),A=!!(w&&T&&S&&n.findIndex(P=>wd(P)===k)!==E),C=!w||!T||!S||A,R=!!(x.runtimeSnapshot&&x.runtimeSnapshot!==Xy(s,x)),M=x.phase==="starting",L=x.phase==="ready"&&!R,G=M||x.phase==="sending",D=L&&x.phase!=="sending"&&x.messages.some(P=>P.role==="assistant"),F=G||x.configOpen||C,N=w?T?S?A?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",O=M?"正在启动":R?"应用配置并重启":L||x.phase==="error"?"重新启动环境":"启动环境";return o.jsx("article",{className:"cw-ab-card",children:o.jsxs("div",{className:`cw-ab-card-inner${x.configOpen?" is-flipped":""}`,children:[o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":x.configOpen,children:[o.jsxs("header",{className:"cw-ab-card-head",children:[o.jsxs("div",{className:"cw-ab-card-title",children:[o.jsx("strong",{children:x.name}),o.jsx("span",{children:x.modelName||"默认模型"})]}),o.jsxs("div",{className:"cw-ab-card-actions",children:[o.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:x.configOpen||G,onClick:()=>f(x.id),children:"测试配置"}),x.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${x.name}`,disabled:x.configOpen||G,onClick:()=>d(x.id),children:o.jsx(t3,{className:"cw-i"})})]})]}),o.jsx("div",{className:"cw-ab-conversation",children:x.error?o.jsx(Yy,{message:x.error,className:"cw-debug-error-detail",defaultExpanded:!0}):M?o.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[o.jsx(wn,{className:"cw-i cw-spin"}),o.jsx("span",{children:"正在创建独立测试环境"})]}):R?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:o.jsx("span",{children:"配置已变更,请重新启动此环境"})}):x.messages.length===0?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:L?o.jsxs(o.Fragment,{children:[o.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),o.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):o.jsx("span",{className:"cw-ab-launch-hint",children:N||"启动环境后即可加入本轮测试"})}):x.messages.map((P,$)=>o.jsx("div",{className:`cw-debug-msg cw-debug-msg-${P.role}`,children:o.jsx("div",{className:"cw-debug-content",children:P.role==="user"?P.content:P.error?o.jsx(Yy,{message:P.error,className:"cw-debug-msg-error",defaultExpanded:!0}):P.blocks&&P.blocks.length>0?o.jsx(y2,{blocks:P.blocks,onAction:()=>{}}):P.content?P.content:$===x.messages.length-1&&x.phase==="sending"?o.jsx(t$,{}):null})},$))}),o.jsxs("footer",{className:"cw-ab-deploy-footer",children:[o.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!D,title:D?`查看${x.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>p(x.id),children:"调用链路"}),o.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:F,title:N||void 0,onClick:()=>l(x.id),children:[L||R||x.phase==="error"?o.jsx(uJ,{className:"cw-i"}):o.jsx(A2e,{className:"cw-i cw-debug-run-icon"}),O]}),o.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:G||!w,onClick:()=>c(x.id),children:"部署该配置"})]})]}),o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!x.configOpen,children:[o.jsxs("header",{className:"cw-ab-config-head",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"测试配置"}),o.jsx("span",{children:x.name})]}),o.jsxs("div",{className:"cw-ab-config-head-actions",children:[x.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${x.name}`,title:"删除配置组",disabled:G,onClick:()=>d(x.id),children:o.jsx(t3,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:`cw-ab-config-done-wrap${N?" is-disabled":""}`,tabIndex:N?0:void 0,children:[o.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!x.configOpen||C,onClick:()=>h(x.id),children:x.id==="baseline"?"完成配置":"完成并启动"}),N&&o.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:N})]})]})]}),o.jsxs("div",{className:"cw-ab-config",children:[o.jsxs("label",{children:[o.jsx("span",{children:"模型"}),o.jsx("input",{value:x.modelName,placeholder:"使用 Agent 当前模型",disabled:!x.configOpen,onChange:P=>m(x.id,"modelName",P.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"描述"}),o.jsx("textarea",{rows:2,value:x.description,disabled:!x.configOpen,onChange:P=>m(x.id,"description",P.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"系统提示词"}),o.jsx("textarea",{rows:5,value:x.instruction,disabled:!x.configOpen,onChange:P=>m(x.id,"instruction",P.target.value)})]}),o.jsxs("fieldset",{className:"cw-ab-optimizations-disabled",children:[o.jsxs("legend",{children:[o.jsx("span",{children:"优化选项"}),o.jsx("em",{children:"待开放"})]}),o.jsx("div",{className:"cw-ab-optimization-list",children:xz.map(P=>o.jsx(ZH,{checked:x.optimizations.includes(P.id),disabled:!0,label:P.label,className:"cw-ab-optimization-checkbox"},P.id))})]}),o.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},x.id)})}):o.jsx("div",{className:"cw-debug-empty",children:t})}),o.jsxs("div",{className:"cw-ab-composer",children:[o.jsxs("div",{className:"cw-debug-composerbox",children:[o.jsx("textarea",{className:"cw-debug-input",rows:1,value:i,placeholder:y?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!y,onChange:x=>r(x.target.value),onKeyDown:x=>{x2(x.nativeEvent)||x.key==="Enter"&&!x.shiftKey&&(x.preventDefault(),a())}}),o.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!y||!i.trim(),onClick:a,children:v?o.jsx(wn,{className:"cw-i cw-spin"}):o.jsx(dP,{className:"cw-i"})})]}),e&&n.length<3&&o.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[o.jsx(bi,{className:"cw-i"}),"添加对照组"]})]})]})}const F0=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"publish",label:"发布"}],xz=[{id:"context",label:"上下文优化",description:"压缩历史对话,保留与当前任务相关的信息"},{id:"grounding",label:"幻觉抑制",description:"对不确定内容要求依据,并明确表达未知"},{id:"tools",label:"工具调用优化",description:"减少重复调用,优先复用可信的工具结果"},{id:"latency",label:"响应加速",description:"缓存稳定上下文,降低重复推理开销"}];function K2e({mode:e}){const t=e==="validate"?"调试您的智能体":e==="publish"?"准备好部署您的智能体":"个性化您的智能体架构";return o.jsx("header",{className:"cw-workspace-header",children:o.jsx("h1",{children:t})})}function q2e({mode:e,busy:t,onChange:n,assistant:s}){const i=F0.findIndex(l=>l.id===e),r=F0[i-1],a=F0[i+1];return o.jsxs("footer",{className:"cw-workspace-footer",children:[o.jsxs("div",{className:`cw-workspace-nav-actions${s?" has-assistant":""}`,children:[o.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:!r||t,onClick:()=>r&&n(r.id),children:"上一步"}),o.jsx("span",{"aria-hidden":"true"}),s?o.jsx("div",{className:"cw-workspace-ai-slot",children:s}):null,e==="publish"?o.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):o.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!a||t,onClick:()=>a&&n(a.id),children:"下一步"})]}),o.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:F0.map((l,c)=>{const u=l.id===e;return o.jsx("button",{type:"button",className:`${u?"is-active":""}${cn(l.id),children:o.jsx("span",{"aria-hidden":"true"})},l.id)})})]})}function Y2e({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:s,features:i,onDeploymentTaskChange:r,deploymentTarget:a,initialDeployRegion:l="cn-beijing",onDeploymentComplete:c,onDeploymentStarted:u,onDraftChange:d,onDiscard:f}){var Tn,jn,Ft,Ls,Na,Ve,Hn,Rr,dr,vs,Li,Ko,Za,Ds;const[h,m]=b.useState(()=>s??Ni()),[p,g]=b.useState(""),[v,y]=b.useState(!1),[x,E]=b.useState(!1),[w,T]=b.useState(null),S=p.trim(),k=S.length>0&&S.length{L.current=d},[d]),b.useEffect(()=>{var ne;R!==C.current&&(C.current=R,(ne=L.current)==null||ne.call(L,h,M))},[h,M,R]);const[G,D]=b.useState("build"),[F,N]=b.useState(!1),[O,P]=b.useState(0),[$,I]=b.useState(null),[q,Q]=b.useState(!1),[B,ee]=b.useState((a==null?void 0:a.region)??l),z=(i==null?void 0:i.generatedAgentTestRun)===!0,K=(i==null?void 0:i.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[se,W]=b.useState(()=>[{id:"baseline",name:"基准组",modelName:tT(s??Ni()),description:(s??Ni()).description,instruction:(s??Ni()).instruction,optimizations:[],configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]),[de,ye]=b.useState("baseline"),we=b.useRef(1),ue=b.useRef(!1),he=b.useRef(new Map),[Re,pe]=b.useState(0),[oe,Te]=b.useState(""),[xe,Xe]=b.useState(null),[Me,ze]=b.useState(!1),[_e,Pe]=b.useState(!1),Fe=b.useRef(null),[Ke,X]=b.useState(""),[ae,te]=b.useState(!1),[ge,Ue]=b.useState(!1),[Ye,xt]=b.useState([]),at=b.useRef(null),fn=b.useRef({});async function vt(){const ne=new Set([...he.current.values()].map(({run:Ze})=>Ze.runId)),Se=q2().filter(Ze=>!ne.has(Ze));Se.length&&await Promise.all(Se.map(async Ze=>{try{await Vu(Ze),Dh(Ze)}catch(yt){console.warn("清理遗留调试运行失败",yt)}}))}b.useEffect(()=>(vt(),()=>{for(const{run:ne}of he.current.values())Vu(ne.runId).then(()=>Dh(ne.runId)).catch(Se=>console.warn("清理调试运行失败",Se));he.current.clear()}),[]),b.useEffect(()=>()=>{var ne;(ne=Fe.current)==null||ne.call(Fe,!1),Fe.current=null},[]);const it=b.useRef(null);it.current||(it.current=({meta:ne,children:Se})=>o.jsxs("section",{ref:Ze=>{fn.current[ne.id]=Ze},id:`cw-sec-${ne.id}`,"data-step-id":ne.id,className:"cw-section",children:[o.jsx("header",{className:"cw-sec-head",children:o.jsx("h2",{className:"cw-sec-title",children:ne.label})}),o.jsx("div",{className:"cw-sec-body",children:Se})]}));const Ht=B2e(h,Ye)?Ye:[],qe=U0(h,Ht),zt=Ht.length===0,st=`cw-model-advanced-${Ht.join("-")||"root"}`,St=`cw-a2a-registry-advanced-${Ht.join("-")||"root"}`,$e=ne=>m(Se=>bg(Se,Ht,Ze=>({...Ze,...ne}))),Tt=(ne,Se)=>m(Ze=>{var yt;return{...Ze,deployment:{...Ze.deployment??{feishuEnabled:!1},envValues:{...((yt=Ze.deployment)==null?void 0:yt.envValues)??{},[ne]:Se}}}}),Ee=ne=>$e({a2aRegistry:{...qe.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...ne}}),Qe=(ne,Se)=>{if(!(ne in n3))return;const Ze=n3[ne];Ee({[Ze]:Se}),Tt(ne,Se)},kt=ne=>{if(!(zt&&ne==="a2a")){if(ne==="a2a"){$e({agentType:ne,a2aRegistry:{...qe.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}$e({agentType:ne,a2aRegistry:qe.a2aRegistry?{...qe.a2aRegistry,enabled:!1}:void 0})}},nn=(ne,Se)=>{m(ne),Se&&xt(Se)},Kt=async()=>{const ne=p.trim();if(!(!ne||v)&&!(ne.length{const Se=U0(h,ne);if(!eT(Se)||ne.length>=s3)return;const Ze=U2e(h,ne),yt=U0(Ze,ne).subAgents.length-1;nn(Ze,[...ne,yt])},Vt=(ne,Se)=>{const Ze=U0(h,ne);if(!eT(Ze)||ne.length>=s3)return;const yt=Math.max(0,Math.min(Se,Ze.subAgents.length)),Wn=F2e(h,ne,yt);nn(Wn,[...ne,yt])},Qt=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(m(Ni()),xt([]),N(!1))},Rt=ne=>{if(ne.length===0){Qt();return}nn($2e(h,ne),ne.slice(0,-1))},Bt=qe.builtinTools??[],qn=qe.mcpTools??[],qs=qe.selectedSkills??[],Ys=ne=>$e({builtinTools:Bt.includes(ne)?Bt.filter(Se=>Se!==ne):[...Bt,ne]}),Un=nz(qe.agentType),Fn=Ox(qe.agentType),rn=b.useMemo(()=>ez(h),[h]),Sn=Fn?null:Ud(qe.name)??(rn.has(qe.name)?"Agent 名称在当前结构中必须唯一":null),hs=Sn!==null,js=!Fn&&qe.description.trim().length===0,vi=qe.instruction.trim().length===0,is=Fn&&!((Tn=qe.a2aRegistry)!=null&&Tn.registrySpaceId.trim()),ms=ne=>F&&ne?`is-error cw-error-shake-${O%2}`:"",Rn=b.useMemo(()=>mz(h,rn),[h,rn]),$n=Rn.length===0,un=b.useMemo(()=>V2e(h),[h]),me=se.find(ne=>ne.id===de)??se[0],De=b.useMemo(()=>gz(h),[h]),Ae=ne=>{var Se;(Se=fn.current[ne])==null||Se.scrollIntoView({behavior:"smooth",block:"start"})},Je=()=>$n?!0:(N(!0),P(ne=>ne+1),Rn[0]&&(xt(Rn[0].path),window.requestAnimationFrame(()=>Ae(Rn[0].problem==="缺少子 Agent"?"type":"basic"))),!1),ut=async()=>{Xe(null);const ne=[...he.current.values()];he.current.clear(),pe(0),W(Se=>Se.map(Ze=>({...Ze,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(ne.map(async({run:Se})=>{try{await Vu(Se.runId),Dh(Se.runId)}catch(Ze){console.warn("清理调试运行失败",Ze)}}))},pt=async ne=>{const Se=he.current.get(ne);if(Se){he.current.delete(ne),pe(he.current.size);try{await Vu(Se.run.runId),Dh(Se.run.runId)}catch(Ze){console.warn("清理调试运行失败",Ze)}}},Ot=ne=>{const Se=he.current.get(ne),Ze=se.find(yt=>yt.id===ne);!Se||!Ze||Xe({runId:Se.run.runId,sessionId:Se.sessionId,variantName:Ze.name})},jt=ne=>{const Se=Fe.current;Fe.current=null,Se==null||Se(ne)},bt=()=>{_e||(ze(!1),jt(!1))},_n=async()=>{if(!_e){Pe(!0);try{await ut(),ze(!1),jt(!0)}finally{Pe(!1)}}},Le=async()=>G!=="validate"||Re===0?!0:Fe.current?!1:new Promise(ne=>{Fe.current=ne,ze(!0)}),ot=async ne=>{if(await Le()){if(X(""),!Je()){D("build");return}Q(!0);try{const Se=ne?se.find(Wn=>Wn.id===ne):me;Se&&ye(Se.id);const Ze=Se?{...h,modelName:Se.modelName||h.modelName,description:Se.description,instruction:Se.instruction}:h,yt=await hk(bz(Ze));Ze!==h&&m(Ze),I(yt),D("publish")}catch(Se){X(Se instanceof Error?Se.message:String(Se))}finally{Q(!1)}}},dt=async ne=>{if(!z||q||!Je())return;const Se=se.find(Xn=>Xn.id===ne);if(!Se||Se.phase==="starting"||Se.phase==="sending")return;const Ze=Se.modelName.trim(),yt=Se.description.trim(),Wn=Se.instruction.trim(),rs=wd(Se),Ps=se.findIndex(Xn=>Xn.id===ne),Bs=se.findIndex(Xn=>wd(Xn)===rs);if(!Ze||!yt||!Wn||Bs!==Ps)return;const en=Xy(un,Se);W(Xn=>Xn.map(Ws=>Ws.id===ne?{...Ws,configOpen:!1,phase:"starting",messages:[],error:null}:Ws)),Te("");let Mn=null;try{await pt(ne),await vt();const Xn={...h,modelName:Se.modelName||h.modelName,description:Se.description,instruction:Se.instruction};Mn=await cB(yz(Xn)),T2e(Mn.runId);const Ws=await uB(Mn.runId,"test_user");he.current.set(ne,{run:Mn,sessionId:Ws}),pe(he.current.size),W(qi=>qi.map(Or=>Or.id===ne?{...Or,phase:"ready",runtimeSnapshot:en}:Or))}catch(Xn){if(Mn)try{await Vu(Mn.runId),Dh(Mn.runId)}catch(Ws){console.warn("清理调试运行失败",Ws)}W(Ws=>Ws.map(qi=>qi.id===ne?{...qi,phase:"error",runtimeSnapshot:"",error:Xn instanceof Error?Xn.message:String(Xn)}:qi))}},On=async()=>{const ne=oe.trim(),Se=se.filter(yt=>yt.phase==="ready"&&yt.runtimeSnapshot===Xy(un,yt)&&he.current.has(yt.id));if(!ne||Se.length===0)return;Te("");const Ze=new Set(Se.map(yt=>yt.id));W(yt=>yt.map(Wn=>Ze.has(Wn.id)?{...Wn,phase:"sending",messages:[...Wn.messages,{role:"user",content:ne},{role:"assistant",content:"",blocks:[]}]}:Wn)),await Promise.all(Se.map(async yt=>{const Wn=he.current.get(yt.id);if(Wn)try{let rs=ma();for await(const Ps of fB({runId:Wn.run.runId,userId:"test_user",sessionId:Wn.sessionId,text:ne})){const Bs=Ps.error||Ps.errorMessage||Ps.error_message;if(Bs||(rs=ef(rs,Ps)),W(en=>en.map(Mn=>{if(Mn.id!==yt.id)return Mn;const Xn=[...Mn.messages],Ws={...Xn[Xn.length-1]};return Bs?Ws.error=String(Bs):(Ws.content=rs.blocks.filter(qi=>qi.kind==="text").map(qi=>qi.text).join(""),Ws.blocks=rs.blocks),Xn[Xn.length-1]=Ws,{...Mn,messages:Xn}})),Bs)break}}catch(rs){W(Ps=>Ps.map(Bs=>{if(Bs.id!==yt.id)return Bs;const en=[...Bs.messages],Mn={...en[en.length-1]};return Mn.error=rs instanceof Error?rs.message:String(rs),en[en.length-1]=Mn,{...Bs,messages:en}}))}finally{W(rs=>rs.map(Ps=>Ps.id===yt.id?{...Ps,phase:"ready"}:Ps))}}))},bn=()=>{W(ne=>{if(ne.length>=3)return ne;const Se=we.current++,Ze=`variant-${Se}`;return[...ne,{id:Ze,name:`对照组 ${Se}`,modelName:h.modelName??"",description:h.description,instruction:h.instruction,optimizations:[],configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},Ki=async ne=>{await pt(ne),W(Se=>Se.filter(Ze=>Ze.id!==ne)),de===ne&&ye("baseline")},ps=(ne,Se)=>W(Ze=>Ze.map(yt=>yt.id===ne?{...yt,...Se}:yt)),ur=(ne,Se,Ze)=>{ne==="baseline"&&Se==="modelName"&&(ue.current=!0),ps(ne,{[Se]:Ze}),!(de!==ne||ne==="baseline")&&ye("baseline")},ji=ne=>{const Se=se.find(en=>en.id===ne);if(!Se)return;const Ze=Se.modelName.trim(),yt=Se.description.trim(),Wn=Se.instruction.trim(),rs=wd(Se),Ps=se.findIndex(en=>en.id===ne),Bs=se.findIndex(en=>wd(en)===rs);if(!(!Ze||!yt||!Wn||Bs!==Ps)){if(ne==="baseline"){ps(ne,{configOpen:!1});return}dt(ne)}},Yn=async(ne,Se,Ze)=>{var rs;const yt=(rs=h.deployment)==null?void 0:rs.network,Wn=yt&&yt.mode&&yt.mode!=="public"?{mode:yt.mode,vpc_id:yt.vpcId,subnet_ids:yt.subnetIds,enable_shared_internet_access:yt.enableSharedInternetAccess}:void 0;return D1(ne.name,ne.files,{region:(a==null?void 0:a.region)??B,projectName:"default",network:Wn},{...Ze,onStage:Se,runtimeId:a==null?void 0:a.runtimeId,appName:a==null?void 0:a.appName,description:h.description})},Ms=()=>{Je()&&(W(ne=>ne.map(Se=>Se.id==="baseline"&&!he.current.has(Se.id)?{...Se,modelName:ue.current?Se.modelName:tT(h),description:h.description,instruction:h.instruction}:Se)),D("validate"))},Go=async ne=>{if(ne==="publish"){if(!Je())return;$?D("publish"):ot();return}if(ne==="validate"){Ms();return}await Le()&&D(ne)},Mi=it.current,ie=ne=>k2e.find(Se=>Se.id===ne),Ut=o.jsx("section",{className:`cw-ai-compose${v?" is-generating":""}${x?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:o.jsx(Eo,{initial:!1,mode:"wait",children:x?o.jsxs(es.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:[o.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),o.jsx("strong",{children:"生成成功"}),o.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>E(!1),children:"重新生成"})]},"success"):o.jsxs(es.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:[o.jsxs("form",{className:"cw-ai-compose-form",onSubmit:ne=>{ne.preventDefault(),Kt()},children:[o.jsx("input",{type:"text",value:p,maxLength:8e3,disabled:v,placeholder:"描述目标,使用 doubao-seed-2-0-lite-260428 模型一键生成配置","aria-invalid":!!k,"aria-describedby":k?"ai-requirement-error":void 0,onChange:ne=>g(ne.target.value),onKeyDown:ne=>{ne.key==="Enter"&&(ne.preventDefault(),Kt())}}),o.jsx("button",{type:"submit",disabled:v||!S||!!k,"aria-label":v?"正在智能生成":"智能生成",children:v?o.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:o.jsx("span",{})}):"智能生成"})]}),k&&o.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:k})]},"compose")})});return o.jsxs("div",{className:`cw-root is-${G}`,children:[o.jsx(K2e,{mode:G}),Ke&&o.jsx(Yy,{className:"cw-workspace-alert",message:Ke}),o.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[G==="build"&&o.jsx("div",{className:"cw-build-workspace",children:o.jsxs("div",{className:"cw-editor",children:[o.jsx(bp,{draft:h,direction:"horizontal",selectedPath:Ht,onSelect:xt,onAdd:Xt,onInsert:Vt,onDelete:Rt}),o.jsx("div",{className:"cw-detail",children:o.jsx("div",{className:"cw-detail-scroll",ref:at,children:o.jsx("div",{className:"cw-detail-inner",children:o.jsx("div",{className:"cw-lower",children:o.jsxs("div",{className:"cw-form-col",children:[o.jsxs(Mi,{meta:ie("type"),children:[o.jsx(Q_,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:qe.agentType??"llm",onChange:kt,children:Jke.map(ne=>{const Se=(qe.agentType??"llm")===ne.id,Ze=zt&&ne.id==="a2a",yt=Ze?"cw-remote-agent-disabled-hint":void 0;return o.jsxs("div",{"data-agent-type":ne.id,className:`cw-agent-type-option ${Se?"is-on":""} ${Ze?"is-disabled":""}`,tabIndex:Ze?0:void 0,"aria-describedby":yt,children:[o.jsx(Q_.Item,{value:ne.id,disabled:Ze,block:!0,className:"cw-agent-type-control",children:o.jsx("span",{className:"cw-agent-type-copy",children:o.jsx("strong",{children:C2e[ne.id]})})}),Ze&&o.jsx("span",{id:yt,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},ne.id)})}),F&&Un&&qe.subAgents.length===0&&o.jsx("span",{className:"cw-error-text",children:z2e({name:qe.name.trim()||"未命名",typeLabel:tz(qe.agentType).label})})]}),o.jsx(Mi,{meta:ie("basic"),children:o.jsxs("div",{className:"cw-form",children:[!Fn&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[zt?"Agent 名称":"名称",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("input",{className:`cw-input ${ms(hs)}`,value:qe.name,placeholder:"assistant",onChange:ne=>$e({name:ne.target.value})}),F&&Sn?o.jsx("span",{className:"cw-error-text",children:Sn}):o.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[zt?"描述":"智能体描述",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${ms(js)}`,value:qe.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…",onChange:ne=>$e({description:ne.target.value})}),F&&js?o.jsx("span",{className:"cw-error-text",children:"描述为必填项"}):o.jsx("span",{className:"cw-help",children:zt?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),Un?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),qe.agentType==="loop"&&o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"最大轮次"}),o.jsx("input",{className:"cw-input",type:"number",min:1,value:qe.maxIterations??3,onChange:ne=>$e({maxIterations:Math.max(1,Number(ne.target.value)||1)})}),o.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):Fn?o.jsxs("div",{className:"cw-field cw-remote-center-fields",children:[o.jsxs("div",{className:"cw-remote-center-head",children:[o.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),o.jsx(j2e,{value:((jn=qe.a2aRegistry)==null?void 0:jn.registrySpaceId)??"",region:((Ft=qe.a2aRegistry)==null?void 0:Ft.registryRegion)||ba.region,invalid:F&&is,onChange:ne=>Qe(dz,ne)}),o.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":ge,"aria-controls":St,onClick:()=>Ue(ne=>!ne),children:[o.jsx("span",{children:"更多选项"}),o.jsx(zl,{className:`cw-more-options-chevron ${ge?"is-open":""}`,"aria-hidden":!0})]}),o.jsx(Eo,{initial:!1,children:ge&&o.jsx(es.div,{id:St,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:o.jsx(Ph,{env:I2e,values:fz(qe.a2aRegistry,{includeDefaults:!1}),onChange:Qe})})}),F&&is&&o.jsx("span",{className:"cw-error-text",children:"请选择 AgentKit 智能体中心"})]}):o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:["系统提示词",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:o.jsx(_2e,{value:qe.instruction,invalid:vi,onChange:ne=>$e({instruction:ne})})}),F&&vi?o.jsx("span",{className:"cw-error-text",children:"系统提示词为必填项"}):o.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!Un&&!Fn&&o.jsxs(o.Fragment,{children:[o.jsx(Mi,{meta:ie("model"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"模型名称"}),o.jsx("input",{className:"cw-input",value:qe.modelName??"",placeholder:"doubao-seed-2-1-pro-260628",onChange:ne=>$e({modelName:ne.target.value})})]}),o.jsxs("button",{type:"button",className:"cw-more-options cw-model-more-options","aria-expanded":ae,"aria-controls":st,onClick:()=>te(ne=>!ne),children:[o.jsx("span",{children:"更多选项"}),o.jsx(zl,{className:`cw-more-options-chevron ${ae?"is-open":""}`,"aria-hidden":!0})]}),o.jsx(Eo,{initial:!1,children:ae&&o.jsxs(es.div,{id:st,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:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"服务商 Provider"}),o.jsx("input",{className:"cw-input",value:qe.modelProvider??"",placeholder:"openai",onChange:ne=>$e({modelProvider:ne.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"API Base"}),o.jsx("input",{className:"cw-input",value:qe.modelApiBase??"",placeholder:"https://ark.cn-beijing.volces.com/api/v3/",onChange:ne=>$e({modelApiBase:ne.target.value})}),o.jsx("span",{className:"cw-help cw-dependency-hint",children:"留空则使用 VeADK 默认模型配置;Ark API Key 会由 Studio 服务端凭据自动获取。其他服务商的 Key 可在部署页添加。"})]})]})})]})}),o.jsx(Mi,{meta:ie("tools"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"内置工具"}),o.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),o.jsx("div",{className:"cw-tools-list-shell",children:o.jsx(R2e,{items:B9,selected:Bt,onToggle:Ys,scrollRows:6})}),o.jsx(Eo,{initial:!1,children:Bt.includes("run_code")&&o.jsxs(es.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:[o.jsxs("div",{className:"cw-tool-config-head",children:[o.jsx("span",{className:"cw-label",children:"代码执行配置"}),o.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),o.jsx(Ph,{env:((Ls=lu.find(ne=>ne.id==="run_code"))==null?void 0:Ls.env)??[],values:((Na=h.deployment)==null?void 0:Na.envValues)??{},onChange:Tt})]})})]}),o.jsxs("div",{className:"cw-field cw-mcp-field",children:[o.jsx("label",{className:"cw-label",children:"MCP 工具"}),o.jsx(L2e,{tools:qn,onChange:ne=>$e({mcpTools:ne})})]})]})}),o.jsx(Mi,{meta:ie("skills"),children:o.jsx("div",{className:"cw-form",children:o.jsx(P2e,{selected:qs,onChange:ne=>$e({selectedSkills:ne})})})}),o.jsx(Mi,{meta:ie("knowledge"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(B0,{checked:qe.knowledgebase,onChange:ne=>$e({knowledgebase:ne}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:ob}),qe.knowledgebase&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"知识库后端"}),o.jsx(uw,{options:h_,value:qe.knowledgebaseBackend,onChange:ne=>$e({knowledgebaseBackend:ne,knowledgebaseIndex:ne==="viking"?qe.knowledgebaseIndex:""})}),(qe.knowledgebaseBackend??Wc)==="viking"&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),o.jsx(M2e,{value:qe.knowledgebaseIndex??"",onChange:ne=>$e({knowledgebaseIndex:ne})})]}),o.jsx(Ph,{env:((Ve=h_.find(ne=>ne.id===(qe.knowledgebaseBackend??Wc)))==null?void 0:Ve.env)??[],values:((Hn=h.deployment)==null?void 0:Hn.envValues)??{},onChange:Tt})]})]})}),zt&&o.jsx(Mi,{meta:ie("memory"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(B0,{checked:qe.memory.shortTerm,onChange:ne=>$e({memory:{...qe.memory,shortTerm:ne}}),title:"短期记忆",desc:"在单次会话内保留上下文,跨轮次记住对话内容。",icon:gP}),qe.memory.shortTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"短期记忆后端"}),o.jsx(uw,{options:d_,value:qe.shortTermBackend,onChange:ne=>$e({shortTermBackend:ne})}),o.jsx(Ph,{env:((Rr=d_.find(ne=>ne.id===(qe.shortTermBackend??"local")))==null?void 0:Rr.env)??[],values:((dr=h.deployment)==null?void 0:dr.envValues)??{},onChange:Tt})]}),o.jsx(B0,{checked:qe.memory.longTerm,onChange:ne=>$e({memory:{...qe.memory,longTerm:ne}}),title:"长期记忆",desc:"跨会话持久化关键信息,让 Agent 记住历史偏好。",icon:ob}),qe.memory.longTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"长期记忆后端"}),o.jsx(uw,{options:f_,value:qe.longTermBackend,onChange:ne=>$e({longTermBackend:ne})}),o.jsx(Ph,{env:((vs=f_.find(ne=>ne.id===(qe.longTermBackend??"local")))==null?void 0:vs.env)??[],values:((Li=h.deployment)==null?void 0:Li.envValues)??{},onChange:Tt}),o.jsx(B0,{checked:!!qe.autoSaveSession,onChange:ne=>$e({autoSaveSession:ne}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:ob})]})]})})]})]})})})})})]})}),G==="validate"&&o.jsx("div",{className:"cw-validation-workspace",children:o.jsx("div",{className:"cw-validation-content",children:o.jsx(G2e,{enabled:z,disabledReason:K,variants:se,draftSnapshot:un,input:oe,onInput:Te,onSend:On,onStartVariant:dt,onDeployVariant:ne=>void ot(ne),onAddVariant:bn,onRemoveVariant:Ki,onToggleConfig:ne=>{const Se=se.find(Ze=>Ze.id===ne);Se&&ps(ne,{configOpen:!Se.configOpen})},onCompleteConfig:ji,onConfigChange:ur,onOpenTrace:Ot})})}),G==="publish"&&o.jsx("div",{className:"cw-preview-body",children:$?o.jsx(Nx,{embedded:!0,project:$,agentDraft:h,agentName:h.name||"未命名 Agent",agentCount:pz(h),releaseConfiguration:me?{modelName:me.modelName||h.modelName||"默认模型",description:me.description,instruction:me.instruction,optimizations:me.optimizations.flatMap(ne=>{const Se=xz.find(Ze=>Ze.id===ne);return Se?[Se.label]:[]})}:void 0,onChange:I,onDeploy:Yn,onAgentAdded:n,onDeploymentTaskChange:r,deploymentActionLabel:a?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:a==null?void 0:a.runtimeId,onDeploymentStarted:u,onDeploymentComplete:c,feishuEnabled:!!((Ko=h.deployment)!=null&&Ko.feishuEnabled),onFeishuEnabledChange:ne=>{const Se={...h,deployment:{...h.deployment??{feishuEnabled:!1},feishuEnabled:ne}};m(Se)},deploymentEnv:De.specs,deploymentEnvValues:{...(Za=h.deployment)==null?void 0:Za.envValues,...De.fixedValues},onDeploymentEnvChange:Tt,network:(Ds=h.deployment)==null?void 0:Ds.network,onNetworkChange:ne=>m(Se=>({...Se,deployment:{...Se.deployment??{feishuEnabled:!1},network:ne}})),deployRegion:B,onDeployRegionChange:ee,onExportYaml:()=>N2e(`${h.name||"agent"}.yaml`,TTe(h),"text/yaml")}):o.jsxs("div",{className:"cw-publish-loading",role:"status",children:[o.jsx(wn,{className:"cw-i cw-spin"}),o.jsx("strong",{children:"正在生成发布配置"}),o.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),o.jsx(q2e,{mode:G,busy:q,onChange:Go,assistant:G==="build"?Ut:void 0}),xe&&o.jsx(oz,{testRunId:xe.runId,sessionId:xe.sessionId,title:`调用链路 · ${xe.variantName}`,onClose:()=>Xe(null)}),Me&&o.jsx(m2,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:_e?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:_e,onCancel:bt,onConfirm:()=>void _n()}),w&&o.jsx("div",{className:"confirm-scrim",onClick:()=>T(null),children:o.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:ne=>ne.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),o.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:w}),o.jsx("div",{className:"confirm-actions",children:o.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>T(null),children:"关闭"})})]})})]})}function lo(e){return{...Ni(),...e}}const W2e=[{id:"support",icon:WZ,draft:lo({name:"客服助手",description:"7×24 在线答疑,结合知识库与历史对话,稳定、礼貌地解决用户问题。",instruction:"你是一名专业、耐心的客服助手。请始终保持礼貌、友好的语气,优先依据知识库中的资料回答用户问题;当资料不足以确定答案时,如实告知用户并主动引导其提供更多信息,切勿编造。回答尽量简洁、分点清晰,必要时给出操作步骤。",model:"doubao-1.5-pro-32k",knowledgebase:!0,memory:{shortTerm:!0,longTerm:!0}})},{id:"analyst",icon:RZ,draft:lo({name:"数据分析师",description:"运行代码完成统计与可视化,开启链路追踪,分析过程可观测、可复现。",instruction:"你是一名严谨的数据分析师。面对数据问题时,先厘清分析目标与口径,再通过编写并运行代码完成清洗、统计与可视化。每一步都要说明你的假设与方法,给出结论时附上关键数据支撑,并指出潜在的偏差与局限。",model:"doubao-1.5-pro-32k",tools:["code_runner"],tracing:!0})},{id:"translator",icon:XZ,draft:lo({name:"翻译助手",description:"中英互译,忠实、通顺、地道,保留原文语气与专业术语。",instruction:"你是一名专业的翻译助手,精通中英互译。请在忠实于原文含义的前提下,使译文自然、地道、符合目标语言表达习惯;保留专有名词与专业术语的准确性,并尽量贴合原文的语气与风格。仅输出译文,除非用户额外要求解释。",model:"doubao-1.5-pro-32k"})},{id:"coder",icon:YN,draft:lo({name:"代码助手",description:"编写、调试与重构代码,可运行代码验证结果,给出清晰可维护的实现。",instruction:"你是一名资深软件工程师。请根据需求编写正确、清晰、可维护的代码,遵循目标语言的惯用风格与最佳实践。在不确定时通过运行代码验证你的实现,给出关键的边界条件与测试思路,并对复杂逻辑附上简要注释。",model:"doubao-1.5-pro-32k",tools:["code_runner","file_reader"],tracing:!0})},{id:"researcher",icon:nJ,draft:lo({name:"研究员",description:"联网检索一手资料,结合知识库与长期记忆,输出有据可查的研究结论。",instruction:"你是一名严谨的研究员。面对研究问题时,先拆解关键子问题,再通过联网检索收集多个一手、可信的来源,交叉验证后再下结论。结论需注明出处与不确定性,区分事实与推断,避免以偏概全。",model:"doubao-1.5-pro-32k",tools:["web_search"],knowledgebase:!0,memory:{shortTerm:!0,longTerm:!0}})},{id:"research-team",icon:yJ,draft:lo({name:"多智能体研究团队",description:"由检索员、分析员、撰写员协作的研究编排,分工完成端到端调研报告。",instruction:"你是一支研究团队的总协调者。负责拆解用户的研究任务,将检索、分析、撰写分别委派给对应的子 Agent,汇总各子 Agent 的产出,把控整体质量,最终输出结构清晰、有据可查的研究报告。",model:"doubao-1.5-pro-32k",tracing:!0,memory:{shortTerm:!0,longTerm:!0},subAgents:[lo({name:"检索员",description:"联网搜集与课题相关的一手资料与数据。",instruction:"你是研究团队中的检索员。根据课题联网检索多个可信来源,整理出关键事实、数据与原文出处,交付给分析员,不做主观结论。",tools:["web_search"]}),lo({name:"分析员",description:"对检索到的材料做交叉验证与归纳分析。",instruction:"你是研究团队中的分析员。对检索员提供的材料做交叉验证、归纳与对比,提炼洞见、识别矛盾与不确定性,形成结构化的分析要点。",tools:["code_runner"]}),lo({name:"撰写员",description:"将分析结论组织为结构清晰、引用规范的报告。",instruction:"你是研究团队中的撰写员。把分析员的要点组织成结构清晰、语言通顺、引用规范的研究报告,确保每个结论都能追溯到来源。"})]})}];function X2e(e){const t=[];return e.tools.length&&t.push({icon:xP,label:"工具"}),(e.memory.shortTerm||e.memory.longTerm)&&t.push({icon:IZ,label:"记忆"}),e.knowledgebase&&t.push({icon:AZ,label:"知识库"}),e.tracing&&t.push({icon:kZ,label:"观测"}),e.subAgents.length&&t.push({icon:rJ,label:`子Agent ${e.subAgents.length}`}),t}function Q2e({onBack:e,onCreate:t}){const[n,s]=b.useState(null);return o.jsx("div",{className:"tpl-root",children:n?o.jsx(J2e,{template:n,onBack:()=>s(null),onCreate:t}):o.jsx(Z2e,{onPick:s})})}function Z2e({onPick:e}){return o.jsxs("div",{className:"tpl-scroll",children:[o.jsxs("div",{className:"tpl-head",children:[o.jsx("h1",{className:"tpl-title",children:"从模板新建"}),o.jsx("p",{className:"tpl-sub",children:"选择一个预制 agent 模板,按需微调后即可创建。"})]}),o.jsx("div",{className:"tpl-grid",children:W2e.map((t,n)=>o.jsxs(es.button,{type:"button",className:"tpl-card",onClick:()=>e(t),initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:n*.03,duration:.24,ease:[.22,1,.36,1]},children:[o.jsx("span",{className:"tpl-card-icon",children:o.jsx(t.icon,{className:"icon"})}),o.jsx("span",{className:"tpl-card-name",children:t.draft.name}),o.jsx("span",{className:"tpl-card-desc",children:Kl(t.draft.description)})]},t.id))})]})}function J2e({template:e,onBack:t,onCreate:n}){const[s,i]=b.useState(e.draft.name),r=e.icon,a=X2e(e.draft);function l(){const c=s.trim()||e.draft.name;n({...e.draft,name:c})}return o.jsxs("div",{className:"tpl-scroll tpl-scroll--detail",children:[o.jsxs("button",{className:"tpl-back",onClick:t,children:[o.jsx(KN,{className:"icon"})," 返回模板列表"]}),o.jsxs(es.div,{className:"tpl-detail",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.28,ease:[.22,1,.36,1]},children:[o.jsxs("div",{className:"tpl-detail-head",children:[o.jsx("span",{className:"tpl-detail-icon",children:o.jsx(r,{className:"icon"})}),o.jsxs("div",{className:"tpl-detail-headtext",children:[o.jsx("div",{className:"tpl-detail-name",children:e.draft.name}),o.jsx("div",{className:"tpl-detail-desc",children:Kl(e.draft.description)})]})]}),a.length>0&&o.jsx("div",{className:"tpl-tags tpl-tags--detail",children:a.map(c=>o.jsxs("span",{className:"tpl-tag",children:[o.jsx(c.icon,{className:"tpl-tag-icon"})," ",c.label]},c.label))}),o.jsxs("label",{className:"tpl-field",children:[o.jsx("span",{className:"tpl-field-label",children:"名称"}),o.jsx("input",{className:"tpl-input",value:s,onChange:c=>i(c.target.value),placeholder:e.draft.name})]}),o.jsxs("div",{className:"tpl-field",children:[o.jsx("span",{className:"tpl-field-label",children:"系统提示词"}),o.jsx("p",{className:"tpl-instruction",children:e.draft.instruction})]}),o.jsxs("div",{className:"tpl-meta-grid",children:[e.draft.model&&o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"模型"}),o.jsx("span",{className:"tpl-meta-val tpl-mono",children:e.draft.model})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"工具"}),o.jsx("span",{className:"tpl-meta-val",children:e.draft.tools.length?e.draft.tools.join("、"):"无"})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"记忆"}),o.jsx("span",{className:"tpl-meta-val",children:eAe(e.draft)})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"知识库"}),o.jsx("span",{className:"tpl-meta-val",children:e.draft.knowledgebase?"已开启":"关闭"})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"观测追踪"}),o.jsx("span",{className:"tpl-meta-val",children:e.draft.tracing?"已开启":"关闭"})]})]}),e.draft.subAgents.length>0&&o.jsxs("div",{className:"tpl-field",children:[o.jsxs("span",{className:"tpl-field-label",children:["子 Agent(",e.draft.subAgents.length,")"]}),o.jsx("div",{className:"tpl-subagents",children:e.draft.subAgents.map((c,u)=>o.jsxs("div",{className:"tpl-subagent",children:[o.jsxs("div",{className:"tpl-subagent-top",children:[o.jsx("span",{className:"tpl-subagent-name",children:c.name}),c.tools.length>0&&o.jsx("span",{className:"tpl-subagent-tools",children:c.tools.join("、")})]}),o.jsx("div",{className:"tpl-subagent-desc",children:Kl(c.description)})]},u))})]}),o.jsxs("button",{className:"tpl-create",onClick:l,children:["使用此模板创建 ",o.jsx(zl,{className:"icon"})]})]})]})}function eAe(e){const t=[];return e.memory.shortTerm&&t.push("短期"),e.memory.longTerm&&t.push("长期"),t.length?t.join(" + "):"关闭"}const tAe=[{type:"sequential",label:"顺序",desc:"节点依次执行",Icon:bP},{type:"parallel",label:"并行",desc:"节点同时执行",Icon:uP},{type:"loop",label:"循环",desc:"节点循环执行",Icon:JN}];let nT=0;function pw(){return nT+=1,`node_${nT}`}function gw(e,t,n){const s=Ni();return{id:e,type:"agentNode",position:t,data:{agent:{...s,name:(n==null?void 0:n.name)??`agent_${e.replace("node_","")}`,...n}}}}function nAe({data:e,selected:t}){const n=e.agent;return o.jsxs("div",{className:`wfb-node ${t?"wfb-node--selected":""}`,children:[o.jsx(Ai,{type:"target",position:We.Left,className:"wfb-handle"}),o.jsx("div",{className:"wfb-node-icon",children:o.jsx(Hc,{className:"icon"})}),o.jsxs("div",{className:"wfb-node-body",children:[o.jsx("div",{className:"wfb-node-name",children:n.name||"未命名节点"}),o.jsx("div",{className:"wfb-node-desc",children:n.instruction?n.instruction.slice(0,48):"点击编辑指令…"})]}),o.jsx(Ai,{type:"source",position:We.Right,className:"wfb-handle"})]})}const sAe={agentNode:nAe},i3={type:"smoothstep",markerEnd:{type:rf.ArrowClosed,width:16,height:16}};function iAe({onBack:e,onCreate:t}){const n=b.useRef(null),[s,i]=b.useState(""),[r,a]=b.useState(""),[l,c]=b.useState("sequential"),u=b.useMemo(()=>{nT=0;const N=pw();return gw(N,{x:80,y:120},{name:"agent_1"})},[]),[d,f,h]=s9([u]),[m,p,g]=i9([]),[v,y]=b.useState(u.id),x=d.find(N=>N.id===v)??null,E=s.trim()||"workflow_agent",w=b.useMemo(()=>ez({name:E,subAgents:d.map(N=>N.data.agent)}),[E,d]),T=Ud(E)??(w.has(E)?"名称须与 Agent 节点名称保持唯一":null),S=x?Ud(x.data.agent.name)??(w.has(x.data.agent.name)?"Agent 名称在当前工作流中必须唯一":null):null,k=d.length>0&&T===null&&d.every(N=>Ud(N.data.agent.name)===null&&!w.has(N.data.agent.name)),A=b.useCallback(N=>p(O=>R8({...N,...i3},O)),[p]),C=b.useCallback(()=>{const N=pw(),O=d.length*28,P=gw(N,{x:80+O,y:120+O});f($=>$.concat(P)),y(N)},[d.length,f]),R=N=>{N.dataTransfer.setData("application/wfb-node","agentNode"),N.dataTransfer.effectAllowed="move"},M=b.useCallback(N=>{N.preventDefault(),N.dataTransfer.dropEffect="move"},[]),L=b.useCallback(N=>{if(N.preventDefault(),N.dataTransfer.getData("application/wfb-node")!=="agentNode"||!n.current)return;const P=n.current.screenToFlowPosition({x:N.clientX,y:N.clientY}),$=pw(),I=gw($,P);f(q=>q.concat(I)),y($)},[f]),G=b.useCallback(N=>{v&&f(O=>O.map(P=>P.id===v?{...P,data:{...P.data,agent:{...P.data.agent,...N}}}:P))},[v,f]),D=b.useCallback(()=>{v&&(f(N=>N.filter(O=>O.id!==v)),p(N=>N.filter(O=>O.source!==v&&O.target!==v)),y(null))},[v,f,p]),F=b.useCallback(()=>{if(!k)return;const N=d.map(P=>P.data.agent),O={...Ni(),name:E,description:r.trim(),instruction:r.trim(),subAgents:N,workflow:{type:l,nodes:d.map(P=>({id:P.id,agent:P.data.agent})),edges:m.map(P=>({from:P.source,to:P.target}))}};t(O)},[k,d,m,E,r,l,t]);return o.jsx("div",{className:"wfb",children:o.jsxs("div",{className:"wfb-grid",children:[o.jsxs("aside",{className:"wfb-palette",children:[o.jsx("div",{className:"wfb-section-label",children:"工作流信息"}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"名称"}),o.jsx("input",{className:`wfb-input ${T?"wfb-input--error":""}`,value:s,onChange:N=>i(N.target.value),placeholder:"my_workflow"}),T&&o.jsx("span",{className:"wfb-field-error",children:T})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"描述"}),o.jsx("textarea",{className:"wfb-input wfb-textarea",value:r,onChange:N=>a(N.target.value),placeholder:"这个工作流做什么…",rows:2})]}),o.jsx("div",{className:"wfb-section-label",children:"执行方式"}),o.jsx("div",{className:"wfb-types",children:tAe.map(({type:N,label:O,desc:P,Icon:$})=>o.jsxs("button",{type:"button",className:`wfb-type ${l===N?"wfb-type--active":""}`,onClick:()=>c(N),children:[o.jsx($,{className:"icon"}),o.jsxs("span",{className:"wfb-type-text",children:[o.jsx("span",{className:"wfb-type-name",children:O}),o.jsx("span",{className:"wfb-type-desc",children:P})]})]},N))}),o.jsx("div",{className:"wfb-section-label",children:"节点"}),o.jsxs("div",{className:"wfb-palette-item",draggable:!0,onDragStart:R,title:"拖拽到画布,或点击下方按钮添加",children:[o.jsx(YZ,{className:"icon wfb-grip"}),o.jsx("span",{className:"wfb-node-icon wfb-node-icon--sm",children:o.jsx(Hc,{className:"icon"})}),o.jsx("span",{className:"wfb-palette-item-text",children:"Agent 节点"})]}),o.jsxs("button",{className:"wfb-add",type:"button",onClick:C,children:[o.jsx(bi,{className:"icon"}),"添加节点"]}),o.jsx("div",{className:"wfb-hint",children:"拖拽节点的圆点连线以表达执行顺序。"})]}),o.jsxs("div",{className:"wfb-canvas",children:[o.jsxs("button",{className:"wfb-create",onClick:F,disabled:!k,type:"button",children:[o.jsx(zc,{className:"icon"}),"创建工作流"]}),o.jsxs(n9,{nodes:d,edges:m,onNodesChange:h,onEdgesChange:g,onConnect:A,onInit:N=>n.current=N,nodeTypes:sAe,defaultEdgeOptions:i3,onDrop:L,onDragOver:M,onNodeClick:(N,O)=>y(O.id),onPaneClick:()=>y(null),fitView:!0,fitViewOptions:{padding:.3,maxZoom:1},proOptions:{hideAttribution:!0},children:[o.jsx(a9,{gap:16,size:1,color:"hsl(240 5.9% 88%)"}),o.jsx(l9,{showInteractive:!1}),o.jsx(Koe,{pannable:!0,zoomable:!0,className:"wfb-minimap"})]})]}),o.jsx("aside",{className:"wfb-inspector",children:x?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"wfb-inspector-head",children:[o.jsx("div",{className:"wfb-section-label",children:"节点配置"}),o.jsx("button",{className:"wfb-icon-btn",type:"button",onClick:D,title:"删除节点",children:o.jsx(Po,{className:"icon"})})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"名称"}),o.jsx("input",{className:`wfb-input ${S?"wfb-input--error":""}`,value:x.data.agent.name,onChange:N=>G({name:N.target.value}),placeholder:"agent_name"}),S?o.jsx("span",{className:"wfb-field-error",children:S}):o.jsx("span",{className:"wfb-field-help",children:"仅使用英文字母、数字和下划线,且名称保持唯一。"})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"描述"}),o.jsx("input",{className:"wfb-input",value:x.data.agent.description,onChange:N=>G({description:N.target.value}),placeholder:"这个 agent 做什么…"})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"指令 (instruction)"}),o.jsx("textarea",{className:"wfb-input wfb-textarea",value:x.data.agent.instruction,onChange:N=>G({instruction:N.target.value}),placeholder:"你是一个…",rows:6})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"工具 (逗号分隔)"}),o.jsx("input",{className:"wfb-input",value:x.data.agent.tools.join(", "),onChange:N=>G({tools:N.target.value.split(",").map(O=>O.trim()).filter(Boolean)}),placeholder:"web_search, calculator"})]}),o.jsxs("div",{className:"wfb-inspector-meta",children:[o.jsx("span",{className:"wfb-meta-key",children:"节点 ID"}),o.jsx("code",{className:"wfb-meta-val",children:x.id})]})]}):o.jsxs("div",{className:"wfb-inspector-empty",children:[o.jsx(Hc,{className:"wfb-empty-icon"}),o.jsx("p",{children:"选择一个节点以编辑其配置"}),o.jsxs("p",{className:"wfb-empty-sub",children:["共 ",d.length," 个节点 · ",m.length," 条连线"]})]})})]})})}function rAe(e){return o.jsx(Mk,{children:o.jsx(iAe,{...e})})}const r3=50*1024*1024,sT=800,aAe={name:"code_package",files:[]};function oAe(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 lAe(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(s=>!s||s==="."||s===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function cAe(e){const t=e.flatMap(a=>{const l=lAe(a.name);return l?[{path:l,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>sT)throw new Error(`代码包文件数不能超过 ${sT} 个。`);const i=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,r=new Set;for(const a of i){if(r.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);r.add(a.path)}if(!r.has("app.py"))throw new Error("代码包根目录必须包含 app.py,作为 AgentKit 启动入口。");return i}function uAe({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:s,onDeploymentComplete:i,initialDeployRegion:r="cn-beijing"}){const a=b.useRef(null),l=b.useRef(0),[c,u]=b.useState(null),[d,f]=b.useState(""),[h,m]=b.useState(!1),[p,g]=b.useState(!1),[v,y]=b.useState(!1),[x,E]=b.useState(""),[w,T]=b.useState(r),[S,k]=b.useState();b.useEffect(()=>()=>{l.current+=1},[]);async function A(L){const G=++l.current;if(E(""),!L.name.toLowerCase().endsWith(".zip")){E("请选择 .zip 格式的代码包。");return}if(L.size>r3){E("代码包不能超过 50 MB。");return}g(!0);try{const D=await sz(new Uint8Array(await L.arrayBuffer()),{maxEntries:sT,maxUncompressedBytes:r3}),F=cAe(D);if(G!==l.current)return;f(L.name),u({name:oAe(L.name),files:F})}catch(D){if(G!==l.current)return;f(""),u(null),E(D instanceof Error?D.message:String(D))}finally{G===l.current&&g(!1)}}function C(L){var D;const G=(D=L.currentTarget.files)==null?void 0:D[0];L.currentTarget.value="",G&&A(G)}function R(L){var D;L.preventDefault(),y(!1);const G=(D=L.dataTransfer.files)==null?void 0:D[0];G&&A(G)}async function M(L,G,D){const F=S&&S.mode!=="public"?{mode:S.mode,vpc_id:S.vpcId,subnet_ids:S.subnetIds,enable_shared_internet_access:S.enableSharedInternetAccess}:void 0;return D1(L.name,L.files,{region:w,projectName:"default",network:F},{...D,onStage:G})}return o.jsxs("div",{className:"package-create package-create-preview",children:[o.jsx(Nx,{project:c??aAe,agentName:(c==null?void 0:c.name)||"代码包",onChange:c?u:void 0,onDeploy:M,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:s,onDeploymentComplete:i,network:S,onNetworkChange:k,deployRegion:w,onDeployRegionChange:T,onBack:e,backLabel:"返回创建方式",deployDisabled:!c||p,deployDisabledReason:p?"正在读取代码包":c?void 0:"请先上传代码包",deploymentPrimaryPane:o.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[o.jsx("div",{className:"package-source-label",children:"代码包"}),o.jsxs("div",{className:`package-dropzone${v?" is-dragging":""}${c?" is-ready":""}`,onDragEnter:L=>{L.preventDefault(),y(!0)},onDragOver:L=>L.preventDefault(),onDragLeave:L=>{L.currentTarget.contains(L.relatedTarget)||y(!1)},onDrop:R,onClick:()=>{var L;p||(L=a.current)==null||L.click()},onKeyDown:L=>{var G;!p&&(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),(G=a.current)==null||G.click())},role:"button",tabIndex:p?-1:0,"aria-label":c?"重新上传代码包":"上传代码包","aria-disabled":p,children:[o.jsx("strong",{children:p?"正在读取代码包…":c?d:"请上传代码包"}),o.jsx("span",{children:c?`已识别 ${c.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB,根目录需包含 app.py"}),o.jsx("div",{className:"package-upload-actions",children:c&&o.jsx("button",{type:"button",className:"package-upload-secondary",onClick:L=>{L.stopPropagation(),m(!0)},onKeyDown:L=>L.stopPropagation(),children:"查看文件"})}),o.jsx("input",{ref:a,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:C})]}),x&&o.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),c&&o.jsx(sH,{project:c,open:h,onClose:()=>m(!1),onChange:u})]})}const Ez=1;function Qy(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function dAe(e){return Qy(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&Qy(e.draft)}function jx(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function iT(e){var s;const t=(s=e.mcpTools)==null?void 0:s.map(i=>{const r={...i};return delete r.authToken,r}),n=e.deployment?{...e.deployment}:void 0;return n&&delete n.envValues,{...e,subAgents:e.subAgents.map(iT),...t?{mcpTools:t}:{},...n?{deployment:n}:{},...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(i=>({...i,agent:iT(i.agent)}))}}:{}}}function vz(e){return{...e,draft:iT(e.draft)}}function fAe(e){const t=Array.isArray(e)?e:Qy(e)&&e.version===Ez?e.drafts:void 0;if(!Array.isArray(t)||!t.every(dAe))throw Qy(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(vz)}function hAe(e,t){if(!t)return[];const n=e.getItem(jx(t));if(!n)return[];try{return fAe(JSON.parse(n))}catch(s){throw s instanceof Error&&s.message.startsWith("本机草稿")?s:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function a3(e,t,n){if(!t)return;const s={version:Ez,drafts:n.map(vz)};try{e.setItem(jx(t),JSON.stringify(s))}catch(i){throw i instanceof DOMException&&(i.name==="QuotaExceededError"||i.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const mAe="/web/skill-creator";class Y2 extends Error{constructor(n,s){super(n);MA(this,"status");this.name="SkillCreatorApiError",this.status=s}}function gu(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t} 格式错误`);return e}function us(e,...t){for(const n of t){const s=e[n];if(typeof s=="string"&&s)return s}}function wz(e,...t){for(const n of t){const s=e[n];if(typeof s=="number"&&Number.isFinite(s))return s}}async function yg(e,t){return fetch(An(`${mAe}${e}`),{...t,headers:I1({Accept:"application/json",...t!=null&&t.body?{"Content-Type":"application/json"}:{},...t==null?void 0:t.headers})})}async function W2(e,t){if((e.headers.get("content-type")??"").includes("application/json")){const i=gu(await e.json(),"错误响应");return us(i,"detail","message","error")??t}return(await e.text()).trim()||t}async function X2(e,t){if(!e.ok)throw new Y2(await W2(e,t),e.status);if(!(e.headers.get("content-type")??"").includes("application/json"))throw new Error(`${t}:服务端返回了非 JSON 响应`);return e.json()}function pAe(e){if(e==="queued")return"queued";if(e==="running")return"running";if(e==="succeeded")return"succeeded";if(e==="failed")return"failed";throw new Error(`未知的 Skill 生成状态:${String(e)}`)}function gAe(e){if(e==="provisioning"||e==="generating"||e==="validating"||e==="packaging"||e==="completed"||e==="failed")return e;throw new Error(`未知的 Skill 生成阶段:${String(e)}`)}function bAe(e){return Array.isArray(e)?e.map((t,n)=>{const s=gu(t,`文件 ${n+1}`),i=us(s,"path");if(!i)throw new Error(`文件 ${n+1} 缺少 path`);const r=wz(s,"size");if(r===void 0)throw new Error(`文件 ${n+1} 缺少 size`);return{path:i,size:r}}):[]}function yAe(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e,n=Array.isArray(t.errors)?t.errors.map(String):[],s=Array.isArray(t.warnings)?t.warnings.map(String):[];return{valid:typeof t.valid=="boolean"?t.valid:n.length===0,errors:n,warnings:s}}function xAe(e){if(e===void 0)return[];if(!Array.isArray(e))throw new Error("Skill 生成活动记录格式错误");return e.map((t,n)=>{const s=gu(t,`活动 ${n+1}`),i=us(s,"id"),r=us(s,"kind"),a=us(s,"status");if(!i||!r||!["status","thinking","tool","message"].includes(r))throw new Error(`活动 ${n+1} 格式错误`);if(a!=="running"&&a!=="done")throw new Error(`活动 ${n+1} 状态错误`);if(r==="tool"){const c=us(s,"name");if(!c)throw new Error(`活动 ${n+1} 缺少工具名称`);return{id:i,kind:r,name:c,args:s.input,response:s.output,status:a}}const l=us(s,"text");if(!l)throw new Error(`活动 ${n+1} 缺少文本`);return{id:i,kind:r,text:l,status:a}})}function EAe(e,t){const n=gu(e,`候选方案 ${t+1}`),s=us(n,"id","candidate_id","candidateId"),i=us(n,"model","model_id","modelId");if(!s||!i)throw new Error(`候选方案 ${t+1} 缺少 id 或 model`);return{id:s,model:i,modelLabel:us(n,"modelLabel","model_label")??i,status:pAe(n.status),stage:gAe(n.stage),name:us(n,"name","skill_name","skillName"),description:us(n,"description"),skillMd:us(n,"skillMd","skill_md"),files:bAe(n.files),activities:xAe(n.activities),validation:yAe(n.validation),durationMs:wz(n,"elapsedMs","elapsed_ms"),error:us(n,"error","error_message","errorMessage"),published:n.published===!0,skillId:us(n,"skill_id","skillId"),version:us(n,"version")}}function rT(e,t=""){const n=gu(e,"Skill 创建任务"),s=us(n,"id","job_id","jobId");if(!s)throw new Error("Skill 创建任务缺少 id");const i=Array.isArray(n.candidates)?n.candidates.map(EAe):[],r=us(n,"status")??"running";if(r!=="provisioning"&&r!=="running"&&r!=="completed")throw new Error(`未知的 Skill 任务状态:${r}`);return{id:s,prompt:us(n,"prompt")??t,status:r,candidates:i}}async function vAe(e,t){const n=await yg("/jobs",{method:"POST",body:JSON.stringify({prompt:e})});if(!n.ok)throw new Y2(await W2(n,"创建 Skill 任务失败"),n.status);const s=n.headers.get("content-type")??"";if(s.includes("application/json")){const u=rT(await n.json(),e);return t==null||t(u),u}if(!s.includes("application/x-ndjson")||!n.body)throw new Error("创建 Skill 任务失败:服务端返回了非流式响应");const i=n.body.getReader(),r=new TextDecoder;let a="",l;const c=u=>{if(!u.trim())return;const d=gu(JSON.parse(u),"Skill 创建进度");if(d.type==="error")throw new Error(us(d,"error")??"创建 Skill 任务失败");if(d.type!=="progress"&&d.type!=="complete")throw new Error("未知的 Skill 创建进度事件");l=rT(d.job,e),t==null||t(l)};for(;;){const{done:u,value:d}=await i.read();a+=r.decode(d,{stream:!u});const f=a.split(` -`);if(a=f.pop()??"",f.forEach(c),u)break}if(c(a),!l)throw new Error("创建 Skill 任务失败:服务端未返回任务");return l}async function wAe(e){const t=await yg(`/jobs/${encodeURIComponent(e)}`);return rT(await X2(t,"读取 Skill 任务失败"))}async function SAe(e){const t=await yg(`/jobs/${encodeURIComponent(e)}`,{method:"DELETE"});await X2(t,"清理 Skill 任务失败")}async function _Ae(e,t){var l;const n=await yg(`/jobs/${encodeURIComponent(e)}/candidates/${encodeURIComponent(t)}/download`);if(!n.ok)throw new Error(await W2(n,"下载 Skill 失败"));const i=((l=(n.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:l[1])??"skill.zip",r=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=r,a.download=i,a.click(),URL.revokeObjectURL(r)}async function TAe(e,t,n){const s=await yg(`/jobs/${encodeURIComponent(e)}/candidates/${encodeURIComponent(t)}/publish`,{method:"POST",body:JSON.stringify(n)}),i=gu(await X2(s,"添加到 AgentKit 失败"),"发布结果"),r=us(i,"skill_id","skillId","id");if(!r)throw new Error("发布结果缺少 skill_id");return{skillId:r,name:us(i,"name"),version:us(i,"version"),skillSpaceIds:Array.isArray(i.skillSpaceIds)?i.skillSpaceIds.map(String):Array.isArray(i.skill_space_ids)?i.skill_space_ids.map(String):[],message:us(i,"message")}}const NAe=()=>{};function kAe(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 AAe({activities:e}){const t=b.useMemo(()=>e.filter(n=>n.kind!=="status").map(kAe),[e]);return t.length===0?null:o.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:o.jsx(y2,{blocks:t,onAction:NAe})})}const o3={provisioning:"正在准备 Sandbox",generating:"正在生成 Skill",validating:"正在校验结构",packaging:"正在打包",completed:"生成完成",failed:"生成失败"},l3=12e4;function CAe({status:e}){return e==="succeeded"?o.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("circle",{cx:"10",cy:"10",r:"7"}),o.jsx("path",{d:"m6.7 10.1 2.1 2.2 4.6-4.8"})]}):e==="failed"?o.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("circle",{cx:"10",cy:"10",r:"7"}),o.jsx("path",{d:"M10 6.2v4.5M10 13.6h.01"})]}):o.jsxs("svg",{className:"skill-candidate__spinner",viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("circle",{cx:"10",cy:"10",r:"7"}),o.jsx("path",{d:"M10 3a7 7 0 0 1 7 7"})]})}function IAe(){return o.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("path",{d:"M4.2 3.5h7.1l4.5 4.6v8.4H4.2z"}),o.jsx("path",{d:"M11.3 3.5v4.6h4.5M7 11h6M7 13.8h4.2"})]})}function RAe(){return o.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:o.jsx("path",{d:"m9 5-5 5 5 5M4.5 10H16"})})}function OAe({candidate:e}){var c,u;const[t,n]=b.useState("SKILL.md"),s=e.files.find(d=>d.path.endsWith("SKILL.md")),i=e.skillMd&&!s?[{path:"SKILL.md",size:new Blob([e.skillMd]).size},...e.files]:e.files,r=i.find(d=>d.path===t)??i[0],a=(c=e.skillMd)==null?void 0:c.slice(0,l3),l=(((u=e.skillMd)==null?void 0:u.length)??0)>l3;return i.length===0?null:o.jsxs("div",{className:"skill-files",children:[o.jsx("div",{className:"skill-files__tabs",role:"tablist","aria-label":`${e.name??"Skill"} 文件`,children:i.map(d=>o.jsx("button",{type:"button",role:"tab","aria-selected":(r==null?void 0:r.path)===d.path,className:(r==null?void 0:r.path)===d.path?"is-active":"",onClick:()=>n(d.path),children:d.path},d.path))}),e.skillMd&&(r!=null&&r.path.endsWith("SKILL.md"))?o.jsxs(o.Fragment,{children:[o.jsx("pre",{className:"skill-files__content",children:o.jsx("code",{children:a})}),l?o.jsx("p",{className:"skill-files__truncated",children:"预览内容较长,完整文件请下载 ZIP 查看。"}):null]}):o.jsx("div",{className:"skill-files__unavailable",children:r?`${r.path} · ${r.size.toLocaleString()} bytes`:"文件内容将在下载包中提供"})]})}function jAe({label:e,jobId:t,candidate:n,selected:s,publishing:i,publishDisabled:r,publishError:a,onSelect:l,onPublish:c}){const[u,d]=b.useState("conversation"),[f,h]=b.useState(!1),[m,p]=b.useState(!1),[g,v]=b.useState(""),[y,x]=b.useState(""),[E,w]=b.useState(""),[T,S]=b.useState(""),k=b.useRef(null),A=b.useRef(null),C=n.status==="queued"||n.status==="running",R=n.status==="succeeded",M=n.validation;return o.jsxs("article",{className:`skill-candidate skill-candidate--${n.status}${s?" is-selected":""}`,"aria-label":`${e} ${n.model}`,children:[o.jsxs("header",{className:"skill-candidate__header",children:[o.jsx("h2",{children:n.model}),s?o.jsx("span",{className:"skill-candidate__selected",children:"已选方案"}):null]}),u==="conversation"?o.jsxs("div",{className:"skill-candidate__view skill-candidate__view--conversation",children:[o.jsxs("div",{className:"skill-candidate__status","aria-live":"polite",children:[o.jsx("span",{className:"skill-candidate__status-icon",children:o.jsx(CAe,{status:n.status})}),C?o.jsx(Vl,{duration:2.2,spread:16,children:o3[n.stage]}):o.jsx("span",{children:o3[n.stage]}),n.durationMs!==void 0&&R?o.jsxs("span",{className:"skill-candidate__duration",children:[(n.durationMs/1e3).toFixed(1)," 秒"]}):null]}),o.jsx(AAe,{activities:n.activities}),n.error?o.jsx("div",{className:"skill-candidate__error",children:n.error}):null,R?o.jsx("div",{className:"skill-candidate__view-actions",children:o.jsxs("button",{ref:k,type:"button",className:"skill-action skill-action--preview",onClick:()=>{d("preview"),requestAnimationFrame(()=>{var L;return(L=A.current)==null?void 0:L.focus()})},children:[o.jsx(IAe,{}),"查看 Skill"]})}):null]}):o.jsxs("div",{className:"skill-candidate__view skill-candidate__view--preview",children:[o.jsx("div",{className:"skill-candidate__preview-nav",children:o.jsxs("button",{ref:A,type:"button",className:"skill-candidate__back",onClick:()=>{d("conversation"),requestAnimationFrame(()=>{var L;return(L=k.current)==null?void 0:L.focus()})},children:[o.jsx(RAe,{}),"返回对话"]})}),o.jsxs("div",{className:"skill-candidate__result",children:[o.jsxs("div",{className:"skill-candidate__summary",children:[o.jsxs("div",{children:[o.jsx("span",{children:"Skill"}),o.jsx("strong",{children:n.name??"未命名 Skill"})]}),o.jsxs("div",{children:[o.jsx("span",{children:"文件"}),o.jsx("strong",{children:n.files.length})]}),o.jsxs("div",{children:[o.jsx("span",{children:"校验"}),o.jsx("strong",{className:(M==null?void 0:M.valid)===!1?"is-invalid":"is-valid",children:(M==null?void 0:M.valid)===!1?"未通过":"已通过"})]})]}),n.description?o.jsx("p",{className:"skill-candidate__description",children:n.description}):null,M&&(M.errors.length>0||M.warnings.length>0)?o.jsxs("details",{className:"skill-validation",children:[o.jsx("summary",{children:"查看校验详情"}),[...M.errors,...M.warnings].map((L,G)=>o.jsx("div",{children:L},`${L}-${G}`))]}):null,o.jsx(OAe,{candidate:n}),o.jsxs("div",{className:"skill-candidate__actions",children:[o.jsx("button",{type:"button",className:"skill-action skill-action--select","aria-pressed":s,onClick:l,children:s?"已采用此方案":"采用此方案"}),o.jsx("button",{type:"button",className:"skill-action",disabled:m,onClick:()=>{p(!0),v(""),_Ae(t,n.id).catch(L=>{v(L instanceof Error?L.message:String(L))}).finally(()=>p(!1))},children:m?"正在下载…":"下载 ZIP"}),o.jsx("button",{type:"button",className:"skill-action",disabled:!s||i||r||n.published,title:s?void 0:"请先采用此方案",onClick:()=>h(L=>!L),children:n.published?"已添加到 AgentKit":i?"正在添加…":"添加到 AgentKit"})]}),g?o.jsx("div",{className:"skill-candidate__error",children:g}):null,f&&s&&!n.published?o.jsxs("form",{className:"skill-publish-form",onSubmit:L=>{L.preventDefault();const G=y.split(",").map(D=>D.trim()).filter(Boolean);c({skillSpaceIds:G,...E.trim()?{projectName:E.trim()}:{},...T.trim()?{skillId:T.trim()}:{}})},children:[o.jsxs("label",{children:[o.jsx("span",{children:"SkillSpace ID(可选)"}),o.jsx("input",{value:y,onChange:L=>x(L.target.value),placeholder:"多个 ID 用英文逗号分隔"})]}),o.jsxs("div",{className:"skill-publish-form__optional",children:[o.jsxs("label",{children:[o.jsx("span",{children:"项目名称(可选)"}),o.jsx("input",{value:E,onChange:L=>w(L.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"已有 Skill ID(可选)"}),o.jsx("input",{value:T,onChange:L=>S(L.target.value)})]})]}),o.jsx("button",{type:"submit",className:"skill-action skill-action--select",disabled:i,children:i?"正在添加…":"确认添加"})]}):null,a?o.jsx("div",{className:"skill-candidate__error",children:a}):null]})]})]})}const c3=new Set(["completed"]),$0=1100,MAe=3e4;function LAe(e,t){return{id:`pending-${t}`,model:e,modelLabel:e,status:"queued",stage:"provisioning",files:[],activities:[{id:"provisioning",kind:"status",text:"正在拉起 Sandbox",status:"running"}]}}function DAe({initialJob:e}){const[t,n]=b.useState(e),[s,i]=b.useState(""),[r,a]=b.useState(!1),[l,c]=b.useState(),[u,d]=b.useState(),[f,h]=b.useState(()=>new Set),[m,p]=b.useState({});b.useEffect(()=>{n(e),i(""),a(!1)},[e]),b.useEffect(()=>{if(c3.has(e.status)||e.id.startsWith("pending-"))return;let y=!1,x;const E=Date.now()+MAe,w=async()=>{try{const T=await wAe(e.id);y||(n({...T,prompt:T.prompt||e.prompt}),i(""),c3.has(T.status)||(x=window.setTimeout(w,$0)))}catch(T){if(!y){const S=T instanceof Y2?T:void 0;if((S==null?void 0:S.status)===404&&Date.now(){y=!0,x!==void 0&&window.clearTimeout(x)}},[e.id,e.status]);const g=E2.map((y,x)=>t.candidates.find(E=>E.model===y)??t.candidates[x]??LAe(y,x));async function v(y,x){d(y.id),p(E=>({...E,[y.id]:""}));try{await TAe(t.id,y.id,x),h(E=>new Set(E).add(y.id))}catch(E){p(w=>({...w,[y.id]:E instanceof Error?E.message:String(E)}))}finally{d(void 0)}}return o.jsxs("section",{className:"skill-workspace",children:[o.jsx("header",{className:"skill-workspace__intro",children:o.jsx("h1",{children:"正在把需求变成可运行的 Skill"})}),s?o.jsxs("div",{className:"skill-workspace__poll-error",role:"alert",children:["状态刷新失败:",s,"。",r?"":"页面会继续重试。"]}):null,o.jsx("div",{className:"skill-workspace__grid",children:g.map((y,x)=>{const w=f.has(y.id)||y.published?{...y,published:!0}:y;return o.jsx(jAe,{label:`方案 ${x===0?"A":"B"}`,jobId:t.id,candidate:w,selected:l===y.id,publishing:u===y.id,publishDisabled:u!==void 0&&u!==y.id,publishError:m[y.id],onSelect:()=>c(y.id),onPublish:T=>void v(y,T)},`${y.model}-${y.id}`)})})]})}function PAe(e){return Object.prototype.toString.call(e)==="[object Object]"}function u3(e){return PAe(e)||Array.isArray(e)}function BAe(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Q2(e,t){const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;const i=JSON.stringify(Object.keys(e.breakpoints||{})),r=JSON.stringify(Object.keys(t.breakpoints||{}));return i!==r?!1:n.every(a=>{const l=e[a],c=t[a];return typeof l=="function"?`${l}`==`${c}`:!u3(l)||!u3(c)?l===c:Q2(l,c)})}function d3(e){return e.concat().sort((t,n)=>t.name>n.name?1:-1).map(t=>t.options)}function UAe(e,t){if(e.length!==t.length)return!1;const n=d3(e),s=d3(t);return n.every((i,r)=>{const a=s[r];return Q2(i,a)})}function Z2(e){return typeof e=="number"}function aT(e){return typeof e=="string"}function Mx(e){return typeof e=="boolean"}function f3(e){return Object.prototype.toString.call(e)==="[object Object]"}function Es(e){return Math.abs(e)}function J2(e){return Math.sign(e)}function Bm(e,t){return Es(e-t)}function FAe(e,t){if(e===0||t===0||Es(e)<=Es(t))return 0;const n=Bm(Es(e),Es(t));return Es(n/e)}function $Ae(e){return Math.round(e*100)/100}function kp(e){return Ap(e).map(Number)}function xa(e){return e[xg(e)]}function xg(e){return Math.max(0,e.length-1)}function eA(e,t){return t===xg(e)}function h3(e,t=0){return Array.from(Array(e),(n,s)=>t+s)}function Ap(e){return Object.keys(e)}function Sz(e,t){return[e,t].reduce((n,s)=>(Ap(s).forEach(i=>{const r=n[i],a=s[i],l=f3(r)&&f3(a);n[i]=l?Sz(r,a):a}),n),{})}function oT(e,t){return typeof t.MouseEvent<"u"&&e instanceof t.MouseEvent}function HAe(e,t){const n={start:s,center:i,end:r};function s(){return 0}function i(c){return r(c)/2}function r(c){return t-c}function a(c,u){return aT(e)?n[e](c):e(t,c,u)}return{measure:a}}function Cp(){let e=[];function t(i,r,a,l={passive:!0}){let c;if("addEventListener"in i)i.addEventListener(r,a,l),c=()=>i.removeEventListener(r,a,l);else{const u=i;u.addListener(a),c=()=>u.removeListener(a)}return e.push(c),s}function n(){e=e.filter(i=>i())}const s={add:t,clear:n};return s}function zAe(e,t,n,s){const i=Cp(),r=1e3/60;let a=null,l=0,c=0;function u(){i.add(e,"visibilitychange",()=>{e.hidden&&p()})}function d(){m(),i.clear()}function f(v){if(!c)return;a||(a=v,n(),n());const y=v-a;for(a=v,l+=y;l>=r;)n(),l-=r;const x=l/r;s(x),c&&(c=t.requestAnimationFrame(f))}function h(){c||(c=t.requestAnimationFrame(f))}function m(){t.cancelAnimationFrame(c),a=null,l=0,c=0}function p(){a=null,l=0}return{init:u,destroy:d,start:h,stop:m,update:n,render:s}}function VAe(e,t){const n=t==="rtl",s=e==="y",i=s?"y":"x",r=s?"x":"y",a=!s&&n?-1:1,l=d(),c=f();function u(p){const{height:g,width:v}=p;return s?g:v}function d(){return s?"top":n?"right":"left"}function f(){return s?"bottom":n?"left":"right"}function h(p){return p*a}return{scroll:i,cross:r,startEdge:l,endEdge:c,measureSize:u,direction:h}}function Jc(e=0,t=0){const n=Es(e-t);function s(u){return ut}function r(u){return s(u)||i(u)}function a(u){return r(u)?s(u)?e:t:u}function l(u){return n?u-n*Math.ceil((u-t)/n):u}return{length:n,max:t,min:e,constrain:a,reachedAny:r,reachedMax:i,reachedMin:s,removeOffset:l}}function _z(e,t,n){const{constrain:s}=Jc(0,e),i=e+1;let r=a(t);function a(h){return n?Es((i+h)%i):s(h)}function l(){return r}function c(h){return r=a(h),f}function u(h){return d().set(l()+h)}function d(){return _z(e,l(),n)}const f={get:l,set:c,add:u,clone:d};return f}function GAe(e,t,n,s,i,r,a,l,c,u,d,f,h,m,p,g,v,y,x){const{cross:E,direction:w}=e,T=["INPUT","SELECT","TEXTAREA"],S={passive:!1},k=Cp(),A=Cp(),C=Jc(50,225).constrain(m.measure(20)),R={mouse:300,touch:400},M={mouse:500,touch:600},L=p?43:25;let G=!1,D=0,F=0,N=!1,O=!1,P=!1,$=!1;function I(ue){if(!x)return;function he(pe){(Mx(x)||x(ue,pe))&&K(pe)}const Re=t;k.add(Re,"dragstart",pe=>pe.preventDefault(),S).add(Re,"touchmove",()=>{},S).add(Re,"touchend",()=>{}).add(Re,"touchstart",he).add(Re,"mousedown",he).add(Re,"touchcancel",W).add(Re,"contextmenu",W).add(Re,"click",de,!0)}function q(){k.clear(),A.clear()}function Q(){const ue=$?n:t;A.add(ue,"touchmove",se,S).add(ue,"touchend",W).add(ue,"mousemove",se,S).add(ue,"mouseup",W)}function B(ue){const he=ue.nodeName||"";return T.includes(he)}function ee(){return(p?M:R)[$?"mouse":"touch"]}function z(ue,he){const Re=f.add(J2(ue)*-1),pe=d.byDistance(ue,!p).distance;return p||Es(ue)=2,!(he&&ue.button!==0)&&(B(ue.target)||(N=!0,r.pointerDown(ue),u.useFriction(0).useDuration(0),i.set(a),Q(),D=r.readPoint(ue),F=r.readPoint(ue,E),h.emit("pointerDown")))}function se(ue){if(!oT(ue,s)&&ue.touches.length>=2)return W(ue);const Re=r.readPoint(ue),pe=r.readPoint(ue,E),oe=Bm(Re,D),Te=Bm(pe,F);if(!O&&!$&&(!ue.cancelable||(O=oe>Te,!O)))return W(ue);const xe=r.pointerMove(ue);oe>g&&(P=!0),u.useFriction(.3).useDuration(.75),l.start(),i.add(w(xe)),ue.preventDefault()}function W(ue){const Re=d.byDistance(0,!1).index!==f.get(),pe=r.pointerUp(ue)*ee(),oe=z(w(pe),Re),Te=FAe(pe,oe),xe=L-10*Te,Xe=y+Te/50;O=!1,N=!1,A.clear(),u.useDuration(xe).useFriction(Xe),c.distance(oe,!p),$=!1,h.emit("pointerUp")}function de(ue){P&&(ue.stopPropagation(),ue.preventDefault(),P=!1)}function ye(){return N}return{init:I,destroy:q,pointerDown:ye}}function KAe(e,t){let s,i;function r(f){return f.timeStamp}function a(f,h){const p=`client${(h||e.scroll)==="x"?"X":"Y"}`;return(oT(f,t)?f:f.touches[0])[p]}function l(f){return s=f,i=f,a(f)}function c(f){const h=a(f)-a(i),m=r(f)-r(s)>170;return i=f,m&&(s=f),h}function u(f){if(!s||!i)return 0;const h=a(i)-a(s),m=r(f)-r(s),p=r(f)-r(i)>170,g=h/m;return m&&!p&&Es(g)>.1?g:0}return{pointerDown:l,pointerMove:c,pointerUp:u,readPoint:a}}function qAe(){function e(n){const{offsetTop:s,offsetLeft:i,offsetWidth:r,offsetHeight:a}=n;return{top:s,right:i+r,bottom:s+a,left:i,width:r,height:a}}return{measure:e}}function YAe(e){function t(s){return e*(s/100)}return{measure:t}}function WAe(e,t,n,s,i,r,a){const l=[e].concat(s);let c,u,d=[],f=!1;function h(v){return i.measureSize(a.measure(v))}function m(v){if(!r)return;u=h(e),d=s.map(h);function y(x){for(const E of x){if(f)return;const w=E.target===e,T=s.indexOf(E.target),S=w?u:d[T],k=h(w?e:s[T]);if(Es(k-S)>=.5){v.reInit(),t.emit("resize");break}}}c=new ResizeObserver(x=>{(Mx(r)||r(v,x))&&y(x)}),n.requestAnimationFrame(()=>{l.forEach(x=>c.observe(x))})}function p(){f=!0,c&&c.disconnect()}return{init:m,destroy:p}}function XAe(e,t,n,s,i,r){let a=0,l=0,c=i,u=r,d=e.get(),f=0;function h(){const S=s.get()-e.get(),k=!c;let A=0;return k?(a=0,n.set(s),e.set(s),A=S):(n.set(e),a+=S/c,a*=u,d+=a,e.add(a),A=d-f),l=J2(A),f=d,T}function m(){const S=s.get()-t.get();return Es(S)<.001}function p(){return c}function g(){return l}function v(){return a}function y(){return E(i)}function x(){return w(r)}function E(S){return c=S,T}function w(S){return u=S,T}const T={direction:g,duration:p,velocity:v,seek:h,settled:m,useBaseFriction:x,useBaseDuration:y,useFriction:w,useDuration:E};return T}function QAe(e,t,n,s,i){const r=i.measure(10),a=i.measure(50),l=Jc(.1,.99);let c=!1;function u(){return!(c||!e.reachedAny(n.get())||!e.reachedAny(t.get()))}function d(m){if(!u())return;const p=e.reachedMin(t.get())?"min":"max",g=Es(e[p]-t.get()),v=n.get()-t.get(),y=l.constrain(g/a);n.subtract(v*y),!m&&Es(v){const{min:v,max:y}=r,x=r.constrain(p),E=!g,w=eA(n,g);return E?y:w||u(v,x)?v:u(y,x)?y:x}).map(p=>parseFloat(p.toFixed(3)))}function h(){if(t<=e+i)return[r.max];if(s==="keepSnaps")return a;const{min:p,max:g}=l;return a.slice(p,g)}return{snapsContained:c,scrollContainLimit:l}}function JAe(e,t,n){const s=t[0],i=n?s-e:xa(t);return{limit:Jc(i,s)}}function eCe(e,t,n,s){const r=t.min+.1,a=t.max+.1,{reachedMin:l,reachedMax:c}=Jc(r,a);function u(h){return h===1?c(n.get()):h===-1?l(n.get()):!1}function d(h){if(!u(h))return;const m=e*(h*-1);s.forEach(p=>p.add(m))}return{loop:d}}function tCe(e){const{max:t,length:n}=e;function s(r){const a=r-t;return n?a/-n:0}return{get:s}}function nCe(e,t,n,s,i){const{startEdge:r,endEdge:a}=e,{groupSlides:l}=i,c=f().map(t.measure),u=h(),d=m();function f(){return l(s).map(g=>xa(g)[a]-g[0][r]).map(Es)}function h(){return s.map(g=>n[r]-g[r]).map(g=>-Es(g))}function m(){return l(u).map(g=>g[0]).map((g,v)=>g+c[v])}return{snaps:u,snapsAligned:d}}function sCe(e,t,n,s,i,r){const{groupSlides:a}=i,{min:l,max:c}=s,u=d();function d(){const h=a(r),m=!e||t==="keepSnaps";return n.length===1?[r]:m?h:h.slice(l,c).map((p,g,v)=>{const y=!g,x=eA(v,g);if(y){const E=xa(v[0])+1;return h3(E)}if(x){const E=xg(r)-xa(v)[0]+1;return h3(E,xa(v)[0])}return p})}return{slideRegistry:u}}function iCe(e,t,n,s,i){const{reachedAny:r,removeOffset:a,constrain:l}=s;function c(p){return p.concat().sort((g,v)=>Es(g)-Es(v))[0]}function u(p){const g=e?a(p):l(p),v=t.map((x,E)=>({diff:d(x-g,0),index:E})).sort((x,E)=>Es(x.diff)-Es(E.diff)),{index:y}=v[0];return{index:y,distance:g}}function d(p,g){const v=[p,p+n,p-n];if(!e)return p;if(!g)return c(v);const y=v.filter(x=>J2(x)===g);return y.length?c(y):xa(v)-n}function f(p,g){const v=t[p]-i.get(),y=d(v,g);return{index:p,distance:y}}function h(p,g){const v=i.get()+p,{index:y,distance:x}=u(v),E=!e&&r(v);if(!g||E)return{index:y,distance:p};const w=t[y]-x,T=p+d(w,0);return{index:y,distance:T}}return{byDistance:h,byIndex:f,shortcut:d}}function rCe(e,t,n,s,i,r,a){function l(f){const h=f.distance,m=f.index!==t.get();r.add(h),h&&(s.duration()?e.start():(e.update(),e.render(1),e.update())),m&&(n.set(t.get()),t.set(f.index),a.emit("select"))}function c(f,h){const m=i.byDistance(f,h);l(m)}function u(f,h){const m=t.clone().set(f),p=i.byIndex(m.get(),h);l(p)}return{distance:c,index:u}}function aCe(e,t,n,s,i,r,a,l){const c={passive:!0,capture:!0};let u=0;function d(m){if(!l)return;function p(g){if(new Date().getTime()-u>10)return;a.emit("slideFocusStart"),e.scrollLeft=0;const x=n.findIndex(E=>E.includes(g));Z2(x)&&(i.useDuration(0),s.index(x,0),a.emit("slideFocus"))}r.add(document,"keydown",f,!1),t.forEach((g,v)=>{r.add(g,"focus",y=>{(Mx(l)||l(m,y))&&p(v)},c)})}function f(m){m.code==="Tab"&&(u=new Date().getTime())}return{init:d}}function nm(e){let t=e;function n(){return t}function s(c){t=a(c)}function i(c){t+=a(c)}function r(c){t-=a(c)}function a(c){return Z2(c)?c:c.get()}return{get:n,set:s,add:i,subtract:r}}function Tz(e,t){const n=e.scroll==="x"?a:l,s=t.style;let i=null,r=!1;function a(h){return`translate3d(${h}px,0px,0px)`}function l(h){return`translate3d(0px,${h}px,0px)`}function c(h){if(r)return;const m=$Ae(e.direction(h));m!==i&&(s.transform=n(m),i=m)}function u(h){r=!h}function d(){r||(s.transform="",t.getAttribute("style")||t.removeAttribute("style"))}return{clear:d,to:c,toggleActive:u}}function oCe(e,t,n,s,i,r,a,l,c){const d=kp(i),f=kp(i).reverse(),h=y().concat(x());function m(k,A){return k.reduce((C,R)=>C-i[R],A)}function p(k,A){return k.reduce((C,R)=>m(C,A)>0?C.concat([R]):C,[])}function g(k){return r.map((A,C)=>({start:A-s[C]+.5+k,end:A+t-.5+k}))}function v(k,A,C){const R=g(A);return k.map(M=>{const L=C?0:-n,G=C?n:0,D=C?"end":"start",F=R[M][D];return{index:M,loopPoint:F,slideLocation:nm(-1),translate:Tz(e,c[M]),target:()=>l.get()>F?L:G}})}function y(){const k=a[0],A=p(f,k);return v(A,n,!1)}function x(){const k=t-a[0]-1,A=p(d,k);return v(A,-n,!0)}function E(){return h.every(({index:k})=>{const A=d.filter(C=>C!==k);return m(A,t)<=.1})}function w(){h.forEach(k=>{const{target:A,translate:C,slideLocation:R}=k,M=A();M!==R.get()&&(C.to(M),R.set(M))})}function T(){h.forEach(k=>k.translate.clear())}return{canLoop:E,clear:T,loop:w,loopPoints:h}}function lCe(e,t,n){let s,i=!1;function r(c){if(!n)return;function u(d){for(const f of d)if(f.type==="childList"){c.reInit(),t.emit("slidesChanged");break}}s=new MutationObserver(d=>{i||(Mx(n)||n(c,d))&&u(d)}),s.observe(e,{childList:!0})}function a(){s&&s.disconnect(),i=!0}return{init:r,destroy:a}}function cCe(e,t,n,s){const i={};let r=null,a=null,l,c=!1;function u(){l=new IntersectionObserver(p=>{c||(p.forEach(g=>{const v=t.indexOf(g.target);i[v]=g}),r=null,a=null,n.emit("slidesInView"))},{root:e.parentElement,threshold:s}),t.forEach(p=>l.observe(p))}function d(){l&&l.disconnect(),c=!0}function f(p){return Ap(i).reduce((g,v)=>{const y=parseInt(v),{isIntersecting:x}=i[y];return(p&&x||!p&&!x)&&g.push(y),g},[])}function h(p=!0){if(p&&r)return r;if(!p&&a)return a;const g=f(p);return p&&(r=g),p||(a=g),g}return{init:u,destroy:d,get:h}}function uCe(e,t,n,s,i,r){const{measureSize:a,startEdge:l,endEdge:c}=e,u=n[0]&&i,d=p(),f=g(),h=n.map(a),m=v();function p(){if(!u)return 0;const x=n[0];return Es(t[l]-x[l])}function g(){if(!u)return 0;const x=r.getComputedStyle(xa(s));return parseFloat(x.getPropertyValue(`margin-${c}`))}function v(){return n.map((x,E,w)=>{const T=!E,S=eA(w,E);return T?h[E]+d:S?h[E]+f:w[E+1][l]-x[l]}).map(Es)}return{slideSizes:h,slideSizesWithGaps:m,startGap:d,endGap:f}}function dCe(e,t,n,s,i,r,a,l,c){const{startEdge:u,endEdge:d,direction:f}=e,h=Z2(n);function m(y,x){return kp(y).filter(E=>E%x===0).map(E=>y.slice(E,E+x))}function p(y){return y.length?kp(y).reduce((x,E,w)=>{const T=xa(x)||0,S=T===0,k=E===xg(y),A=i[u]-r[T][u],C=i[u]-r[E][d],R=!s&&S?f(a):0,M=!s&&k?f(l):0,L=Es(C-M-(A+R));return w&&L>t+c&&x.push(E),k&&x.push(y.length),x},[]).map((x,E,w)=>{const T=Math.max(w[E-1]||0);return y.slice(T,x)}):[]}function g(y){return h?m(y,n):p(y)}return{groupSlides:g}}function fCe(e,t,n,s,i,r,a){const{align:l,axis:c,direction:u,startIndex:d,loop:f,duration:h,dragFree:m,dragThreshold:p,inViewThreshold:g,slidesToScroll:v,skipSnaps:y,containScroll:x,watchResize:E,watchSlides:w,watchDrag:T,watchFocus:S}=r,k=2,A=qAe(),C=A.measure(t),R=n.map(A.measure),M=VAe(c,u),L=M.measureSize(C),G=YAe(L),D=HAe(l,L),F=!f&&!!x,N=f||!!x,{slideSizes:O,slideSizesWithGaps:P,startGap:$,endGap:I}=uCe(M,C,R,n,N,i),q=dCe(M,L,v,f,C,R,$,I,k),{snaps:Q,snapsAligned:B}=nCe(M,D,C,R,q),ee=-xa(Q)+xa(P),{snapsContained:z,scrollContainLimit:K}=ZAe(L,ee,B,x,k),se=F?z:B,{limit:W}=JAe(ee,se,f),de=_z(xg(se),d,f),ye=de.clone(),we=kp(n),ue=({dragHandler:Ue,scrollBody:Ye,scrollBounds:xt,options:{loop:at}})=>{at||xt.constrain(Ue.pointerDown()),Ye.seek()},he=({scrollBody:Ue,translate:Ye,location:xt,offsetLocation:at,previousLocation:fn,scrollLooper:vt,slideLooper:it,dragHandler:Ht,animation:qe,eventHandler:zt,scrollBounds:st,options:{loop:St}},$e)=>{const Tt=Ue.settled(),Ee=!st.shouldConstrain(),Qe=St?Tt:Tt&&Ee,kt=Qe&&!Ht.pointerDown();kt&&qe.stop();const nn=xt.get()*$e+fn.get()*(1-$e);at.set(nn),St&&(vt.loop(Ue.direction()),it.loop()),Ye.to(at.get()),kt&&zt.emit("settle"),Qe||zt.emit("scroll")},Re=zAe(s,i,()=>ue(ge),Ue=>he(ge,Ue)),pe=.68,oe=se[de.get()],Te=nm(oe),xe=nm(oe),Xe=nm(oe),Me=nm(oe),ze=XAe(Te,Xe,xe,Me,h,pe),_e=iCe(f,se,ee,W,Me),Pe=rCe(Re,de,ye,ze,_e,Me,a),Fe=tCe(W),Ke=Cp(),X=cCe(t,n,a,g),{slideRegistry:ae}=sCe(F,x,se,K,q,we),te=aCe(e,n,ae,Pe,ze,Ke,a,S),ge={ownerDocument:s,ownerWindow:i,eventHandler:a,containerRect:C,slideRects:R,animation:Re,axis:M,dragHandler:GAe(M,e,s,i,Me,KAe(M,i),Te,Re,Pe,ze,_e,de,a,G,m,p,y,pe,T),eventStore:Ke,percentOfView:G,index:de,indexPrevious:ye,limit:W,location:Te,offsetLocation:Xe,previousLocation:xe,options:r,resizeHandler:WAe(t,a,i,n,M,E,A),scrollBody:ze,scrollBounds:QAe(W,Xe,Me,ze,G),scrollLooper:eCe(ee,W,Xe,[Te,Xe,xe,Me]),scrollProgress:Fe,scrollSnapList:se.map(Fe.get),scrollSnaps:se,scrollTarget:_e,scrollTo:Pe,slideLooper:oCe(M,L,ee,O,P,Q,se,Xe,n),slideFocus:te,slidesHandler:lCe(t,a,w),slidesInView:X,slideIndexes:we,slideRegistry:ae,slidesToScroll:q,target:Me,translate:Tz(M,t)};return ge}function hCe(){let e={},t;function n(u){t=u}function s(u){return e[u]||[]}function i(u){return s(u).forEach(d=>d(t,u)),c}function r(u,d){return e[u]=s(u).concat([d]),c}function a(u,d){return e[u]=s(u).filter(f=>f!==d),c}function l(){e={}}const c={init:n,emit:i,off:a,on:r,clear:l};return c}const mCe={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function pCe(e){function t(r,a){return Sz(r,a||{})}function n(r){const a=r.breakpoints||{},l=Ap(a).filter(c=>e.matchMedia(c).matches).map(c=>a[c]).reduce((c,u)=>t(c,u),{});return t(r,l)}function s(r){return r.map(a=>Ap(a.breakpoints||{})).reduce((a,l)=>a.concat(l),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:n,optionsMediaQueries:s}}function gCe(e){let t=[];function n(r,a){return t=a.filter(({options:l})=>e.optionsAtMedia(l).active!==!1),t.forEach(l=>l.init(r,e)),a.reduce((l,c)=>Object.assign(l,{[c.name]:c}),{})}function s(){t=t.filter(r=>r.destroy())}return{init:n,destroy:s}}function Zy(e,t,n){const s=e.ownerDocument,i=s.defaultView,r=pCe(i),a=gCe(r),l=Cp(),c=hCe(),{mergeOptions:u,optionsAtMedia:d,optionsMediaQueries:f}=r,{on:h,off:m,emit:p}=c,g=M;let v=!1,y,x=u(mCe,Zy.globalOptions),E=u(x),w=[],T,S,k;function A(){const{container:we,slides:ue}=E;S=(aT(we)?e.querySelector(we):we)||e.children[0];const Re=aT(ue)?S.querySelectorAll(ue):ue;k=[].slice.call(Re||S.children)}function C(we){const ue=fCe(e,S,k,s,i,we,c);if(we.loop&&!ue.slideLooper.canLoop()){const he=Object.assign({},we,{loop:!1});return C(he)}return ue}function R(we,ue){v||(x=u(x,we),E=d(x),w=ue||w,A(),y=C(E),f([x,...w.map(({options:he})=>he)]).forEach(he=>l.add(he,"change",M)),E.active&&(y.translate.to(y.location.get()),y.animation.init(),y.slidesInView.init(),y.slideFocus.init(ye),y.eventHandler.init(ye),y.resizeHandler.init(ye),y.slidesHandler.init(ye),y.options.loop&&y.slideLooper.loop(),S.offsetParent&&k.length&&y.dragHandler.init(ye),T=a.init(ye,w)))}function M(we,ue){const he=q();L(),R(u({startIndex:he},we),ue),c.emit("reInit")}function L(){y.dragHandler.destroy(),y.eventStore.clear(),y.translate.clear(),y.slideLooper.clear(),y.resizeHandler.destroy(),y.slidesHandler.destroy(),y.slidesInView.destroy(),y.animation.destroy(),a.destroy(),l.clear()}function G(){v||(v=!0,l.clear(),L(),c.emit("destroy"),c.clear())}function D(we,ue,he){!E.active||v||(y.scrollBody.useBaseFriction().useDuration(ue===!0?0:E.duration),y.scrollTo.index(we,he||0))}function F(we){const ue=y.index.add(1).get();D(ue,we,-1)}function N(we){const ue=y.index.add(-1).get();D(ue,we,1)}function O(){return y.index.add(1).get()!==q()}function P(){return y.index.add(-1).get()!==q()}function $(){return y.scrollSnapList}function I(){return y.scrollProgress.get(y.offsetLocation.get())}function q(){return y.index.get()}function Q(){return y.indexPrevious.get()}function B(){return y.slidesInView.get()}function ee(){return y.slidesInView.get(!1)}function z(){return T}function K(){return y}function se(){return e}function W(){return S}function de(){return k}const ye={canScrollNext:O,canScrollPrev:P,containerNode:W,internalEngine:K,destroy:G,off:m,on:h,emit:p,plugins:z,previousScrollSnap:Q,reInit:g,rootNode:se,scrollNext:F,scrollPrev:N,scrollProgress:I,scrollSnapList:$,scrollTo:D,selectedScrollSnap:q,slideNodes:de,slidesInView:B,slidesNotInView:ee};return R(t,n),setTimeout(()=>c.emit("init"),0),ye}Zy.globalOptions=void 0;function tA(e={},t=[]){const n=b.useRef(e),s=b.useRef(t),[i,r]=b.useState(),[a,l]=b.useState(),c=b.useCallback(()=>{i&&i.reInit(n.current,s.current)},[i]);return b.useEffect(()=>{Q2(n.current,e)||(n.current=e,c())},[e,c]),b.useEffect(()=>{UAe(s.current,t)||(s.current=t,c())},[t,c]),b.useEffect(()=>{if(BAe()&&a){Zy.globalOptions=tA.globalOptions;const u=Zy(a,n.current,s.current);return r(u),()=>u.destroy()}else r(void 0)},[a,r]),[l,i]}tA.globalOptions=void 0;const Nz=b.createContext(null);function Eg(...e){return e.filter(Boolean).join(" ")}function Lx(){const e=b.useContext(Nz);if(!e)throw new Error("useCarousel must be used within a ");return e}function bCe({orientation:e="horizontal",opts:t,setApi:n,plugins:s,className:i,children:r,...a}){const[l,c]=tA({...t,axis:e==="horizontal"?"x":"y"},s),[u,d]=b.useState(!1),[f,h]=b.useState(!1),m=b.useCallback(y=>{y&&(d(y.canScrollPrev()),h(y.canScrollNext()))},[]),p=b.useCallback(()=>c==null?void 0:c.scrollPrev(),[c]),g=b.useCallback(()=>c==null?void 0:c.scrollNext(),[c]),v=b.useCallback(y=>{y.key==="ArrowLeft"?(y.preventDefault(),p()):y.key==="ArrowRight"&&(y.preventDefault(),g())},[g,p]);return b.useEffect(()=>{c&&n&&n(c)},[c,n]),b.useEffect(()=>{if(c)return m(c),c.on("reInit",m),c.on("select",m),()=>{c.off("reInit",m),c.off("select",m)}},[c,m]),o.jsx(Nz.Provider,{value:{carouselRef:l,api:c,opts:t,orientation:e,plugins:s,setApi:n,scrollPrev:p,scrollNext:g,canScrollPrev:u,canScrollNext:f},children:o.jsx("div",{onKeyDownCapture:v,className:Eg("ui-carousel",i),role:"region","aria-roledescription":"carousel","aria-orientation":e,"data-slot":"carousel",...a,children:r})})}function yCe({className:e,...t}){const{carouselRef:n,orientation:s}=Lx();return o.jsx("div",{ref:n,className:"ui-carousel__viewport","data-slot":"carousel-content",children:o.jsx("div",{className:Eg("ui-carousel__track",s==="vertical"?"is-vertical":void 0,e),...t})})}function xCe({className:e,...t}){const{orientation:n}=Lx();return o.jsx("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:Eg("ui-carousel__item",n==="vertical"?"is-vertical":void 0,e),...t})}function kz({direction:e}){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:e==="left"?"m10 3.75-4.25 4.25L10 12.25":"m6 3.75 4.25 4.25L6 12.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function ECe({className:e,...t}){const{orientation:n,scrollPrev:s,canScrollPrev:i}=Lx();return o.jsx("button",{type:"button","data-slot":"carousel-previous",className:Eg("ui-carousel__control ui-carousel__control--previous",n==="vertical"?"is-vertical":void 0,e),disabled:!i,onClick:s,"aria-label":"上一张",...t,children:o.jsx(kz,{direction:"left"})})}function vCe({className:e,...t}){const{orientation:n,scrollNext:s,canScrollNext:i}=Lx();return o.jsx("button",{type:"button","data-slot":"carousel-next",className:Eg("ui-carousel__control ui-carousel__control--next",n==="vertical"?"is-vertical":void 0,e),disabled:!i,onClick:s,"aria-label":"下一张",...t,children:o.jsx(kz,{direction:"right"})})}const m3=[{title:"随心应变",description:"支持多类 Agent",illustration:"agents"},{title:"一键成型",description:"自动构建 Agent",illustration:"build"},{title:"一搜即达",description:"全局搜索",illustration:"search"},{title:"开箱即用",description:"丰富内置工具",illustration:"tools"}];function wCe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m4.25 4.25 7.5 7.5m0-7.5-7.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function SCe({kind:e}){return e==="agents"?o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsx("g",{className:"new-chat-feature-card__illustration-connectors",children:o.jsx("path",{d:"M43 27.5V33.5H22V38.5M43 33.5H64V38.5"})}),o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"33",y:"6.5",width:"20",height:"21",rx:"6"}),o.jsx("rect",{x:"9",y:"38.5",width:"26",height:"19",rx:"6"}),o.jsx("rect",{x:"51",y:"38.5",width:"26",height:"19",rx:"6"})]}),o.jsxs("g",{className:"new-chat-feature-card__illustration-details",children:[o.jsx("circle",{className:"new-chat-feature-card__illustration-dot",cx:"40",cy:"14.5",r:"1.25"}),o.jsx("circle",{className:"new-chat-feature-card__illustration-dot",cx:"46",cy:"14.5",r:"1.25"}),o.jsx("path",{d:"M39.5 21h7M17 46.5h10M17 51.5h7M59 46.5h10M59 51.5h7"})]})]}):e==="build"?o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsx("g",{className:"new-chat-feature-card__illustration-connectors",children:o.jsx("path",{d:"M26.5 39H36M50 39h9.5"})}),o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"5.5",y:"7.5",width:"75",height:"49",rx:"7.5"}),o.jsx("rect",{x:"12.5",y:"31.5",width:"14",height:"15",rx:"4"}),o.jsx("rect",{x:"36",y:"31.5",width:"14",height:"15",rx:"4"}),o.jsx("rect",{x:"59.5",y:"31.5",width:"14",height:"15",rx:"4"})]}),o.jsx("g",{className:"new-chat-feature-card__illustration-details",children:o.jsx("path",{d:"M6 20.5h74M13.5 14h.01m6 0h.01m6 0h.01M17 39h5m18.5 0h5m18-1 2.5 2.5 4-5"})})]}):e==="search"?o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"7.5",y:"9.5",width:"41",height:"16",rx:"5"}),o.jsx("rect",{x:"7.5",y:"35.5",width:"34",height:"18",rx:"5"}),o.jsx("circle",{cx:"61",cy:"33",r:"10.5"})]}),o.jsx("g",{className:"new-chat-feature-card__illustration-details",children:o.jsx("path",{d:"M14.5 16h21M14.5 21h14M14.5 42.5h17M14.5 47.5h11M68.5 40.5 77 49"})})]}):o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"8.5",y:"7.5",width:"29",height:"21",rx:"6"}),o.jsx("rect",{x:"48.5",y:"7.5",width:"29",height:"21",rx:"6"}),o.jsx("rect",{x:"8.5",y:"35.5",width:"29",height:"21",rx:"6"}),o.jsx("rect",{x:"48.5",y:"35.5",width:"29",height:"21",rx:"6"})]}),o.jsx("g",{className:"new-chat-feature-card__illustration-details",children:o.jsx("path",{d:"M23 13.5v9m-4.5-4.5h9M56.5 14.5h13M56.5 21.5h13M16.5 42.5h13M16.5 49.5h9M56.5 42.5h13M56.5 49.5h13"})})]})}function _Ce(){const[e,t]=b.useState(),[n,s]=b.useState(!1),[i,r]=b.useState(!1),[a,l]=b.useState(!1),[c,u]=b.useState(!0);return b.useEffect(()=>{if(!c)return;const d=window.matchMedia("(prefers-reduced-motion: reduce)"),f=()=>l(d.matches);return f(),d.addEventListener("change",f),()=>d.removeEventListener("change",f)},[c]),b.useEffect(()=>{if(!c||!e||n||i||a)return;const d=window.setInterval(()=>e.scrollNext(),6e3);return()=>window.clearInterval(d)},[e,i,n,a,c]),c?o.jsxs(bCe,{className:"new-chat-feature-carousel",opts:{align:"start",loop:!0},setApi:t,"aria-label":"新特性预览",onPointerEnter:()=>s(!0),onPointerLeave:()=>s(!1),onFocusCapture:()=>r(!0),onBlurCapture:d=>{d.currentTarget.contains(d.relatedTarget)||r(!1)},children:[o.jsx(ECe,{"aria-label":"上一张新特性"}),o.jsx(yCe,{children:m3.map((d,f)=>o.jsx(xCe,{"aria-label":`${f+1} / ${m3.length}`,children:o.jsxs("article",{className:"new-chat-feature-card",children:[o.jsxs("div",{className:"new-chat-feature-card__copy",children:[o.jsx("strong",{children:d.title}),o.jsx("span",{children:d.description})]}),o.jsx(SCe,{kind:d.illustration})]})},d.title))}),o.jsx("button",{type:"button",className:"new-chat-feature-carousel__close","aria-label":"关闭新特性轮播",onClick:()=>u(!1),children:o.jsx(wCe,{})}),o.jsx(vCe,{"aria-label":"下一张新特性"})]}):null}const TCe=3*60*1e3,NCe=3e3,kCe=10*60*1e3,Jy="veadk.studio.pending-update",p3=[{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],ACe={resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function CCe(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function ICe(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function RCe(){if(typeof window>"u")return null;const e=window.localStorage.getItem(Jy);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(Jy),null}function bw(e,t){window.localStorage.setItem(Jy,JSON.stringify({targetVersion:e,startedAt:t}))}function H0(){window.localStorage.removeItem(Jy)}function g3({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),o.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),o.jsx("path",{d:"M12 7.8v7.7"}),o.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function OCe(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m4 6 4 4 4-4"})})}function jCe(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function b3({lines:e,phase:t,copyState:n,onCopy:s}){const i=b.useRef(null),r=b.useRef(!0);return b.useEffect(()=>{const a=i.current;a&&r.current&&(a.scrollTop=a.scrollHeight)},[e]),o.jsxs("section",{className:"studio-update-live-log","aria-label":"VeFaaS 更新日志",children:[o.jsxs("div",{className:"studio-update-log-header",children:[o.jsxs("span",{children:[o.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"VeFaaS 更新日志",o.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),o.jsx("button",{type:"button",onClick:s,disabled:!e.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),o.jsx("div",{ref:i,className:"studio-update-log-lines",role:"log","aria-live":"off",tabIndex:0,onScroll:a=>{const l=a.currentTarget;r.current=l.scrollHeight-l.scrollTop-l.clientHeight<24},children:e.length?e.map((a,l)=>o.jsx("div",{children:a},`${l}-${a}`)):o.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function MCe({variant:e="default"}){var D,F;const[t]=b.useState(RCe),[n,s]=b.useState(null),[i,r]=b.useState(t?"submitting":"idle"),[a,l]=b.useState(!1),[c,u]=b.useState(""),[d,f]=b.useState((t==null?void 0:t.targetVersion)??""),[h,m]=b.useState(!1),[p,g]=b.useState("idle"),[v,y]=b.useState(0),x=b.useRef(null),E=b.useRef((t==null?void 0:t.targetVersion)??""),w=b.useRef((t==null?void 0:t.startedAt)??0);b.useEffect(()=>{if(!h)return;const N=P=>{var $;P.target instanceof Node&&!(($=x.current)!=null&&$.contains(P.target))&&m(!1)},O=P=>{P.key==="Escape"&&m(!1)};return window.addEventListener("pointerdown",N),window.addEventListener("keydown",O),()=>{window.removeEventListener("pointerdown",N),window.removeEventListener("keydown",O)}},[h]);const T=b.useCallback(async()=>{const N=await eB(E.current||void 0,w.current||void 0);return s(N),N},[]);if(b.useEffect(()=>{let N=!0;const O=()=>{T().catch(()=>{N&&s($=>$)})};O();const P=window.setInterval(O,TCe);return()=>{N=!1,window.clearInterval(P)}},[T]),b.useEffect(()=>{if(i!=="submitting")return;const N=window.setInterval(()=>{T().then(O=>{const P=E.current;if(P&&ICe(O.currentVersion,P)||!P&&!O.available&&O.latestVersion){window.clearInterval(N),H0(),r("published"),u("Studio 已更新,刷新页面即可使用新版本");return}if(O.state==="error"){window.clearInterval(N),H0(),r("error"),u(O.message||"Studio 更新失败");return}Date.now()-w.current>kCe&&(window.clearInterval(N),H0(),r("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},NCe);return()=>window.clearInterval(N)},[i,T]),b.useEffect(()=>{i!=="idle"||(n==null?void 0:n.state)!=="updating"||(E.current=n.targetVersion,w.current=n.startedAt||Date.now(),bw(n.targetVersion,w.current),f(n.targetVersion),r("submitting"))},[i,n]),b.useEffect(()=>{if(i!=="submitting"){y(0);return}const N=()=>{const P=w.current||Date.now();y(Math.max(0,Math.floor((Date.now()-P)/1e3)))};N();const O=window.setInterval(N,1e3);return()=>window.clearInterval(O)},[i]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||i!=="idle"))return null;const k=n.releases??[],A=d||((D=k[0])==null?void 0:D.version)||n.latestVersion,C=k.find(N=>N.version===A),R=async()=>{E.current=A,w.current=Date.now(),bw(A,w.current),r("submitting"),u(""),g("idle");try{const N=await tB(A);E.current=N.version,bw(N.version,w.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch(N){if(N instanceof TypeError){u("连接已切换,正在确认新版本状态");return}H0(),r("error");const O=N instanceof Error?N.message:"Studio 更新失败";try{const P=await T();u(P.message||O)}catch{u(O)}}},M=(F=n.updateLogs)!=null&&F.length?n.updateLogs:(n.errorLog||n.progressMessage||c).split(` -`).filter(Boolean),L=async()=>{try{await navigator.clipboard.writeText(M.join(` -`)),g("copied")}catch{g("error")}},G=()=>{var N;m(!1),g("idle"),u(""),f(E.current||((N=k[0])==null?void 0:N.version)||""),r("confirm")};return o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${i}`,title:i==="submitting"?"正在更新 Studio":i==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var N;i==="published"?window.location.reload():(i==="submitting"||i==="error"||(f(((N=k[0])==null?void 0:N.version)||n.latestVersion),r("confirm")),l(!0))},children:[e!=="feature-link"&&o.jsx(g3,{className:"studio-update-icon"}),i==="submitting"?o.jsx(Vl,{as:"span",children:"正在更新"}):i==="published"?o.jsx("span",{children:"刷新使用新版"}):i==="error"?o.jsx("span",{children:"更新失败"}):e==="feature-link"?o.jsx("span",{children:"立即更新"}):o.jsx("span",{children:"有新版更新"})]}),a&&i!=="idle"&&o.jsx("div",{className:"confirm-scrim",role:"presentation",children:o.jsxs("section",{className:"confirm-box studio-update-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[o.jsx("div",{className:"studio-update-dialog-mark",children:o.jsx(g3,{})}),o.jsx("div",{id:"studio-update-title",className:"confirm-title",children:i==="error"?"Studio 更新失败":i==="submitting"?"正在更新 Studio":i==="published"?"Studio 更新完成":"发现新版本"}),i==="error"?o.jsxs("div",{className:"studio-update-error-panel",children:[o.jsx("p",{className:"confirm-text studio-update-error",children:c}),o.jsxs("dl",{className:"studio-update-error-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"失败阶段"}),o.jsx("dd",{children:ACe[n.errorStage]||n.errorStage||"未知阶段"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"错误 ID"}),o.jsx("dd",{children:n.errorId||"未生成"})]})]}),o.jsx(b3,{lines:M,phase:"error",copyState:p,onCopy:()=>void L()}),n.consoleUrl&&o.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",o.jsx("span",{"aria-hidden":!0,children:"↗"})]})]}):i==="submitting"||i==="published"?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"studio-update-progress-summary",children:[o.jsxs("div",{children:[o.jsx("span",{children:"目标版本"}),o.jsx("strong",{children:E.current||A})]}),o.jsxs("div",{children:[o.jsx("span",{children:i==="published"?"更新状态":"已用时"}),o.jsx("strong",{children:i==="published"?"已完成":CCe(v)})]})]}),o.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:p3.map((N,O)=>{const P=p3.findIndex(q=>q.id===n.progressStage),$=i==="published"||Ovoid L()}),o.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),o.jsxs("div",{className:"studio-update-field",ref:x,children:[o.jsx("span",{children:"选择版本"}),o.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":h,onClick:()=>m(N=>!N),onKeyDown:N=>{(N.key==="ArrowDown"||N.key==="ArrowUp")&&(N.preventDefault(),m(!0))},children:[o.jsx("span",{children:A}),o.jsx(OCe,{})]}),h&&o.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:k.map(N=>{const O=N.version===A;return o.jsxs("button",{type:"button",role:"option","aria-selected":O,className:`studio-update-version-option${O?" is-selected":""}`,onClick:()=>{f(N.version),m(!1)},children:[o.jsx("span",{children:N.version}),O&&o.jsx(jCe,{})]},N.version)})})]}),o.jsxs("dl",{className:"studio-update-versions",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:n.currentVersion})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"目标版本"}),o.jsx("dd",{children:A})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Commit"}),o.jsx("dd",{children:((C==null?void 0:C.gitSha)||n.latestGitSha).slice(0,8)})]})]}),o.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[o.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),C!=null&&C.changelog.length?o.jsx("ul",{children:C.changelog.map(N=>o.jsx("li",{children:N},N))}):o.jsx("p",{children:"暂无更新说明"})]})]}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{l(!1),m(!1),i==="confirm"&&(r("idle"),u(""))},children:i==="submitting"?"后台运行":i==="confirm"?"取消":"关闭"}),i==="confirm"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void R(),children:"立即更新"}),i==="error"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:G,children:"重新尝试"})]})]})})]})}const LCe=[{title:"多地域智能体",description:"并行加载北京与上海 Runtime,列表下滑即可继续加载。"},{title:"会话内切换",description:"在输入框旁选择智能体,并直接开启一段新会话。"},{title:"可视化执行画布",description:"通过横向画布查看多智能体结构,并支持全屏浏览。"}];function DCe({canUpdate:e=!1}){return o.jsxs("div",{className:"welcome-feature-pill",children:[o.jsx("span",{children:"焕然一新"}),o.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),o.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),o.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[o.jsx("strong",{children:"本次更新"}),o.jsx("ul",{children:LCe.map(t=>o.jsxs("li",{children:[o.jsx("span",{children:t.title}),o.jsx("p",{children:t.description})]},t.title))})]}),e&&o.jsx(MCe,{variant:"feature-link"})]})}const PCe=1e4;async function Az(e){const t=await fetch(An(e),{headers:I1({Accept:"application/json"}),signal:Dn(void 0,PCe)});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 BCe(){return Az("/web/sandbox/capabilities")}async function UCe(){return Az("/web/skill-creator/capabilities")}const FCe="我的智能体";function $Ce({open:e,state:t,agentKind:n="codex",error:s,onCancel:i,onConfirm:r}){const a=n==="codex"?"Codex":n==="openclaw"?"OpenClaw":"Hermes",l=n==="codex"?FCe:`我的 ${a}`,c=b.useRef(null),u=b.useRef(null),d=b.useRef(null),f=b.useRef(!1),h=b.useRef(i),[m,p]=b.useState(l);if(h.current=i,b.useEffect(()=>{if(!e)return;p(l);const x=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var T,S;(T=u.current)==null||T.focus(),(S=u.current)==null||S.select()}),w=T=>{var C;if(T.key==="Escape"){T.preventDefault(),h.current();return}if(T.key!=="Tab")return;const S=(C=c.current)==null?void 0:C.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(S!=null&&S.length))return;const k=S[0],A=S[S.length-1];T.shiftKey&&document.activeElement===k?(T.preventDefault(),A.focus()):!T.shiftKey&&document.activeElement===A&&(T.preventDefault(),k.focus())};return window.addEventListener("keydown",w),()=>{window.cancelAnimationFrame(E),document.body.style.overflow=x,window.removeEventListener("keydown",w)}},[l,e]),!e)return null;const g=t==="loading",v=m.trim(),y=g?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return xi.createPortal(o.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:x=>{x.target===x.currentTarget&&!g&&i()},children:o.jsxs("form",{ref:c,className:"sandbox-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-dialog-title","aria-describedby":t==="confirm"?void 0:"sandbox-dialog-description",onSubmit:x=>{x.preventDefault(),!g&&!f.current&&v&&r(v)},children:[o.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[o.jsx("span",{className:"sandbox-dialog-orbit"}),o.jsx("span",{className:"sandbox-dialog-icon",children:g?o.jsx("span",{className:"sandbox-spinner"}):o.jsx(_p,{kind:n})})]}),o.jsxs("div",{className:"sandbox-dialog-copy",children:[o.jsx("h2",{id:"sandbox-dialog-title",children:y}),t==="error"?o.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:s||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):g?o.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,o.jsxs("label",{className:"sandbox-dialog-field",children:[o.jsxs("span",{className:"sandbox-dialog-field-label",children:[o.jsx("span",{children:"智能体名称"}),o.jsxs("span",{"aria-hidden":"true",children:[m.length,"/",fL]})]}),o.jsx("input",{ref:u,type:"text",required:!0,value:m,maxLength:fL,disabled:g,placeholder:l,autoComplete:"off",onChange:x=>p(x.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:x=>{const{nativeEvent:E}=x;x.key==="Enter"&&(f.current||E.isComposing||E.keyCode===229)&&x.preventDefault()}})]})]}),o.jsxs("footer",{className:"sandbox-dialog-actions",children:[o.jsx("button",{ref:d,type:"button",onClick:i,children:g?"取消创建":"取消"}),!g&&o.jsx("button",{type:"submit",className:"is-primary",disabled:!v,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function HCe({agentName:e,onExit:t}){return o.jsxs("div",{className:"sandbox-session-warning",role:"status",children:[o.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),o.jsxs("span",{className:"sandbox-session-warning-copy",children:["当前您在使用 ",e," 智能体"]}),o.jsx("button",{type:"button",onClick:t,children:"退出内置智能体"})]})}function zCe({activity:e,time:t}){var n;return o.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[o.jsxs("div",{className:"sandbox-activity-summary",children:[o.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),o.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),o.jsx("strong",{children:e.title}),t?o.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?o.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(s=>o.jsxs("div",{children:[o.jsx("dt",{children:s.label}),o.jsx("dd",{title:s.value,children:s.code?o.jsx("code",{children:s.value}):s.value})]},`${s.label}:${s.value}`))}):null]})}function VCe(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 GCe({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 o.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,s])=>o.jsxs("span",{title:`${n}: ${s.toLocaleString()} tokens`,children:[o.jsx("small",{children:n}),o.jsx("strong",{children:VCe(s)})]},n))})}function Cz(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),o.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function Iz(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("path",{d:"M3.8 8h16.4"}),o.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),o.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function nA(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function Cb(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function KCe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function qCe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function YCe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),o.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function WCe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),o.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function XCe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),o.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function QCe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.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 ZCe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function lT(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m9 6 6 6-6 6"})})}function JCe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),o.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function Io(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function vg({open:e,title:t,subtitle:n,icon:s,className:i="",onClose:r,children:a}){const l=b.useId(),c=b.useRef(null),u=b.useRef(null),d=b.useRef(r);return d.current=r,b.useEffect(()=>{var m;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(m=c.current)==null||m.focus();const h=p=>{var E;if(p.key==="Escape"){p.preventDefault(),d.current();return}if(p.key!=="Tab")return;const g=(E=c.current)==null?void 0:E.closest("[role=dialog]"),v=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(v.length===0)return;const y=v[0],x=v[v.length-1];p.shiftKey&&document.activeElement===y?(p.preventDefault(),x.focus()):!p.shiftKey&&document.activeElement===x&&(p.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{var p;document.body.style.overflow=f,window.removeEventListener("keydown",h),(p=u.current)==null||p.focus()}},[e]),e?xi.createPortal(o.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&r()},children:o.jsxs("section",{className:`sandbox-control-dialog ${i}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":l,children:[o.jsxs("header",{className:"sandbox-control-head",children:[o.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:s}),o.jsxs("div",{children:[o.jsx("h2",{id:l,children:t}),o.jsx("p",{children:n})]}),o.jsx("button",{ref:c,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:r,children:o.jsx(ZCe,{})})]}),a]})}),document.body):null}function eIe({open:e,kind:t,launch:n,loading:s,error:i,onReload:r,onClose:a}){const l=t==="terminal",c=l?"Terminal":"Sandbox Browser";return o.jsxs(vg,{open:e,title:c,subtitle:l?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:l?o.jsx(Cz,{}):o.jsx(Iz,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[o.jsx("div",{className:"sandbox-tool-toolbar",children:o.jsxs("span",{children:[o.jsx("i",{className:s?"is-loading":n?"is-ready":""}),s?"正在连接…":n?"已连接":"尚未连接"]})}),o.jsx("div",{className:"sandbox-tool-surface",children:s?o.jsxs("div",{className:"sandbox-control-state",children:[o.jsx(Io,{className:"spin"}),o.jsxs("strong",{children:["正在打开 ",c]}),o.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):i?o.jsxs("div",{className:"sandbox-control-state is-error",children:[o.jsxs("strong",{children:[c," 打开失败"]}),o.jsx("span",{children:i}),o.jsx("button",{type:"button",onClick:r,children:"重试"})]}):n?o.jsx("iframe",{src:n.url,title:c,allow:"clipboard-read; clipboard-write",sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-pointer-lock allow-same-origin allow-scripts"}):null})]})}function tIe({open:e,threads:t,currentThreadId:n,loading:s,error:i,onSelect:r,onClose:a}){return o.jsx(vg,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:o.jsx(JCe,{}),className:"sandbox-threads-dialog",onClose:a,children:o.jsx("div",{className:"sandbox-thread-list",children:s?o.jsxs("div",{className:"sandbox-control-state",children:[o.jsx(Io,{className:"spin"}),o.jsx("strong",{children:"正在读取历史对话"})]}):i?o.jsxs("div",{className:"sandbox-control-state is-error",children:[o.jsx("strong",{children:"历史对话读取失败"}),o.jsx("span",{children:i})]}):t.length===0?o.jsx("div",{className:"sandbox-control-state",children:o.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(l=>{const c=l.id===n,u=l.name||l.preview||`Thread ${l.id.slice(0,8)}`;return o.jsxs("button",{type:"button",className:c?"is-active":"",disabled:c,onClick:()=>r(l.id),children:[o.jsxs("span",{children:[o.jsx("strong",{children:u}),o.jsx("small",{children:l.preview||l.cwd||l.id})]}),o.jsx("time",{children:l.updatedAt?new Date(l.updatedAt*1e3).toLocaleString():""}),o.jsx(lT,{})]},l.id)})})})}const nIe=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],sIe=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],iIe=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function rIe({open:e,value:t,busy:n,error:s,onSave:i,onClose:r}){const[a,l]=b.useState(t);return b.useEffect(()=>{e&&l(t)},[e,t]),o.jsxs(vg,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:o.jsx(nA,{}),className:"sandbox-settings-dialog",onClose:r,children:[o.jsxs("div",{className:"sandbox-control-body",children:[o.jsx(yw,{label:"沙箱模式",choices:nIe,value:a.sandboxMode,disabled:n,onChange:c=>l(u=>({...u,sandboxMode:c,networkAccess:c==="danger-full-access"?!0:u.networkAccess}))}),o.jsx(yw,{label:"审批策略",choices:sIe,value:a.approvalPolicy,disabled:n,onChange:c=>l(u=>({...u,approvalPolicy:c}))}),o.jsx(yw,{label:"审批方式",choices:iIe,value:a.approvalsReviewer,disabled:n,onChange:c=>l(u=>({...u,approvalsReviewer:c}))}),o.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[o.jsxs("span",{children:[o.jsx("strong",{children:"允许网络访问"}),o.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),o.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:c=>l(u=>({...u,networkAccess:c.target.checked}))})]}),a.sandboxMode==="danger-full-access"?o.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,s?o.jsx("div",{className:"sandbox-control-error",children:s}):null]}),o.jsxs("footer",{className:"sandbox-control-actions",children:[o.jsx("button",{type:"button",onClick:r,disabled:n,children:"取消"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>i(a),children:[n?o.jsx(Io,{className:"spin"}):null,"保存权限"]})]})]})}function yw({label:e,choices:t,value:n,disabled:s,onChange:i}){return o.jsxs("fieldset",{className:"sandbox-choice-group",disabled:s,role:"radiogroup","aria-label":e,children:[o.jsx("legend",{children:e}),o.jsx("div",{className:"sandbox-choice-list",children:t.map(r=>o.jsxs("button",{type:"button",role:"radio",className:`${n===r.value?"is-active":""}${r.danger?" is-danger":""}`.trim(),"aria-checked":n===r.value,onClick:()=>i(r.value),onKeyDown:a=>{var d,f;const l=t.findIndex(h=>h.value===r.value);let c=l;if(a.key==="ArrowRight"||a.key==="ArrowDown")c=(l+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")c=(l-1+t.length)%t.length;else if(a.key==="Home")c=0;else if(a.key==="End")c=t.length-1;else return;a.preventDefault(),i(t[c].value);const u=(d=a.currentTarget.parentElement)==null?void 0:d.querySelectorAll('[role="radio"]');(f=u==null?void 0:u[c])==null||f.focus()},children:[o.jsx("i",{}),o.jsxs("span",{children:[o.jsx("strong",{children:r.label}),o.jsx("small",{children:r.detail})]})]},r.value))})]})}function aIe({open:e,cwd:t,locked:n,busy:s,error:i,browse:r,onSave:a,onClose:l}){const[c,u]=b.useState(t||"/"),[d,f]=b.useState(null),[h,m]=b.useState(!1),[p,g]=b.useState("");b.useEffect(()=>{if(!e)return;const y=t||"/";u(y),v(y)},[t,e]);async function v(y){m(!0),g("");try{const x=await r(y);f(x),u(x.path)}catch(x){g(x instanceof Error?x.message:String(x))}finally{m(!1)}}return o.jsxs(vg,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:o.jsx(Cb,{}),className:"sandbox-workspace-dialog",onClose:l,children:[o.jsxs("div",{className:"sandbox-control-body",children:[o.jsxs("label",{className:"sandbox-workspace-input",children:[o.jsx("span",{children:"绝对路径"}),o.jsxs("div",{children:[o.jsx("input",{value:c,disabled:s||n,spellCheck:!1,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&c.startsWith("/")&&(y.preventDefault(),v(c))}}),o.jsx("button",{type:"button",disabled:s||h||!c.startsWith("/"),onClick:()=>void v(c),children:"浏览"})]})]}),o.jsxs("div",{className:"sandbox-directory-browser",children:[o.jsxs("div",{className:"sandbox-directory-head",children:[o.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??c}),h?o.jsx(Io,{className:"spin"}):null]}),o.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?o.jsxs("button",{type:"button",disabled:h,onClick:()=>void v(d.parent??"/"),children:[o.jsx(Cb,{}),o.jsx("span",{children:"上一级"}),o.jsx("small",{children:d.parent}),o.jsx(lT,{})]}):null,d==null?void 0:d.directories.map(y=>o.jsxs("button",{type:"button",disabled:h,onClick:()=>void v(y.path),children:[o.jsx(Cb,{}),o.jsx("span",{children:y.name}),o.jsx(lT,{})]},y.path)),!h&&(d==null?void 0:d.directories.length)===0?o.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?o.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,p||i?o.jsx("div",{className:"sandbox-control-error",children:p||i}):null]}),o.jsxs("footer",{className:"sandbox-control-actions",children:[o.jsx("button",{type:"button",onClick:l,disabled:s,children:"取消"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:s||n||!c.startsWith("/"),onClick:()=>a(c),children:[s?o.jsx(Io,{className:"spin"}):null,"使用此目录"]})]})]})}function oIe({approval:e,busy:t,error:n,onDecision:s}){var a;const i=(a=e==null?void 0:e.command)==null?void 0:a.trim(),r=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return o.jsxs(vg,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:o.jsx(nA,{}),className:"sandbox-approval-dialog",onClose:()=>{t||s("cancel")},children:[o.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?o.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,i?o.jsx("pre",{children:i}):null,r?o.jsx("pre",{children:r}):null,e!=null&&e.cwd?o.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",o.jsx("code",{children:e.cwd})]}):null,n?o.jsx("div",{className:"sandbox-control-error",children:n}):null]}),o.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[o.jsx("button",{type:"button",disabled:t,onClick:()=>s("decline"),children:"拒绝"}),o.jsx("button",{type:"button",disabled:t,onClick:()=>s("accept"),children:"仅本次允许"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>s("acceptForSession"),children:[t?o.jsx(Io,{className:"spin"}):null,"本会话允许"]})]})]})}const lIe={codex:"Codex",openclaw:"OpenClaw",hermes:"Hermes"};function y3(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 cIe({session:e,onBack:t,onOpen:n,onDelete:s}){const[i,r]=b.useState(!1),[a,l]=b.useState(!1),[c,u]=b.useState(!1),[d,f]=b.useState(""),h=lIe[e.toolName],m=async()=>{if(!(a||c)){l(!0),f("");try{await n()}catch(g){f(g instanceof Error?g.message:String(g))}finally{l(!1)}}},p=async()=>{if(!(c||a)){u(!0),f("");try{await s()}catch(g){f(g instanceof Error?g.message:String(g)),r(!1)}finally{u(!1)}}};return o.jsxs("section",{className:"sandbox-agent-details",children:[o.jsxs("header",{className:"sandbox-agent-details-header",children:[o.jsxs("button",{type:"button",className:"sandbox-agent-back",onClick:t,children:[o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})}),"返回智能体"]}),o.jsxs("div",{children:[o.jsx("h1",{children:e.displayName||`${h} 智能体`}),o.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?o.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,o.jsxs("div",{className:"sandbox-agent-detail-panel",children:[o.jsxs("dl",{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"智能体类型"}),o.jsx("dd",{children:h})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:mx(e.status)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"创建人"}),o.jsx("dd",{children:e.createdBy||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"工具类型"}),o.jsx("dd",{children:e.toolType||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"创建时间"}),o.jsx("dd",{children:y3(e.createdAt)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"过期时间"}),o.jsx("dd",{children:y3(e.expireAt)})]}),o.jsxs("div",{className:"is-wide",children:[o.jsx("dt",{children:"Session ID"}),o.jsx("dd",{children:e.id})]})]}),o.jsxs("footer",{children:[o.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||c,onClick:()=>r(!0),children:"删除智能体"}),o.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||c,"aria-busy":a||void 0,onClick:()=>void m(),children:a?"打开中…":"打开智能体"})]})]}),i?o.jsx("div",{className:"confirm-scrim",onClick:()=>!c&&r(!1),children:o.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:g=>g.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),o.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit Session,此操作无法撤销。"]}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{type:"button",className:"confirm-btn",disabled:c,onClick:()=>r(!1),children:"取消"}),o.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:c,onClick:()=>void p(),children:c?"删除中…":"确认删除"})]})]})}):null]})}const uIe="_SegmentedControl_1sl7d_1",dIe="_SegmentedControlOption_1sl7d_140",fIe="_SegmentedControlThumb_1sl7d_219",cT={SegmentedControl:uIe,SegmentedControlOption:dIe,SegmentedControlThumb:fIe},Ib=({value:e,onChange:t,children:n,block:s,pill:i=!0,size:r="md",gutterSize:a,className:l,onClick:c,...u})=>{const d=b.useRef(null),f=b.useRef(null),h=b.useCallback(p=>{const g=d.current,v=f.current;if(!g||!v)return;const y=g==null?void 0:g.querySelector('[data-state="on"]');if(!y)return;const x=g.clientWidth;let E=Math.floor(y.clientWidth);const w=y.offsetLeft;if(x-(E+w)<2&&(E=E-1),v.style.width=`${Math.floor(E)}px`,v.style.transform=`translateX(${w}px)`,g.scrollWidth>x){const T=x*.15,S=g.scrollLeft,k=y.offsetLeft,A=k+E;(kS+x-T)&&p&&y.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);pwe({ref:d,onResize:()=>{const p=f.current;if(!p)return;const g=p.style.transition;p.style.transition="",h(!1),p.style.transition=g}}),b.useLayoutEffect(()=>{const p=d.current,g=f.current;!p||!g||(h(!!g.style.transition),g.style.transition||D_(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,r,a,i]);const m=p=>{p&&t&&t(p)};return o.jsxs(Mke,{ref:d,className:ta(cT.SegmentedControl,l),type:"single",value:e,loop:!1,onValueChange:m,onClick:c,"data-block":s?"":void 0,"data-pill":i?"":void 0,"data-size":r,"data-gutter-size":a,...u,children:[o.jsx("div",{className:cT.SegmentedControlThumb,ref:f}),n]})},hIe=({children:e,...t})=>o.jsx(Uke,{className:cT.SegmentedControlOption,...t,onPointerEnter:UF,children:o.jsx("span",{className:"relative",children:e})});Ib.Option=hIe;function mIe({workspace:e,onBack:t}){const[n,s]=b.useState("main"),[i,r]=b.useState(""),[a,l]=b.useState(!1),[c,u]=b.useState(""),d=e.kind==="openclaw"?"OpenClaw":"Hermes";b.useEffect(()=>{s("main"),r(""),u(""),l(!1)},[e.session.id]);const f=async()=>{if(s("terminal"),!(i||a)){l(!0),u("");try{const h=await ln.launchAgentTerminal(e.kind,e.session.id);r(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{l(!1)}}};return o.jsxs("section",{className:"sandbox-agent-workspace",children:[o.jsxs("header",{children:[o.jsxs("div",{className:"sandbox-agent-workspace-title",children:[o.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.jsxs("div",{children:[o.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),o.jsxs("p",{children:[o.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),o.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:mx(e.session.status)})]})]})]}),o.jsxs(Ib,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():s("main")},children:[o.jsx(Ib.Option,{value:"main",children:"主界面"}),o.jsx(Ib.Option,{value:"terminal",children:"终端"})]})]}),o.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?o.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?o.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):c?o.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[o.jsx("p",{children:c}),o.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):i?o.jsx("iframe",{src:i,title:`${d} 终端`}):null})]})}const Dx=[{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 pIe(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 gIe(e){const t=e.toLocaleLowerCase();return Dx.filter(n=>!t||[n.name,n.description,...n.keywords].some(s=>s.toLocaleLowerCase().includes(t))).sort((n,s)=>x3(n,t)-x3(s,t)).slice(0,12)}function x3(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:Dx.indexOf(e)}function bIe(e,t){const n=t.toLocaleLowerCase();return e.filter(s=>!n||`${s.id} ${s.displayName} ${s.description}`.toLocaleLowerCase().includes(n)).sort((s,i)=>{if(!n)return Number(i.isDefault)-Number(s.isDefault);const r=s.id.toLocaleLowerCase(),a=i.id.toLocaleLowerCase(),l=(c,u)=>c===n?0:c.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return l(r,s.displayName)-l(a,i.displayName)}).slice(0,12)}function yIe(){return Dx.map(e=>({label:e.usage,value:e.description}))}function xIe(e,t){return e.map(n=>{const s=n.displayName.trim(),i=s&&s!==n.id?`${s} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${i} — ${n.description}`:i,code:!1}})}function EIe(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 vIe(e){return e.messages.map(t=>{var s;const n=[];return t.role==="user"&&((s=t.skillNames)!=null&&s.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(i=>({name:i,description:""}))}}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function wIe({appName:e,value:t,onChange:n,onSubmit:s,disabled:i,busy:r,attachments:a,onAddFiles:l,onRemoveAttachment:c,actions:u,models:d,modelsLoading:f,modelsLoaded:h,currentModel:m,onRequestModels:p,skills:g,skillsLoading:v,skillsLoaded:y,selectedSkills:x,onRequestSkills:E,onSelectedSkillsChange:w}){const T=b.useRef(null),S=b.useRef(null),k=b.useRef(null),A=b.useRef(null),[C,R]=b.useState(!1),[M,L]=b.useState(0),[G,D]=b.useState(!1);b.useLayoutEffect(()=>{const K=T.current;K&&(K.style.height="auto",K.style.height=`${Math.min(K.scrollHeight,200)}px`)},[t]);const F=b.useMemo(()=>{if(!t.startsWith("/")||t.includes(` -`))return;const K=t.slice(1),se=K.search(/\s/),W=(se<0?K:K.slice(0,se)).toLocaleLowerCase(),de=se<0?"":K.slice(se).trim();if(!(se>=0&&W!=="model"))return{command:W,argument:de,modelMode:se>=0}},[t]),N=b.useMemo(()=>{const K=/(^|\s)\$([^\s$]*)$/.exec(t);if(K)return{query:K[2],start:t.length-K[2].length-1,end:t.length}},[t]),O=b.useMemo(()=>{if(N){const K=N.query.toLocaleLowerCase();return g.filter(se=>!x.some(W=>W.id===se.id||W.name===se.name)).filter(se=>`${se.name} ${se.description}`.toLocaleLowerCase().includes(K)).slice(0,12).map(se=>({kind:"skill",skill:se}))}return F!=null&&F.modelMode?bIe(d,F.argument).map(K=>({kind:"model",model:K})):F?gIe(F.command).map(K=>({kind:"command",command:K})):[]},[N,d,x,g,F]),P=!G&&!!(N||F);b.useEffect(()=>{L(0)},[t]),b.useEffect(()=>{F!=null&&F.modelMode&&!h&&!f&&p()},[h,f,p,F==null?void 0:F.modelMode]),b.useEffect(()=>{N&&!y&&!v&&E()},[N,E,y,v]);const $=a.some(K=>K.status!=="ready"),I=!i&&!r&&!$&&(t.trim().length>0||a.length>0);function q(K){D(!1),R(!1),n(K)}function Q(K){if(K.kind==="skill"){if(!N)return;const se=t.slice(0,N.start)+t.slice(N.end);w([...x,K.skill]),q(se),D(!0),requestAnimationFrame(()=>{var W,de;(W=T.current)==null||W.focus(),(de=T.current)==null||de.setSelectionRange(N.start,N.start)});return}if(K.kind==="model"){q(`/model ${K.model.id}`),D(!0),requestAnimationFrame(()=>{var se;return(se=T.current)==null?void 0:se.focus()});return}if(K.command.name==="model"){q("/model "),p(),requestAnimationFrame(()=>{var se;return(se=T.current)==null?void 0:se.focus()});return}if(K.command.name==="skill"||K.command.name==="skills"){q(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var se;return(se=T.current)==null?void 0:se.focus()});return}q(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var se;return(se=T.current)==null?void 0:se.focus()})}function B(K){var se;R(!1),(se=K.current)==null||se.click()}function ee(K){const se=K.target.files?Array.from(K.target.files):[];se.length&&l(se),K.target.value=""}const z=N?"可用 Skills":F!=null&&F.modelMode?"选择模型":"Codex 快捷命令";return o.jsxs("div",{className:"composer sandbox-codex-composer",children:[a.length>0?o.jsx(bx,{appName:e,compact:!0,items:a,onRemove:c}):null,o.jsxs("div",{className:"composer-box",children:[P?o.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":z,children:[o.jsxs("div",{className:"composer-command-head",children:[o.jsx(QCe,{}),o.jsx("span",{children:z}),F!=null&&F.modelMode&&m?o.jsxs("small",{children:["当前:",m]}):null,o.jsx("kbd",{children:N?"$":"/"})]}),N&&v?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(Io,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):F!=null&&F.modelMode&&f?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(Io,{className:"spin"})," 正在读取模型…"]}):O.length===0?o.jsx("div",{className:"composer-command-empty",children:N?"当前工作区没有匹配的 Skill":F!=null&&F.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):o.jsx("div",{className:"composer-command-list",children:O.map((K,se)=>{const W=K.kind==="command"?`command:${K.command.name}`:K.kind==="model"?`model:${K.model.id}`:`skill:${K.skill.id}`,de=K.kind==="command"?K.command.usage:K.kind==="model"?K.model.displayName:`$${K.skill.name}`,ye=K.kind==="command"?K.command.description:K.kind==="model"?K.model.description||K.model.id:K.skill.description||"加载并执行该 Skill";return o.jsxs("button",{type:"button",role:"option","aria-selected":se===M,className:`composer-command-item${se===M?" is-active":""}`,onMouseDown:we=>{we.preventDefault(),Q(K)},onMouseEnter:()=>L(se),children:[o.jsx("span",{className:`composer-command-icon composer-command-icon--${K.kind}`,"aria-hidden":"true",children:K.kind==="command"?"/":K.kind==="model"?"◇":"$"}),o.jsxs("span",{className:"composer-command-copy",children:[o.jsx("strong",{children:de}),o.jsx("span",{children:ye})]}),se===M?o.jsx("kbd",{children:"↵"}):null]},W)})})]}):null,o.jsxs("div",{className:"composer-left-controls",children:[o.jsxs("div",{className:"composer-menu-wrap",children:[o.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:i,onClick:()=>R(K=>!K),children:o.jsx(KCe,{className:"icon"})}),C?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>R(!1)}),o.jsxs("div",{className:"composer-menu",role:"menu",children:[o.jsxs("button",{type:"button",className:"menu-item",disabled:u.uploadBusy,onClick:()=>B(S),children:[o.jsx(YCe,{className:"icon"}),"上传图片"]}),o.jsxs("button",{type:"button",className:"menu-item",disabled:u.uploadBusy,onClick:()=>B(k),children:[o.jsx(WCe,{className:"icon"}),"上传文档或 PDF"]}),o.jsxs("button",{type:"button",className:"menu-item",disabled:u.uploadBusy,onClick:()=>B(A),children:[o.jsx(XCe,{className:"icon"}),"上传视频"]}),o.jsx("div",{className:"composer-menu-separator",role:"separator"}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),u.onOpenTerminal()},children:[o.jsx(Cz,{className:"icon"}),"进入终端"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{R(!1),u.onOpenBrowser()},children:[o.jsx(Iz,{className:"icon"}),"查看浏览器"]})]})]}):null]}),o.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:u.settingsBusy||r,onClick:u.onOpenPermissions,children:o.jsx(nA,{})}),o.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${u.workspaceLocked?" is-locked":""}`,title:u.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:u.settingsBusy||r,onClick:u.onOpenWorkspace,children:o.jsx(Cb,{})})]}),o.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[x.length>0?o.jsx(gx,{skillPrefix:"$",value:{skills:x.map(({name:K,description:se})=>({name:K,description:se}))},onRemoveSkill:K=>w(x.filter(se=>se.name!==K))}):null,o.jsx("textarea",{ref:T,className:"comp-input scroll",rows:1,value:t,disabled:i,placeholder:"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":P,onChange:K=>q(K.target.value),onBlur:()=>window.setTimeout(()=>D(!0),0),onKeyDown:K=>{if(!x2(K.nativeEvent)){if(P){if((K.key==="ArrowDown"||K.key==="Tab"&&!K.shiftKey)&&O.length>0){K.preventDefault(),L(se=>(se+1)%O.length);return}if((K.key==="ArrowUp"||K.key==="Tab"&&K.shiftKey)&&O.length>0){K.preventDefault(),L(se=>(se-1+O.length)%O.length);return}if(K.key==="Enter"&&!K.shiftKey&&O[M]){K.preventDefault(),Q(O[M]);return}if(K.key==="Escape"){K.preventDefault(),D(!0);return}}if(K.key==="Backspace"&&!t&&K.currentTarget.selectionStart===0&&x.length>0){K.preventDefault(),w(x.slice(0,-1));return}K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),I&&s(t))}}})]}),o.jsx("button",{type:"button",className:"comp-send",disabled:!I,onClick:()=>s(t),"aria-label":"发送",children:r?o.jsx(Io,{className:"icon spin"}):o.jsx(qCe,{className:"icon"})})]}),o.jsx("input",{ref:S,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:ee}),o.jsx("input",{ref:k,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:ee}),o.jsx("input",{ref:A,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:ee})]})}function SIe({session:e,conversationBusy:t,onInputChange:n,onSessionPatch:s,onSnapshot:i,onActivity:r,onError:a}){const l=b.useRef((e==null?void 0:e.id)??"");l.current=(e==null?void 0:e.id)??"";const[c,u]=b.useState(!1),[d,f]=b.useState([]),[h,m]=b.useState(!1),[p,g]=b.useState(!1),[v,y]=b.useState([]),[x,E]=b.useState(!1),[w,T]=b.useState(!1),[S,k]=b.useState([]),[A,C]=b.useState(!1),[R,M]=b.useState([]),[L,G]=b.useState(!1),[D,F]=b.useState("");b.useEffect(()=>{u(!1),f([]),m(!1),g(!1),y([]),E(!1),T(!1),k([]),C(!1),M([]),G(!1),F("")},[e==null?void 0:e.id]);const N=b.useCallback(async()=>{const B=l.current;if(!B)return[];m(!0);try{const ee=await ln.listModels(B);return l.current===B&&(f(ee),g(!0)),ee}catch(ee){return l.current===B&&(g(!0),a(ee instanceof Error?ee.message:String(ee))),[]}finally{l.current===B&&m(!1)}},[a]),O=b.useCallback(async()=>{const B=l.current;if(!B)return[];E(!0);try{const ee=await ln.listSkills(B);return l.current===B&&(y(ee),T(!0)),ee}catch(ee){return l.current===B&&(T(!0),a(ee instanceof Error?ee.message:String(ee))),[]}finally{l.current===B&&E(!1)}},[a]),P=b.useCallback(async()=>{const B=l.current;if(B){C(!0),G(!0),F("");try{const ee=await ln.listThreads(B);l.current===B&&M(ee.threads)}catch(ee){l.current===B&&F(ee instanceof Error?ee.message:String(ee))}finally{l.current===B&&G(!1)}}},[]);function $(B){i(B),k([]),y([]),T(!1),C(!1)}async function I(B){const ee=l.current;if(!(!ee||c||t)){if(B===(e==null?void 0:e.threadId)){C(!1);return}u(!0),a("");try{const z=await ln.resumeThread(ee,B);if(l.current!==ee)return;$(z),r("已恢复 Codex 对话",[{label:"Thread",value:z.threadId,code:!0}])}catch(z){l.current===ee&&a(z instanceof Error?z.message:String(z))}finally{l.current===ee&&u(!1)}}}async function q(B){const ee=e,z=B.trim();if(!z.startsWith("/"))return!1;if(!ee||t||c)return!0;const K=pIe(z),se=K&&Dx.find(W=>W.name===K.name);if(!K||!se)return a(`未知快捷命令:${z.split(/\s/,1)[0]}。输入 /help 查看可用命令。`),!0;if(a(""),k([]),se.name==="model"&&!K.argument)return n("/model "),p||await N(),!0;if(se.name==="skill"||se.name==="skills")return n("$"),w||(await O()).length===0&&n(""),!0;if(se.name==="resume"&&!K.argument)return n(""),await P(),!0;n(""),u(!0);try{if(se.name==="model"){const W=await ln.setModel(ee.id,K.argument);if(l.current!==ee.id)return!0;s({model:W}),r("已切换 Codex 模型",[{label:"模型",value:W,code:!0}])}else if(se.name==="models"){const W=p?d:await N();if(l.current!==ee.id)return!0;r(W.length>0?"Codex 可用模型":"当前没有可用模型",xIe(W,ee.model))}else if(se.name==="new"||se.name==="clear"){const W=await ln.newThread(ee.id);if(l.current!==ee.id)return!0;$(W),r("已新建 Codex 对话",[{label:"Thread",value:W.threadId,code:!0}])}else if(se.name==="resume"){const W=await ln.resumeThread(ee.id,K.argument);if(l.current!==ee.id)return!0;$(W),r("已恢复 Codex 对话",[{label:"Thread",value:W.threadId,code:!0}])}else if(se.name==="fork"){const W=await ln.forkThread(ee.id);if(l.current!==ee.id)return!0;$(W),r("已分叉 Codex 对话",[{label:"Thread",value:W.threadId,code:!0}])}else if(se.name==="compact"){if(await ln.compactThread(ee.id),l.current!==ee.id)return!0;r("已开始压缩当前 Codex 对话",[{label:"Thread",value:ee.threadId,code:!0}])}else if(se.name==="archive"){const W=ee.threadId,de=await ln.archiveThread(ee.id,W);if(l.current!==ee.id)return!0;de.snapshot&&$(de.snapshot),r("已归档 Codex 对话",[{label:"Thread",value:W,code:!0}])}else if(se.name==="status"){const W=await ln.getStatus(ee.id);if(l.current!==ee.id)return!0;s(W),r("Codex 当前状态",EIe(W))}else se.name==="help"&&r("Sandbox 支持的 Codex 快捷命令",yIe())}catch(W){l.current===ee.id&&(n(z),a(W instanceof Error?W.message:String(W)))}finally{l.current===ee.id&&u(!1)}return!0}function Q(){y([]),T(!1),k([])}return{commandBusy:c,models:d,modelsLoading:h,modelsLoaded:p,loadModels:N,skills:v,skillsLoading:x,skillsLoaded:w,loadSkills:O,selectedSkills:S,setSelectedSkills:k,invalidateSkills:Q,threadsOpen:A,threads:R,threadsLoading:L,threadsError:D,openThreads:P,closeThreads:()=>{c||(C(!1),F(""))},resumeThread:I,executeSlash:q}}function _Ie({filled:e=!1,...t}){return o.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:[o.jsx("rect",{x:"3.5",y:"9.3",width:"4.5",height:"10.2",rx:"1.5"}),o.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 TIe({filled:e=!1,...t}){return o.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:[o.jsx("rect",{x:"3.5",y:"4.5",width:"4.5",height:"10.2",rx:"1.5"}),o.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 NIe(e){return e.toLowerCase()==="github"?o.jsx(qZ,{className:"icon"}):o.jsx(ZZ,{className:"icon"})}function kIe({branding:e,onUsername:t}){const[n,s]=b.useState(null),[i,r]=b.useState(""),[a,l]=b.useState(0),[c,u]=b.useState(""),d=b.useRef(null);b.useEffect(()=>{let p=!0;return s(null),r(""),wP().then(g=>{p&&s(g)}).catch(g=>{p&&r(g instanceof Error?g.message:String(g))}),()=>{p=!1}},[a]);const f=n!==null&&n.length===0;b.useEffect(()=>{var p;f&&((p=d.current)==null||p.focus())},[f]);const h=wJ.test(c),m=()=>{h&&t(c)};return o.jsxs("div",{className:"login",children:[o.jsx("header",{className:"login-top",children:o.jsxs("span",{className:"login-brand",children:[o.jsx("img",{className:"login-brand-logo",src:e.logoUrl||mk,width:20,height:20,alt:"","aria-hidden":!0}),e.title]})}),o.jsx("main",{className:"login-main",children:o.jsxs("div",{className:"login-card",children:[o.jsx(Vl,{as:"h1",className:"login-title",duration:4.8,spread:22,children:e.title}),i?o.jsxs("div",{className:"login-provider-error",role:"alert",children:[o.jsx("p",{children:i}),o.jsx("button",{type:"button",onClick:()=>l(p=>p+1),children:"重试"})]}):n===null?null:n.length>0?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"login-sub",children:"登录以继续使用"}),o.jsx("div",{className:"login-providers",children:n.map(p=>o.jsxs("button",{className:"login-btn",onClick:()=>_J(p.loginUrl),children:[NIe(p.id),o.jsxs("span",{children:["使用 ",p.label," 登录"]})]},p.id))})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"login-sub",children:"输入一个用户名即可开始"}),o.jsxs("form",{className:"login-name",onSubmit:p=>{p.preventDefault(),m()},children:[o.jsx("input",{ref:d,className:"login-name-input",value:c,onChange:p=>u(p.target.value),placeholder:"用户名(字母 + 数字,最多 16 位)",maxLength:16}),o.jsx("button",{type:"submit",className:"login-name-go",disabled:!h,"aria-label":"进入",children:o.jsx(vm,{className:"icon"})})]}),o.jsx("p",{className:"login-hint","aria-live":"polite",children:c&&!h?"只能包含大小写字母和数字,最多 16 位。":""})]}),o.jsx("p",{className:"login-powered",children:"火山引擎 AgentKit 提供企业级 Agent 解决方案"}),o.jsxs("p",{className:"login-legal",children:["继续即表示你已阅读并同意 AgentKit"," ",o.jsx("a",{href:"https://docs.volcengine.com/docs/86681/1925174?lang=zh",target:"_blank",rel:"noreferrer",children:"产品和服务条款"})]})]})}),o.jsx("footer",{className:"login-footer",children:"© 2026 VeADK. All rights reserved."})]})}function AIe({open:e,checking:t,error:n,onLogin:s}){const i=b.useRef(null);return b.useEffect(()=>{var a;if(!e)return;const r=document.body.style.overflow;return document.body.style.overflow="hidden",(a=i.current)==null||a.focus(),()=>{document.body.style.overflow=r}},[e]),e?xi.createPortal(o.jsx("div",{className:"auth-expired-backdrop",children:o.jsxs("section",{className:"auth-expired-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-expired-title","aria-describedby":"auth-expired-description",children:[o.jsx("div",{className:"auth-expired-mark","aria-hidden":"true",children:o.jsx(qN,{})}),o.jsxs("div",{className:"auth-expired-copy",children:[o.jsx("h2",{id:"auth-expired-title",children:"登录状态已过期"}),o.jsx("p",{id:"auth-expired-description",children:"当前编辑内容会保留。重新登录后,刚才的操作将自动继续。"}),n&&o.jsx("p",{className:"auth-expired-error",role:"alert",children:n})]}),o.jsx("footer",{className:"auth-expired-actions",children:o.jsx("button",{ref:i,type:"button",onClick:s,disabled:t,children:t?"等待登录完成…":"重新登录"})})]})}),document.body):null}function CIe({node:e,ctx:t}){const n=e.variant??"default";return o.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)})}hu("Button",CIe);function IIe({node:e,ctx:t}){return o.jsx("div",{className:"a2ui-card","data-a2ui-id":e.id,"data-a2ui-component":e.component,children:t.render(e.child)})}hu("Card",IIe);const RIe={start:"flex-start",center:"center",end:"flex-end",spaceBetween:"space-between",spaceAround:"space-around",spaceEvenly:"space-evenly",stretch:"stretch"},OIe={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"};function Rz(e){return RIe[e]??"flex-start"}function Oz(e){return OIe[e]??"stretch"}function jIe({node:e,ctx:t}){const n=e.children??[];return o.jsx("div",{className:"a2ui-column","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"column",justifyContent:Rz(e.justify),alignItems:Oz(e.align)},children:n.map(s=>t.render(s))})}hu("Column",jIe);function MIe({node:e}){const t=e.axis==="vertical";return o.jsx("div",{className:`a2ui-divider ${t?"a2ui-divider--v":"a2ui-divider--h"}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component})}hu("Divider",MIe);const LIe={send:"✈️",check:"✅",close:"✖️",star:"⭐",favorite:"❤️",info:"ℹ️",help:"❓",error:"⛔",calendarToday:"📅",event:"📅",schedule:"🕒",locationOn:"📍",accountCircle:"👤",mail:"✉️",call:"📞",home:"🏠",settings:"⚙️",search:"🔍"};function DIe({node:e}){const t=e.name??"";return o.jsx("span",{className:"a2ui-icon",title:t,"aria-label":t,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:LIe[t]??"•"})}hu("Icon",DIe);function PIe({node:e,ctx:t}){const n=e.children??[];return o.jsx("div",{className:"a2ui-row","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"row",justifyContent:Rz(e.justify),alignItems:Oz(e.align??"center")},children:n.map(s=>t.render(s))})}hu("Row",PIe);const BIe=new Set(["h1","h2","h3","h4","h5"]);function UIe({node:e,ctx:t}){const n=e.variant??"body",s=t.resolveString(e.text),i=BIe.has(n)?n:"p";return o.jsx(i,{className:`a2ui-text a2ui-text--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:s})}hu("Text",UIe);async function xw(e){const[t,n,s]=await Promise.allSettled([BCe(),UCe(),ck(e)]);return{agentId:e,ready:!0,harnessEnabled:s.status==="fulfilled",builtinTools:s.status==="fulfilled"?s.value:[],temporaryEnabled:t.status==="fulfilled"&&t.value.enabled,skillCreateEnabled:n.status==="fulfilled"&&n.value.enabled}}const aa={app:"veadk.appName",view:"veadk.view",session:"veadk.sessionId"},FIe=600,$Ie=new Set,HIe=[];function Oa(){return{skills:[]}}function Ew(e){return`${jx(e)}.active`}function uT(e){return`veadk.agentOrder.${encodeURIComponent(e)}`}function zIe(e){if(!e)return[];try{const t=JSON.parse(localStorage.getItem(uT(e))||"[]");return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function dT(e,t){if(e.name===t||e.id===t)return e;for(const n of e.children){const s=dT(n,t);if(s)return s}}function jz(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(...jz(n)));return t}function E3(){const e=typeof localStorage<"u"?localStorage.getItem(aa.view):null;return e==="menu"||e==="intelligent"||e==="custom"||e==="template"||e==="workflow"?e:null}function VIe({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("ellipse",{cx:"12",cy:"12",rx:"6.6",ry:"8.2"}),o.jsx("path",{d:"M12 8.2l1.05 2.75 2.75 1.05-2.75 1.05L12 15.8l-1.05-2.75L8.2 12l2.75-1.05z",fill:"currentColor",stroke:"none"})]})}function GIe(){return o.jsxs("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":!0,children:[o.jsx("rect",{x:"3",y:"4",width:"14",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none"}),o.jsx("rect",{x:"6",y:"10.4",width:"13",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.7"}),o.jsx("rect",{x:"9",y:"16.8",width:"9",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.45"})]})}function fT(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 KIe(e){if(!e)return"";const t=[];return e.ts&&t.push(fT(e.ts)),e.tokens!=null&&t.push(`${e.tokens.toLocaleString()} tokens`),t.join(" · ")}function Rb(e){return e.blocks.map(t=>t.kind==="text"?t.text:"").join("").trim()}function qIe(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].role==="user")return Rb(e[n]);return""}const YIe="send_a2ui_json_to_client";function WIe(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===YIe&&t.done):t.kind==="agent-transfer"?!1:t.kind==="a2ui"?KF(t.messages).some(n=>n.components[n.rootId]):t.kind==="auth")}function XIe(e){return e.blocks.some(t=>t.kind==="auth"&&!t.done)}function QIe(e){return new Promise((t,n)=>{let s="";try{s=new URL(e,window.location.href).protocol}catch{}if(s!=="http:"&&s!=="https:"){n(new Error("授权链接不是 http/https 地址,已阻止打开。"));return}const i=window.open(e,"veadk_oauth","width=520,height=720");if(!i){n(new Error("弹窗被拦截,请允许弹窗后重试。"));return}let r=!1;const a=()=>{clearInterval(u),window.removeEventListener("message",c)},l=d=>{if(!r){r=!0,a();try{i.close()}catch{}t(d)}},c=d=>{if(d.origin!==window.location.origin)return;const f=d.data;f&&f.veadkOAuth&&typeof f.url=="string"&&l(f.url)};window.addEventListener("message",c);const u=setInterval(()=>{if(!r){if(i.closed){a();const d=window.prompt("授权完成后,请粘贴回调页面(浏览器地址栏)的完整 URL:");d&&d.trim()?(r=!0,t(d.trim())):n(new Error("授权已取消。"));return}try{const d=i.location.href;d&&d!=="about:blank"&&new URL(d).origin===window.location.origin&&/[?&](code|state|error)=/.test(d)&&l(d)}catch{}}},500)})}function ZIe(e,t){const n=JSON.parse(JSON.stringify(e??{})),s=n.exchangedAuthCredential??n.exchanged_auth_credential??{},i=s.oauth2??{};return i.authResponseUri=t,i.auth_response_uri=t,s.oauth2=i,n.exchangedAuthCredential=s,n}function v3({text:e}){const[t,n]=b.useState(!1);return o.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?o.jsx(Ya,{className:"icon"}):o.jsx(k1,{className:"icon"})})}const w3=["今天想做点什么?","有什么可以帮你的?","需要我帮你查点什么吗?","有问题尽管问我","嗨,我们开始吧","开始一段新对话吧","今天想先解决哪件事?","把你的想法告诉我吧","我们从哪里开始?","有什么任务交给我?","准备好一起推进了吗?","说说你现在最关心的问题","今天也一起把事情做好","我在,随时可以开始"],S3=()=>w3[Math.floor(Math.random()*w3.length)];function co(e){var t;for(const n of e)(t=n.previewUrl)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(n.previewUrl)}function _3(){return`draft-${Date.now()}-${Math.random().toString(36).slice(2)}`}function T3(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 JIe={"read-only":"只读","workspace-write":"工作区写入","danger-full-access":"完全访问"},eRe={untrusted:"仅不可信命令","on-request":"按需审批",never:"不审批"},tRe={user:"由我审批",auto_review:"自动审查"};function nRe(e,t){const n=e.kind==="file"?"文件修改":"命令执行";return t==="accept"?`已允许本次${n}`:t==="acceptForSession"?`已在本会话中允许${n}`:t==="decline"?`已拒绝${n}`:`已取消${n}审批`}function sRe(e){var n,s,i;const t=[];return(n=e.command)!=null&&n.trim()&&t.push({label:"命令",value:e.command.trim(),code:!0}),(s=e.grantRoot)!=null&&s.trim()&&t.push({label:"授权路径",value:e.grantRoot.trim(),code:!0}),(i=e.cwd)!=null&&i.trim()&&t.push({label:"执行目录",value:e.cwd.trim(),code:!0}),t}function N3(e){return e.flatMap(t=>t.apps.map(n=>Uo(t.id,n)))}function iRe(e,t){var n;return((n=e.find(s=>s.runtimeId&&s.apps.some(i=>Uo(s.id,i)===t)))==null?void 0:n.runtimeId)??""}function rRe(){const[e,t]=b.useState([]),[n,s]=b.useState(""),[i,r]=b.useState([]),[a,l]=b.useState(""),c=b.useRef(null),[u,d]=b.useState(!1),[f,h]=b.useState([]),[m,p]=b.useState(null),[g,v]=b.useState([]),[y,x]=b.useState(!1),[E,w]=b.useState(!1),[T,S]=b.useState(""),[k,A]=b.useState(!1),[C,R]=b.useState(!1),[M,L]=b.useState(null),[G,D]=b.useState(null),[F,N]=b.useState(!1),[O,P]=b.useState(""),[$,I]=b.useState(null),[q,Q]=b.useState(!1),[B,ee]=b.useState(""),[z,K]=b.useState(!1),[se,W]=b.useState(!1),[de,ye]=b.useState("confirm"),[we,ue]=b.useState(""),[he,Re]=b.useState("codex"),[pe,oe]=b.useState(!1),[Te,xe]=b.useState(0),[Xe,Me]=b.useState(null),[ze,_e]=b.useState(null),Pe=b.useRef(null),Fe=b.useRef(null),Ke=b.useRef((m==null?void 0:m.id)??""),X=b.useRef(""),ae=b.useRef(0);Ke.current=(m==null?void 0:m.id)??"";const[te,ge]=b.useState({}),Ue=a?te[a]??[]:f,Ye=m?g:Ue,xt=(j,U)=>ge(J=>({...J,[j]:typeof U=="function"?U(J[j]??[]):U}));function at(j,U,J=[],le=""){if(Ke.current!==j)return;const ve=crypto.randomUUID(),ke={role:"system",blocks:[],activity:{id:ve,title:U,...J.length>0?{details:J}:{}},meta:{localId:ve,ts:Date.now()/1e3}};v(nt=>{if(!le)return[...nt,ke];const Ge=nt.findIndex(rt=>{var lt;return((lt=rt.meta)==null?void 0:lt.localId)===le});return Ge<0?[...nt,ke]:[...nt.slice(0,Ge),ke,...nt.slice(Ge)]})}const[fn,vt]=b.useState(""),[it,Ht]=b.useState("agent"),[qe,zt]=b.useState(null),[st,St]=b.useState({}),$e=b.useRef(new Map),Tt=!n||st.ready===!0&&st.agentId===n,[Ee,Qe]=b.useState(null),[kt,nn]=b.useState(!1),Kt=b.useRef(0),[Xt,Vt]=b.useState([]),[Qt,Rt]=b.useState(Oa),[Bt,qn]=b.useState(null),[qs,Ys]=b.useState(0),[Un,Fn]=b.useState(!1),[rn,Sn]=b.useState(null),[hs,js]=b.useState(!1),[vi,is]=b.useState([]),[ms,Rn]=b.useState(!1),$n=b.useRef(new Set),[un,me]=b.useState(()=>new Set),[De,Ae]=b.useState(()=>new Set),Je=b.useRef(new Map),ut=b.useRef(new Map),pt=(j,U)=>me(J=>{const le=new Set(J);return U?le.add(j):le.delete(j),le}),Ot=j=>{const U=ut.current.get(j);U!==void 0&&window.clearTimeout(U),ut.current.delete(j),Ae(J=>new Set(J).add(j))},jt=j=>{const U=ut.current.get(j);U!==void 0&&window.clearTimeout(U);const J=window.setTimeout(()=>{ut.current.delete(j),Ae(le=>{const ve=new Set(le);return ve.delete(j),ve})},2400);ut.current.set(j,J)},bt=b.useRef(""),[_n,Le]=b.useState(""),[ot,dt]=b.useState(""),[On,bn]=b.useState(()=>new Set),[Ki,ps]=b.useState(!1),[ur,ji]=b.useState(S3),[Yn,Ms]=b.useState(null),[Go,Mi]=b.useState(!1),[ie,Ut]=b.useState(!1),[Tn,jn]=b.useState(""),Ft=b.useRef(!1),[Ls,Na]=b.useState(null),[Ve,Hn]=b.useState(""),[Rr,dr]=b.useState(),[vs,Li]=b.useState(null),Ko=(vs==null?void 0:vs.capabilities.runtimeScope)??"mine",[Za,Ds]=b.useState({newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,addAgentkit:!0}),[ne,Se]=b.useState("cloud"),[Ze,yt]=b.useState(ap),[Wn,rs]=b.useState(""),[Ps,Bs]=b.useState(!1),[en,Mn]=b.useState(!1),[Xn,Ws]=b.useState(!1),[qi,Or]=b.useState({}),[di,wg]=b.useState({}),[Px,Ja]=b.useState({}),Jl=un.has(a),Sg=De.has(a),bu=Jl||u,_g=!!a&&hs,eo=m?y:bu,Tg=eo||!m&&Sg,gn=SIe({session:m,conversationBusy:y,onInputChange:vt,onSessionPatch:j=>{const U=Ke.current;p(J=>(J==null?void 0:J.id)===U?{...J,...j}:J)},onSnapshot:j=>{const U=Ke.current;v(vIe(j)),p(J=>(J==null?void 0:J.id)===U?{...J,threadId:j.threadId,cwd:j.cwd??J.cwd,model:j.model??J.model,workspaceLocked:j.workspaceLocked,permissions:j.permissions,busy:!1}:J)},onActivity:(j,U=[])=>{const J=Ke.current;J&&at(J,j,U)},onError:Le}),yu=qi[a]??"",qo=di[a]??$Ie,Zf=Px[a]??HIe,wi=Bt==null?void 0:Bt.graph,Ng=[Bt==null?void 0:Bt.name,wi==null?void 0:wi.name,wi==null?void 0:wi.id].filter(j=>!!j),Jf=Qt.targetAgent&&wi?dT(wi,Qt.targetAgent.name):wi,Bx=(Jf==null?void 0:Jf.skills)??(Qt.targetAgent?[]:(Bt==null?void 0:Bt.skills)??[]),Ux=wi?jz(wi):[];function eh(j){co(j);for(const U of j)U.status==="uploading"?$n.current.add(U.id):U.uri&&db(n,U.uri).catch(J=>Le(String(J)))}function th(){Kt.current+=1;const j=Ee;Qe(null),nn(!1),j&&!j.id.startsWith("pending-")&&SAe(j.id).catch(U=>{Le(U instanceof Error?U.message:String(U))})}async function xu(j){try{await FS(n,Ve,j),await US(n,Ve,j),r(U=>U.filter(J=>J.id!==j)),ge(U=>{const{[j]:J,...le}=U;return le})}catch(U){Le(String(U))}}function kg(j){const U=Xt.find(ve=>ve.id===j);if(!U)return;const J=Xt.filter(ve=>ve.id!==j);co([U]),U.status==="uploading"&&$n.current.add(j),Vt(J),J.length===0&&!fn.trim()&&!!a&&Ye.length===0?(bt.current="",l(""),xu(a)):U.uri&&db(n,U.uri).catch(ve=>Le(String(ve)))}const nh=(j,U)=>{var ke,nt,Ge,rt,lt;const J=U.author&&U.author!=="user"?U.author:void 0;J&&(Or(Oe=>({...Oe,[j]:J})),wg(Oe=>({...Oe,[j]:new Set(Oe[j]??[]).add(J)})),Ja(Oe=>{var ct;return(ct=Oe[j])!=null&&ct.length?Oe:{...Oe,[j]:[J]}}));const le=((ke=U.actions)==null?void 0:ke.transferToAgent)??((nt=U.actions)==null?void 0:nt.transfer_to_agent);le&&Ja(Oe=>{const ct=Oe[j]??[];return ct[ct.length-1]===le?Oe:{...Oe,[j]:[...ct,le]}}),(((Ge=U.actions)==null?void 0:Ge.endOfAgent)??((rt=U.actions)==null?void 0:rt.end_of_agent)??((lt=U.actions)==null?void 0:lt.escalate))&&Ja(Oe=>{const ct=Oe[j]??[];return ct.length<=1?Oe:{...Oe,[j]:ct.slice(0,-1)}})},[to,Pt]=b.useState(E3),[sh,Ag]=b.useState([]),[Fx,ih]=b.useState({}),rh=b.useCallback(j=>{Ag(U=>{const J=U.findIndex(ve=>ve.id===j.id);if(J===-1)return[j,...U];const le=[...U];return le[J]={...le[J],...j},le})},[]),[$x,Hx]=b.useState(!0),[ah,ni]=b.useState(!1),[Cg,Ts]=b.useState(!1),[oh,Ln]=b.useState(!1),[Ig,Xs]=b.useState(null),[Eu,vu]=b.useState([]),H=b.useRef([]),re=b.useRef(null),fe=b.useRef(null),[Ce,et]=b.useState([]),[tt,an]=b.useState(""),si=b.useRef(null),[hn,zn]=b.useState(!1),[wu,yn]=b.useState(!1),[sA,zx]=b.useState(""),[Mz,Lz]=b.useState("good"),[Dz,Rg]=b.useState("basic"),[Pz,Bz]=b.useState("good"),[lh,Og]=b.useState(""),[Uz,Fz]=b.useState(null),[Yo,gs]=b.useState(!1),[Vx,ka]=b.useState(null),Gx=b.useRef(null),[Wo,ch]=b.useState(()=>{const j=da();return Vf(j),j}),[$z,iA]=b.useState(!1),[Hz,rA]=b.useState(""),[aA,jg]=b.useState(null),[zz,oA]=b.useState({}),[Vz,lA]=b.useState(()=>new Set),[Su,na]=b.useState(null),[Mg,Kx]=b.useState("cn-beijing"),[cA,Di]=b.useState(""),[uA,Si]=b.useState(""),[xn,Yi]=b.useState(null),[Gz,qx]=b.useState(!1),Lg=b.useRef(!1),_u=b.useRef(!1),Aa=b.useCallback(j=>{if(!Ve)return!1;try{a3(localStorage,Ve,j)}catch(U){return dt(U instanceof Error?U.message:"浏览器拒绝保存草稿,请稍后重试。"),!1}return H.current=j,vu(j),dt(""),!0},[Ve]),Ca=b.useCallback(j=>{var U;j&&((U=re.current)==null?void 0:U.id)!==j||(re.current=null,fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null))},[]),Tu=b.useCallback(()=>{const j=re.current;j&&(Ca(),Aa([j,...H.current.filter(U=>U.id!==j.id)]))},[Ca,Aa]),Kz=b.useCallback((j,U,J)=>{!j||!Ve||(re.current&&re.current.id!==j&&Tu(),re.current={id:j,draft:U,updatedAt:Date.now(),deploymentTarget:J},fe.current!==null&&window.clearTimeout(fe.current),fe.current=window.setTimeout(Tu,FIe))},[Tu,Ve]),Yx=b.useCallback(j=>{!j||!Ve||(Ca(j),Aa(H.current.filter(U=>U.id!==j)))},[Ca,Aa,Ve]),dA=b.useCallback(j=>{if(!Ve||j.length===0)return;const U=new Set(j.map(J=>J.id));re.current&&U.has(re.current.id)&&Ca(),Aa(H.current.filter(J=>!U.has(J.id))),ih(J=>Object.fromEntries(Object.entries(J).filter(([le])=>!U.has(le)))),U.has(tt)&&(an(""),Xs(null),na(null),si.current=null,localStorage.removeItem(Ew(Ve)))},[Ca,Aa,tt,Ve]),fA=b.useCallback(j=>{if(!j||!Ve)return;Ca(j);const U=si.current,J=H.current.filter(le=>le.id!==j);Aa((U==null?void 0:U.id)===j?[U,...J]:J)},[Ca,Aa,Ve]);b.useEffect(()=>(window.addEventListener("pagehide",Tu),()=>{window.removeEventListener("pagehide",Tu)}),[Tu]),b.useEffect(()=>{if(!Ve){Ca(),H.current=[],vu([]),et([]),an(""),dt(""),si.current=null;return}let j=[],U="";try{j=hAe(localStorage,Ve),localStorage.getItem(jx(Ve))!==null&&a3(localStorage,Ve,j),U=localStorage.getItem(Ew(Ve))||"",dt("")}catch(le){dt(le instanceof Error?le.message:"无法读取本机草稿,请稍后重试。")}H.current=j,vu(j),et(zIe(Ve));const J=j.find(le=>le.id===U);si.current=J??null,to==="custom"&&J&&(an(J.id),Xs(J.draft),na(J.deploymentTarget??null))},[Ca,Ve]),b.useEffect(()=>{if(!Ve)return;const j=Ew(Ve);try{to==="custom"&&tt?localStorage.setItem(j,tt):localStorage.removeItem(j)}catch{dt("浏览器拒绝保存当前草稿位置,请检查站点存储权限后重试。")}},[to,tt,Ve]);const qz=b.useCallback(j=>{if(!Ve)return;const U=[...new Set(j.filter(Boolean))];et(U),localStorage.setItem(uT(Ve),JSON.stringify(U))},[Ve]),Yz=b.useCallback(async j=>{const U=j.filter(rt=>!!rt.runtimeId&&rt.canDelete===!0);if(U.length===0)return;const J=iRe(Wo,n),le=new Set(U.map(rt=>rt.runtimeId));lA(rt=>{const lt=new Set(rt);for(const Oe of le)lt.add(Oe);return lt}),I0(le);const ve=new Set,ke=new Set,nt=new Set,Ge=[];for(const rt of U)try{if(!rt.region)throw new Error("Runtime 缺少地域信息,无法删除");await iB(rt.runtimeId,rt.region),Vy(rt.runtimeId),ve.add(rt.runtimeId),ke.add(rt.id)}catch(lt){const Oe=lt instanceof Error?lt.message:String(lt);nt.add(rt.runtimeId),Ge.push(`${rt.label}: ${Oe}`)}if(ve.size>0&&(I0(ve),ch(da()),jg(lt=>{if(!lt)return lt;const Oe=new Set(lt);for(const ct of ve)Oe.delete(ct);return Oe}),oA(lt=>Object.fromEntries(Object.entries(lt).filter(([Oe])=>!ve.has(Oe)))),et(lt=>{const Oe=lt.filter(ct=>!ke.has(ct));return Ve&&localStorage.setItem(uT(Ve),JSON.stringify(Oe)),Oe}),Aa(H.current.filter(lt=>{var Oe;return!((Oe=lt.deploymentTarget)!=null&&Oe.runtimeId)||!ve.has(lt.deploymentTarget.runtimeId)})),(J?ve.has(J):U.some(lt=>lt.id===n))&&(mV(),Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Di(""),Si(""),gs(!0),Le("")),xn!=null&&xn.runtime&&ve.has(xn.runtime.runtimeId)&&(Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Di(""),Si(""),gs(!0),Le(""))),nt.size>0&&lA(rt=>{const lt=new Set(rt);for(const Oe of nt)lt.delete(Oe);return lt}),Ge.length>0){const rt=Ge.slice(0,3).join(";"),lt=Ge.length>3?`;另有 ${Ge.length-3} 个失败`:"";throw new Error(`${Ge.length} 个 Agent 删除失败:${rt}${lt}`)}},[xn,n,Aa,Wo,Ve]),Wx=b.useCallback(async()=>{iA(!0),rA("");try{const j=[];let U="";do{const J=await P1({scope:Ko,region:"all",pageSize:100,nextToken:U});j.push(...J.runtimes),U=J.nextToken}while(U&&j.length<2e3);jg(new Set(j.map(J=>J.runtimeId))),oA(Object.fromEntries(j.map(J=>[J.runtimeId,{canDelete:J.canDelete}])))}catch(j){rA(j instanceof Error?j.message:String(j))}finally{iA(!1)}},[Ko]);function Dg(j){console.log("create agent draft:",j),Pt(null),Qo()}function Xx(j,U){console.log("Agent added, navigating to:",j,U),ch(da()),jg(null),I0(),Yx(tt),an(""),si.current=null,na(null),Di(""),Si(j),Rg("basic"),Pt(null),yn(!0),s(j)}const Qx=b.useCallback(j=>{Pt(null),Ln(!1),gs(!1),Yi(null),yn(!0),Si(""),Rg("basic"),Di(j.id),Le("")},[]),hA=b.useCallback(j=>{tt&&ih(U=>({...U,[tt]:j.id})),Qx(j)},[tt,Qx]),mA=b.useCallback(async j=>{if(!j.runtimeId)throw new Error("部署完成,但未返回 Runtime ID。");const U=(Su==null?void 0:Su.region)??Mg,J=await _b(j.runtimeId,j.agentName,j.region??U,j.version);ch(da()),Ys(ve=>ve+1);const le=await xw(J);$e.current.set(J,le),St(le),jg(ve=>{const ke=new Set(ve??[]);return ke.add(j.runtimeId),ke}),I0(),na(null),Yx(tt),ih(ve=>{if(!tt||!ve[tt])return ve;const ke={...ve};return delete ke[tt],ke}),an(""),si.current=null,Si(J),Rg("basic"),Pt(null),yn(!0),s(J)},[tt,Mg,Yx,Su]),uh=b.useRef(null),Zx=b.useRef(new Map),ec=b.useRef(!0),Xo=b.useRef(!1),tc=b.useRef(null),pA=b.useRef({key:"",turnCount:0}),Jx=(m==null?void 0:m.id)??a;b.useLayoutEffect(()=>{const j=uh.current,U=pA.current,J=U.key!==Jx,le=!J&&Ye.length>U.turnCount;if(pA.current={key:Jx,turnCount:Ye.length},!j||Ye.length===0||!J&&!le)return;ec.current=!0,Xo.current=!1,tc.current!==null&&(window.clearTimeout(tc.current),tc.current=null);const ve=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(J||ve){j.scrollTop=j.scrollHeight;return}Xo.current=!0,j.scrollTo({top:j.scrollHeight,behavior:"smooth"}),tc.current=window.setTimeout(()=>{Xo.current=!1,tc.current=null},450)},[Jx,Ye.length]),b.useLayoutEffect(()=>{const j=uh.current;!j||!ec.current||Xo.current||(j.scrollTop=j.scrollHeight)},[eo,Ye]),b.useEffect(()=>{if(!lh||wu||Ye.length===0)return;const j=Zx.current.get(lh);if(!j)return;ec.current=!1,j.scrollIntoView({behavior:"smooth",block:"center"});const U=window.setTimeout(()=>{Og("")},2600);return()=>window.clearTimeout(U)},[lh,wu,Ye]),b.useEffect(()=>()=>{tc.current!==null&&window.clearTimeout(tc.current)},[]);const Wz=b.useCallback(()=>{const j=uh.current;!j||Xo.current||(ec.current=j.scrollHeight-j.scrollTop-j.clientHeight<32)},[]),Xz=b.useCallback(j=>{j.deltaY<0&&(Xo.current=!1,ec.current=!1)},[]),Qz=b.useCallback(()=>{Xo.current=!1,ec.current=!1},[]),Zz=b.useCallback(()=>{const j=uh.current;!j||!ec.current||Xo.current||(j.scrollTop=j.scrollHeight)},[]),eE=b.useCallback(()=>{Na(null),DS().then(j=>{Hn(j.userId),dr(j.info),Mn(!!j.local),Ms(j.status),j.status==="authenticated"&&(Lg.current=!0,_u.current=!0,localStorage.removeItem(aa.app),s(""),Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),gs(!1))}).catch(j=>{Na(j instanceof Error?j.message:String(j))})},[]);b.useEffect(()=>{eE()},[eE]),b.useEffect(()=>{const j=()=>{jn(""),Mi(!0)};return window.addEventListener(PS,j),OJ()&&j(),()=>window.removeEventListener(PS,j)},[]);const Jz=b.useCallback(async()=>{if(Ft.current)return;Ft.current=!0;const j=TJ();if(!j){Ft.current=!1,jn("登录窗口被浏览器拦截,请允许弹出窗口后重试。");return}Ut(!0),jn("");try{for(;;){await new Promise(U=>window.setTimeout(U,1e3));try{const U=await DS();if(U.status==="authenticated"){Hn(U.userId),dr(U.info),Mn(!!U.local),Ms(U.status),Mi(!1),jJ(),j.close();return}}catch{}if(j.closed){jn("登录窗口已关闭,请重新登录以继续当前操作。");return}}}finally{Ft.current=!1,Ut(!1)}},[]);b.useEffect(()=>{en&&Ve&&MR(Ve)},[en,Ve]),b.useEffect(()=>{if(Yn!=="authenticated"||!Ve||!n){St({});return}const j=$e.current.get(n);if(j){St(j);return}let U=!1;return St({}),xw(n).then(J=>{U||($e.current.set(n,J),St(J))}),()=>{U=!0}},[n,Yn,Ve]),b.useEffect(()=>{if(Yn!=="authenticated"||!Ve){Li(null);return}let j=!1;return Li(null),JP().then(U=>{j||Li(U)}).catch(U=>{console.warn("[app] /web/access failed; using ordinary-user access:",U),j||Li(ZP)}),()=>{j=!0}},[Yn,Ve]),b.useEffect(()=>{QP().then(j=>{Ds(j.features),Se(j.agentsSource),yt(j.branding),rs(j.version),Bs(!0)})},[]),b.useEffect(()=>{vs&&(vs.capabilities.createAgents||(Pt(null),Xs(null),Ts(!1),Ln(!1),Ag([])),vs.capabilities.manageAgents||yn(!1))},[vs]),b.useEffect(()=>{Yn!=="authenticated"||ne!=="cloud"||!Ps||!wu||xn||Wx()},[xn,ne,Yn,wu,Wx,Ps]),b.useEffect(()=>{document.title=Ze.title;let j=document.querySelector('link[rel~="icon"]');j||(j=document.createElement("link"),j.rel="icon",document.head.appendChild(j)),j.removeAttribute("type"),j.href=Ze.logoUrl||mk},[Ze]),b.useEffect(()=>{fetch("/web/runtime-config",{signal:AbortSignal.timeout(1e4)}).then(j=>j.ok?j.json():null).then(j=>{j&&Hx(!!j.credentials)}).catch(j=>{console.warn("[app] /web/runtime-config probe failed; workbench stays hidden:",j)})},[]);function eV(j){MR(j),Lg.current=!0,_u.current=!0,localStorage.removeItem(aa.app),Li(null),Pt(null),Xs(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Qo(),s(""),gs(!1),Hn(j),dr({name:j}),Mn(!0),Ms("authenticated")}function tV(){Li(null),en?(SJ(),Hn(""),dr(void 0),Ms("unauthenticated")):kJ()}b.useEffect(()=>{if(Yn==="authenticated"){if(ne==="cloud"){const j=N3(Wo);s(U=>U&&j.includes(U)?U:(U&&(_u.current=!0,localStorage.removeItem(aa.app)),""));return}NP().then(j=>{t(j);const U=N3(Wo);s(J=>J&&(j.includes(J)||U.includes(J))?J:(J&&(_u.current=!0,localStorage.removeItem(aa.app)),""))}).catch(j=>Le(String(j)))}},[Yn,ne,Wo]),b.useEffect(()=>{n?(_u.current=!1,localStorage.setItem(aa.app,n)):localStorage.removeItem(aa.app)},[n]),b.useEffect(()=>{let j=!1;if(Sn(null),is([]),Yo||xn||!n||!Ve||!a){js(!1);return}return js(!0),$S(n,Ve,a).then(U=>{j||(Sn(U),ck(n).then(J=>{j||is(J)}).catch(()=>{j||is([])}))}).catch(()=>{j||Sn(null)}).finally(()=>{j||js(!1)}),()=>{j=!0}},[xn,n,Yo,Ve,a]),b.useEffect(()=>{let j=!1;if(qn(null),Rt(Oa()),Yn!=="authenticated"||Yo||xn||!n){Fn(!1);return}return Fn(!0),uk(n).then(U=>{j||qn(U)}).catch(()=>{j||qn(null)}).finally(()=>{j||Fn(!1)}),()=>{j=!0}},[xn,n,qs,Yn,Yo]),b.useEffect(()=>{vs&&localStorage.setItem(aa.view,vs.capabilities.createAgents?to??"chat":"chat")},[vs,to]),b.useEffect(()=>{localStorage.setItem(aa.session,a),bt.current=a},[a]),b.useEffect(()=>()=>Je.current.forEach(j=>j.abort()),[]),b.useEffect(()=>()=>ut.current.forEach(j=>{window.clearTimeout(j)}),[]),b.useEffect(()=>()=>{var j,U;(j=Pe.current)==null||j.abort(),(U=Fe.current)==null||U.abort()},[]),b.useEffect(()=>{if(Yo||xn||m||!n||!Ve)return;let j=!1;return(async()=>{const U=await Pg(n);if(!j){if(!Lg.current){Lg.current=!0;const J=localStorage.getItem(aa.session)||"";if(E3()===null&&J&&U.some(le=>le.id===J)){dh(J);return}}Qo()}})(),()=>{j=!0}},[xn,n,Yo,m,Ve]),b.useEffect(()=>{const j=Gx.current;j&&j.app===n&&(Gx.current=null,dh(j.sid))},[n]);function nV(j,U){zn(!1),j===n?dh(U):(Gx.current={app:j,sid:U},s(j))}async function Pg(j){try{const U=await ak(j,Ve),J=await Promise.allSettled(U.map(ke=>{var nt;return(nt=ke.events)!=null&&nt.length?Promise.resolve(ke):xy(j,Ve,ke.id)})),le=J.find(ke=>ke.status==="rejected"&&!/get session failed:\s*404\b/i.test(String(ke.reason)));if((le==null?void 0:le.status)==="rejected")throw le.reason;const ve=J.flatMap(ke=>ke.status==="fulfilled"?[ke.value]:[]);return r(ve),ve}catch(U){return Le(String(U)),[]}}function gA(j="codex",U=!1){m||(Le(""),ue(""),ye("confirm"),Re(j),oe(U),W(!0))}function sV(){var j;(j=Pe.current)==null||j.abort(),Pe.current=null,W(!1),ye("confirm"),ue(""),!m&&it==="temporary"&&!pe&&Ht("agent")}async function iV(j){var J;(J=Pe.current)==null||J.abort();const U=new AbortController;Pe.current=U,ye("loading"),ue("");try{const le=he==="codex"?await ln.startSession({displayName:j,signal:U.signal}):await ln.startAgentSession(he,{displayName:j,signal:U.signal});if(Pe.current!==U)return;if(pe){xe(ke=>ke+1),W(!1),ye("confirm"),gs(!0);return}if(he!=="codex")return;const ve=await ln.connectSession(le.id,{signal:U.signal});if(Pe.current!==U)return;bt.current="",l(""),h([]),vt(""),Rt(Oa()),Ht("temporary"),th(),nn(!1),eh(Xt),Vt([]),v([]),p(ve),Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),gs(!1),Me(null),_e(null),W(!1),ye("confirm")}catch(le){if((le==null?void 0:le.name)==="AbortError"||Pe.current!==U)return;ue(le instanceof Error?le.message:String(le)),ye("error")}finally{Pe.current===U&&(Pe.current=null)}}async function tE(j){if(Le(""),j.toolName==="codex"){const J=await ln.connectSession(j.id);bt.current="",l(""),h([]),vt(""),Rt(Oa()),v([]),p(J),Me(null),_e(null),gs(!1),yn(!1);return}const U=await ln.openAgentSession(j.toolName,j.id);_e(U),Me(null),gs(!1),yn(!1)}function rV(j){Me(j),_e(null),gs(!1),yn(!1),Le("")}async function aV(j){(m==null?void 0:m.id)===j.id&&no(),j.toolName==="codex"?await ln.deleteSession(j.id):await ln.deleteAgentSession(j.toolName,j.id),Me(null),_e(null),xe(U=>U+1),gs(!0)}function no(){var U;(U=Fe.current)==null||U.abort(),Fe.current=null,Ke.current="",X.current="",x(!1),v([]),co(Xt),Vt([]),vt(""),Le(""),Ht("agent"),w(!1),S(""),A(!1),R(!1),L(null),D(null),N(!1),P(""),I(null),Q(!1),ee(""),K(!1),ae.current+=1;const j=m;p(null),j&&ln.closeSession(j.id).catch(J=>Le(String(J)))}async function nE(j){const U=m;if(U){L(j),D(null),P(""),N(!0);try{const J=j==="terminal"?await ln.launchTerminal(U.id):await ln.launchBrowser(U.id);D(J)}catch(J){P(J instanceof Error?J.message:String(J))}finally{N(!1)}}}async function oV(j){const U=m;if(!(!U||E)){w(!0),S("");try{const J=await ln.updatePermissions(U.id,j);p(le=>(le==null?void 0:le.id)===U.id?{...le,permissions:J}:le),at(U.id,"已更新当前 Sandbox Session 的 Codex 权限",[{label:"沙箱模式",value:JIe[J.sandboxMode]},{label:"审批策略",value:eRe[J.approvalPolicy]},{label:"审批方式",value:tRe[J.approvalsReviewer]},{label:"网络访问",value:J.networkAccess?"允许":"关闭"}]),Ke.current===U.id&&A(!1)}catch(J){S(J instanceof Error?J.message:String(J))}finally{w(!1)}}}const lV=b.useCallback(async j=>{const U=m==null?void 0:m.id;if(!U)throw new Error("当前没有已连接的 Sandbox。");return ln.listDirectories(U,j)},[m==null?void 0:m.id]);async function cV(j){const U=m;if(!(!U||U.workspaceLocked||E)){w(!0),S("");try{const J=await ln.updateWorkspace(U.id,j);p(le=>(le==null?void 0:le.id)===U.id?{...le,cwd:J}:le),gn.invalidateSkills(),at(U.id,"已更新工作空间",[{label:"工作目录",value:J,code:!0}]),Ke.current===U.id&&R(!1)}catch(J){S(J instanceof Error?J.message:String(J))}finally{w(!1)}}}async function uV(j){const U=m,J=$;if(!(!U||!J||q)){Q(!0),ee("");try{await ln.resolveApproval(U.id,J.id,j),at(U.id,nRe(J,j),sRe(J),X.current),I(le=>(le==null?void 0:le.id)===J.id?null:le)}catch(le){ee(le instanceof Error?le.message:String(le))}finally{Q(!1)}}}async function dV(j){const U=m;if(!U||z)return;const J=++ae.current;Le(""),K(!0);const le=Array.from(j).map(ve=>{const ke={id:_3(),mimeType:T3(ve),name:ve.name,sizeBytes:ve.size,status:"uploading",previewUrl:URL.createObjectURL(ve)};return{file:ve,attachment:ke}});Vt(ve=>[...ve,...le.map(({attachment:ke})=>ke)]);try{const ke=(await Promise.all(le.map(async({file:nt,attachment:Ge})=>{try{const rt=await ln.uploadFile(U.id,nt);return ae.current!==J?null:(Vt(lt=>lt.map(Oe=>Oe.id===Ge.id?{...Oe,id:rt.id,uri:rt.path,name:rt.name,mimeType:rt.mimeType,sizeBytes:rt.sizeBytes,status:"ready"}:Oe)),rt)}catch(rt){if(ae.current!==J)return null;const lt=rt instanceof Error?rt.message:String(rt);return Vt(Oe=>Oe.map(ct=>ct.id===Ge.id?{...ct,status:"error",error:lt}:ct)),Le(lt),null}}))).filter(nt=>nt!==null);ae.current===J&&ke.length>0&&at(U.id,ke.length===1?"已上传文件到 Sandbox":`已上传 ${ke.length} 个文件到 Sandbox`,ke.map((nt,Ge)=>({label:ke.length===1?"文件":`文件 ${Ge+1}`,value:nt.path,code:!0})))}finally{ae.current===J?K(!1):co(le.map(({attachment:ve})=>ve))}}function fV(j){const U=Xt.find(J=>J.id===j);U&&(co([U]),Vt(J=>J.filter(le=>le.id!==j)))}async function bA(j,U=[],J=[]){var Wi;const le=m,ve=U.filter(ft=>ft.status==="ready"&&ft.uri);if(!le||y||!j.trim()&&ve.length===0)return;Le(""),I(null),ee("");const ke=new AbortController;(Wi=Fe.current)==null||Wi.abort(),Fe.current=ke;const nt=[];J.length>0&&nt.push({kind:"invocation",value:{skills:J.map(({name:ft,description:ht})=>({name:ft,description:ht}))}}),ve.length>0&&nt.push({kind:"attachment",files:ve.map(ft=>({id:ft.id,mimeType:ft.mimeType,name:ft.name,sizeBytes:ft.sizeBytes}))}),j.trim()&&nt.push({kind:"text",text:j});const Ge=ve.map(ft=>ft.uri).filter(ft=>!!ft),lt=[J.map(ft=>`$${ft.name}`).join(" "),j.trim()].filter(Boolean).join(" "),Oe=Ge.length>0?[lt,"以下文件已上传到当前 Sandbox 工作空间,请在任务中使用:",...Ge.map(ft=>`- ${ft}`)].filter(Boolean).join(` +`);if(!t.length||t[0].trim()!=="---")return{name:"",description:""};let n=-1;for(let i=1;i=2&&(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))}function y2e(...e){var t;for(const n of e){const s=(t=n.trim().replace(/\\/g,"/").split("/").filter(Boolean).pop())==null?void 0:t.replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");if(s)return s.slice(0,64)}return"local-skill"}function x2e(e,t){return t.trim()||e}function fz(e){const t=e.map(s=>({path:s.path.replace(/\\/g,"/").replace(/^\.\//,""),text:s.text})).filter(s=>s.path.length>0&&!s.path.endsWith("/")),n=new Set(t.map(s=>s.path.split("/")[0]));if(n.size===1&&t.every(s=>s.path.includes("/"))){const s=[...n][0]+"/";return t.map(i=>({path:i.path.slice(s.length),text:i.text}))}return t}function E2e(e){const t=new Map,n=new Set;for(const s of e)if(tT.test("/"+s.path)){const i=s.path.split("/");n.add(i.slice(0,-1).join("/"))}for(const s of e){const i=s.path.split("/");let r="";for(let u=i.length-1;u>=0;u--){const d=i.slice(0,u).join("/");if(n.has(d)){r=d;break}}const a=tT.test("/"+s.path);if(!r&&!a&&!n.has("")||!n.has(r)&&!a)continue;const l=r?s.path.slice(r.length+1):s.path,c=t.get(r)||[];c.push({path:l,text:s.text}),t.set(r,c)}return t}function v2e(e,t,n){const s=`${n}${e?"/"+e:""}`,i=t.find(c=>tT.test("/"+c.path));if(!i)return{hit:null,error:`${s} 缺少 SKILL.md`};const r=g2e(i.text),a=y2e(r.name,e,n.replace(/\.[^.]+$/,"")),l=[];for(const c of t){if(c.path.split("/").some(f=>f===".."))return{hit:null,error:`${s} 包含非法路径(..):${c.path}`};const d=`skills/${a}/${c.path}`;if(!d.startsWith(`skills/${a}/`))return{hit:null,error:`${s} 包含非法路径:${c.path}`};l.push({path:d,content:c.text})}return{hit:{source:"local",id:`local:${a}:${t.length}`,name:x2e(a,r.name),description:r.description||"本地 Skill",folder:a,localFiles:l},error:null}}async function w2e(e){const t=new Uint8Array(await e.arrayBuffer()),s=(await dz(t)).map(i=>({path:i.name,text:i.text}));return hz(fz(s),e.name)}async function S2e(e,t=new Map){const n=[];for(let s=0;se.file(t,n))}async function T2e(e){const t=e.createReader(),n=[];for(;;){const s=await new Promise((i,r)=>t.readEntries(i,r));if(s.length===0)return n;n.push(...s)}}async function mz(e,t=""){const n=t?`${t}/${e.name}`:e.name;if(e.isFile)return[{file:await _2e(e),path:n}];if(!e.isDirectory)return[];const s=await T2e(e);return(await Promise.all(s.map(i=>mz(i,n)))).flat()}function N2e({selected:e,onChange:t}){const[n,s]=b.useState([]),[i,r]=b.useState([]),[a,l]=b.useState(!1),[c,u]=b.useState(!1),d=b.useRef(0),f=E=>e.some(w=>w.source==="local"&&w.folder===E),h=E=>{E.localFiles&&(f(E.folder||E.name)?t(e.filter(w=>!(w.source==="local"&&w.folder===(E.folder||E.name)))):t([...e,{source:"local",folder:E.folder||E.name,name:E.name,description:E.description,localFiles:E.localFiles}]))},m=b.useRef([]),p=b.useRef(e);b.useEffect(()=>{m.current=i},[i]),b.useEffect(()=>{p.current=e},[e]);const g=E=>{const w=new Set([...m.current.map(A=>A.folder||A.name),...p.current.filter(A=>A.source==="local").map(A=>A.folder)]),T=[],S=[];for(const A of E.hits){const C=A.folder||A.name;if(w.has(C)){T.push(A.name);continue}w.add(C),S.push(A)}r(A=>[...A,...S]);const N=[...E.errors];if(T.length>0&&N.push(`已跳过重复技能:${T.join("、")}`),s(N),S.length===1&&E.errors.length===0&&T.length===0){const A=S[0];A.localFiles&&t([...p.current,{source:"local",folder:A.folder||A.name,name:A.name,description:A.description,localFiles:A.localFiles}])}},v=E=>{E.preventDefault(),d.current+=1,u(!0)},y=E=>{E.preventDefault(),d.current=Math.max(0,d.current-1),d.current===0&&u(!1)},x=async E=>{if(E.preventDefault(),d.current=0,u(!1),a)return;const w=Array.from(E.dataTransfer.items).map(T=>{var S;return(S=T.webkitGetAsEntry)==null?void 0:S.call(T)}).filter(T=>T!==null);if(w.length===0){s(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}l(!0);try{const T=(await Promise.all(w.map(A=>mz(A)))).flat(),S=w.some(A=>A.isDirectory);if(!S&&T.length===1&&T[0].file.name.toLowerCase().endsWith(".zip")){g(await w2e(T[0].file));return}if(!S){s(["请拖入包含 SKILL.md 的文件夹或一个 .zip 文件"]);return}const N=new Map(T.map(({file:A,path:C})=>[A,C]));g(await S2e(T.map(({file:A})=>A),N))}catch(T){s([`读取失败:${T instanceof Error?T.message:String(T)}`])}finally{l(!1)}};return o.jsxs("div",{className:"cw-local",children:[o.jsxs("div",{className:`cw-local-dropzone ${c?"is-dragging":""}`,role:"group","aria-label":"拖入文件夹或 ZIP,自动识别 Skill",onDragEnter:v,onDragOver:E=>E.preventDefault(),onDragLeave:y,onDrop:E=>void x(E),children:[o.jsx(JN,{className:"cw-local-drop-icon","aria-hidden":!0}),o.jsx("p",{className:"cw-local-drop-hint",children:"拖入文件夹或 ZIP,自动识别 Skill"})]}),o.jsx("p",{className:"cw-local-hint",children:"每个技能需包含 SKILL.md。支持包含多个技能的目录。"}),a&&o.jsx("p",{className:"cw-empty-line",children:"正在读取文件…"}),n.length>0&&o.jsxs("div",{className:"cw-banner",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:n.join(";")})]}),i.length>0&&o.jsx("div",{className:"cw-skill-results",children:i.map(E=>{var T;const w=f(E.folder||E.name);return o.jsxs("button",{type:"button",className:`cw-skill-result ${w?"is-on":""}`,onClick:()=>h(E),"aria-pressed":w,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:w?o.jsx(Ya,{className:"cw-i cw-i-sm"}):o.jsx(vi,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsx("span",{className:"cw-skill-result-name",children:E.name}),E.description&&o.jsx("span",{className:"cw-skill-result-desc",children:Kl(E.description)}),o.jsxs("span",{className:"cw-skill-result-repo",children:["本地 · ",((T=E.localFiles)==null?void 0:T.length)??0," 个文件"]})]})]},E.id)})})]})}function k2e(e){return e==="cn-beijing"?"北京":e==="cn-shanghai"?"上海":e}function A2e({selected:e,onChange:t}){const[n,s]=b.useState([]),[i,r]=b.useState([]),[a,l]=b.useState(""),[c,u]=b.useState(!0),[d,f]=b.useState(!1),[h,m]=b.useState(null);b.useEffect(()=>{let y=!1;return(async()=>{u(!0),m(null);try{const x=await q9();y||(s(x),x.length>0&&l(x[0].id))}catch(x){y||m(x instanceof Error?x.message:"加载失败")}finally{y||u(!1)}})(),()=>{y=!0}},[]),b.useEffect(()=>{if(!a){r([]);return}const y=n.find(E=>E.id===a);let x=!1;return(async()=>{f(!0),m(null);try{const E=await Y9(a,y==null?void 0:y.region);x||r(E)}catch(E){x||m(E instanceof Error?E.message:"加载失败")}finally{x||f(!1)}})(),()=>{x=!0}},[a,n]);const p=n.find(y=>y.id===a),g=(y,x)=>e.some(E=>E.source==="skillspace"&&E.skillId===y&&(E.version||"")===x),v=y=>{if(p)if(g(y.skillId,y.version))t(e.filter(x=>!(x.source==="skillspace"&&x.skillId===y.skillId&&(x.version||"")===y.version)));else{const x=Que(p,y);t([...e,{source:"skillspace",folder:x.folder||y.skillName,name:x.name,description:x.description,skillSpaceId:x.skillSpaceId,skillSpaceName:x.skillSpaceName,skillSpaceRegion:x.skillSpaceRegion,skillId:x.skillId,version:x.version}])}};return o.jsx("div",{className:"cw-skillspace",children:c?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(gn,{className:"cw-i cw-spin"})," 正在加载 AgentKit Skills 中心…"]}):h?o.jsxs("div",{className:"cw-banner",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:h})]}):n.length===0?o.jsx("p",{className:"cw-empty-line",children:"此账号下没有 AgentKit Skills 中心。"}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-skillspace-header",children:[o.jsx("select",{className:"cw-input cw-skillspace-select",value:a,onChange:y=>l(y.target.value),"aria-label":"选择 AgentKit Skills 中心",children:n.map(y=>o.jsxs("option",{value:y.id,children:[y.name||y.id,y.description?` — ${Kl(y.description)}`:""]},y.id))}),p&&o.jsxs(o.Fragment,{children:[p.region&&o.jsx("span",{className:"cw-skillspace-region-label",title:p.region,children:k2e(p.region)}),o.jsx("a",{href:Zue(p.id,p.region),target:"_blank",rel:"noopener noreferrer",className:"cw-button cw-button-secondary cw-skillspace-console-link",title:"在火山引擎控制台打开","aria-label":"在火山引擎控制台打开",children:o.jsx(I1,{className:"cw-i cw-i-sm"})})]})]}),d?o.jsxs("p",{className:"cw-empty-line cw-skill-loading",role:"status",children:[o.jsx(gn,{className:"cw-i cw-spin"})," 正在加载技能列表…"]}):i.length===0?o.jsx("p",{className:"cw-empty-line",children:"此 AgentKit Skills 中心暂无技能。"}):o.jsx("div",{className:"cw-skill-results",children:i.map(y=>{const x=g(y.skillId,y.version);return o.jsxs("button",{type:"button",className:`cw-skill-result ${x?"is-on":""}`,onClick:()=>v(y),"aria-pressed":x,children:[o.jsx("span",{className:"cw-skill-result-icon","aria-hidden":!0,children:x?o.jsx(Ya,{className:"cw-i cw-i-sm"}):o.jsx(vi,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-skill-result-meta",children:[o.jsxs("span",{className:"cw-skill-result-name",children:[y.skillName,y.version&&o.jsxs("span",{className:"cw-skill-result-version",children:[" ","v",y.version]})]}),y.skillDescription&&o.jsx("span",{className:"cw-skill-result-desc",children:Kl(y.skillDescription)}),o.jsxs("span",{className:"cw-skill-result-repo",children:[o.jsx(HZ,{className:"cw-i cw-i-sm"})," ",(p==null?void 0:p.name)||a]})]})]},`${y.skillId}/${y.version}`)})})]})})}async function C2e(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Ln(void 0,jf)});if(t.status===409)throw new Error("服务端未配置 Volcengine 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 I2e(e={}){const t=new URLSearchParams({region:e.region||"cn-beijing",page_size:String(e.pageSize??100),project:e.project||"default"});return(await C2e(`/web/a2a-spaces?${t.toString()}`)).items||[]}async function R2e(e){const t=await fetch(e,{headers:{accept:"application/json"},signal:Ln(void 0,jf)});if(t.status===409)throw new Error("服务端未配置 Volcengine 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 j2e(e={}){const t=new URLSearchParams({region:e.region||"cn-beijing",project:e.project||"default"});return(await R2e(`/web/viking-knowledgebases?${t.toString()}`)).items||[]}const n3=["#6366f1","#0ea5e9","#10b981","#f59e0b","#f43f5e","#a855f7","#14b8a6","#f472b6"];function fw(e){let t=0;for(let n=0;n>>0;return n3[t%n3.length]}function O2e(e){const t=new Map;e.forEach(u=>t.set(u.span_id,u));const n=new Map,s=[];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):s.push(u);const i=(u,d)=>u.start_time-d.start_time,r=(u,d)=>({span:u,depth:d,children:(n.get(u.span_id)??[]).sort(i).map(f=>r(f,d+1))}),a=s.sort(i).map(u=>r(u,0)),l=e.length?Math.min(...e.map(u=>u.start_time)):0,c=e.length?Math.max(...e.map(u=>u.end_time)):1;return{rootNodes:a,min:l,total:c-l||1}}function M2e(e,t){const n=[],s=i=>{n.push(i),t.has(i.span.span_id)||i.children.forEach(s)};return e.forEach(s),n}function s3(e){const t=e/1e6;return t>=1e3?`${(t/1e3).toFixed(2)} s`:`${t.toFixed(t<10?2:1)} ms`}const L2e=e=>e.replace(/^(gen_ai|a2ui|adk)\./,"");function i3(e){return Object.entries(e.attributes).filter(([,t])=>t!=null&&typeof t!="object").map(([t,n])=>{const s=String(n);return{key:L2e(t),value:s,long:s.length>80||s.includes(` +`)}}).sort((t,n)=>Number(t.long)-Number(n.long))}function pz({appName:e,testRunId:t,sessionId:n,onClose:s,title:i="调用链路观测"}){const[r,a]=b.useState(null),[l,c]=b.useState(""),[u,d]=b.useState(new Set),[f,h]=b.useState(null);b.useEffect(()=>{a(null),c("");let w;if(t)w=xB(t,n);else if(e)w=YP(e,n);else{c("缺少调用链路来源");return}w.then(T=>{a(T),h(T.length?T.reduce((S,N)=>S.start_time<=N.start_time?S:N).span_id:null)}).catch(T=>c(String(T)))},[e,n,t]);const{rootNodes:m,min:p,total:g}=b.useMemo(()=>O2e(r??[]),[r]),v=b.useMemo(()=>M2e(m,u),[m,u]),y=(r==null?void 0:r.find(w=>w.span_id===f))??null,x=g/1e6,E=w=>d(T=>{const S=new Set(T);return S.has(w)?S.delete(w):S.add(w),S});return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"drawer-scrim",onClick:s}),o.jsxs("aside",{className:"drawer drawer--trace",children:[o.jsxs("header",{className:"drawer-head",children:[o.jsxs("div",{children:[o.jsx("div",{className:"drawer-title",children:i}),o.jsx("div",{className:"drawer-sub",children:r?`${r.length} 个调用 · ${x.toFixed(1)} ms`:"加载中"})]}),o.jsx("button",{className:"drawer-close",onClick:s,"aria-label":"关闭",children:o.jsx(_i,{className:"icon"})})]}),r==null&&!l&&o.jsxs("div",{className:"drawer-loading",children:[o.jsx(gn,{className:"icon spin"})," 加载调用链路…"]}),l&&o.jsx("div",{className:"error",children:l}),r&&r.length===0&&o.jsx("div",{className:"drawer-empty",children:"该会话暂无调用链路(可能尚未产生调用)。"}),v.length>0&&o.jsxs("div",{className:"trace-split",children:[o.jsx("div",{className:"trace-tree scroll",children:v.map(w=>{const T=w.span,S=(T.start_time-p)/g*100,N=Math.max((T.end_time-T.start_time)/g*100,.6),A=w.children.length>0;return o.jsxs("button",{className:`trace-row ${f===T.span_id?"active":""}`,onClick:()=>h(T.span_id),children:[o.jsxs("span",{className:"trace-label",style:{paddingLeft:w.depth*14},children:[o.jsx("span",{className:`trace-caret ${A?"":"hidden"} ${u.has(T.span_id)?"":"open"}`,onClick:C=>{C.stopPropagation(),A&&E(T.span_id)},children:o.jsx(zl,{className:"chev"})}),o.jsx("span",{className:"trace-dot",style:{background:fw(T.name)}}),o.jsx("span",{className:"trace-name",title:T.name,children:T.name})]}),o.jsx("span",{className:"trace-dur",children:s3(T.end_time-T.start_time)}),o.jsx("span",{className:"trace-track",children:o.jsx("span",{className:"trace-bar",style:{left:`${S}%`,width:`${N}%`,background:fw(T.name)}})})]},T.span_id)})}),o.jsx("div",{className:"trace-detail scroll",children:y?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"td-title",children:y.name}),o.jsxs("div",{className:"td-dur",children:[o.jsx("span",{className:"td-dot",style:{background:fw(y.name)}}),s3(y.end_time-y.start_time)]}),o.jsx("div",{className:"td-section",children:"属性"}),o.jsx("div",{className:"td-props",children:i3(y).filter(w=>!w.long).map(w=>o.jsxs("div",{className:"td-prop",children:[o.jsx("span",{className:"td-key",children:w.key}),o.jsx("span",{className:"td-val",children:w.value})]},w.key))}),i3(y).filter(w=>w.long).map(w=>o.jsxs("div",{className:"td-block",children:[o.jsx("div",{className:"td-section",children:w.key}),o.jsx("pre",{className:"td-pre",children:w.value})]},w.key))]}):o.jsx("div",{className:"drawer-empty",children:"选择左侧的一个调用查看详情"})})]})]})]})}const D2e=b.lazy(()=>Bd(()=>import("./MarkdownPromptEditor-B3-Bt3Nm.js"),__vite__mapDeps([0,1]))),nT="veadk.generatedAgentTestRuns",r3=4;function X2(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(nT)??"[]");return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}catch{return[]}}function gz(e){if(typeof window>"u")return;const t=Array.from(new Set(e)).slice(-20);try{t.length?window.sessionStorage.setItem(nT,JSON.stringify(t)):window.sessionStorage.removeItem(nT)}catch{}}function P2e(e){gz([...X2(),e])}function Dh(e){gz(X2().filter(t=>t!==e))}function B2e(e,t,n="text/plain"){const s=URL.createObjectURL(new Blob([t],{type:`${n};charset=utf-8`})),i=document.createElement("a");i.href=s,i.download=e,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(s)}const U2e=[{id:"type",label:"Agent 类型",hint:"选择 Agent 类型",icon:wJ,required:!0},{id:"basic",label:"基本信息",hint:"名称、描述与系统提示词",icon:au,required:!0},{id:"model",label:"模型配置",hint:"模型与服务(可选)",icon:VZ},{id:"tools",label:"工具",hint:"可调用的能力",icon:_P},{id:"skills",label:"技能",hint:"声明式技能",icon:zc},{id:"knowledge",label:"知识库",hint:"外部知识检索",icon:lb},{id:"memory",label:"记忆",hint:"短期与长期记忆",icon:vP},{id:"subagents",label:"子 Agent",hint:"嵌套协作",icon:PZ},{id:"review",label:"完成",hint:"预览并创建",icon:xJ}];function F2e({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.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"}),o.jsx("path",{d:"M5.75 8.25v7.5",opacity:"0.8"}),o.jsx("path",{d:"M3 10v4",opacity:"0.45"}),o.jsx("path",{d:"M17.9 5.25v2.2M19 6.35h-2.2",strokeWidth:"1.55"})]})}function a3({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M4.75 7.25h14.5"}),o.jsx("path",{d:"M9.1 4.75h5.8l.75 2.5h-7.3l.75-2.5Z"}),o.jsx("path",{d:"m6.75 7.25.75 12h9l.75-12"}),o.jsx("path",{d:"M10 10.25v5.75M14 10.25v5.75"})]})}function bz({className:e}){return o.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o.jsx("path",{d:"m7 9 5 5 5-5"})})}function yz({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M18.25 8.2A7.1 7.1 0 0 0 6.1 6.65L4.5 8.25"}),o.jsx("path",{d:"M4.5 4.75v3.5H8"}),o.jsx("path",{d:"M5.75 15.8A7.1 7.1 0 0 0 17.9 17.35l1.6-1.6"}),o.jsx("path",{d:"M19.5 19.25v-3.5H16"})]})}const $2e={llm:"智能体",sequential:"分步协作",parallel:"同时处理",loop:"循环执行",a2a:"远程智能体"},o3={REGISTRY_SPACE_ID:"registrySpaceId",REGISTRY_TOP_K:"registryTopK",REGISTRY_REGION:"registryRegion",REGISTRY_ENDPOINT:"registryEndpoint"},xz="REGISTRY_SPACE_ID",H2e=G9.filter(e=>e.key!==xz);function Ez(e,t){var s,i,r;if(!(e!=null&&e.enabled))return{};const n={REGISTRY_SPACE_ID:e.registrySpaceId??""};return t.includeDefaults?(n.REGISTRY_TOP_K=((s=e.registryTopK)==null?void 0:s.trim())||ba.topK,n.REGISTRY_REGION=((i=e.registryRegion)==null?void 0:i.trim())||ba.region,n.REGISTRY_ENDPOINT=((r=e.registryEndpoint)==null?void 0:r.trim())||ba.endpoint):(n.REGISTRY_TOP_K=e.registryTopK??"",n.REGISTRY_REGION=e.registryRegion??"",n.REGISTRY_ENDPOINT=e.registryEndpoint??""),n}function z2e({items:e,selected:t,onToggle:n,scrollRows:s}){return o.jsx("div",{className:`cw-checklist ${s?"cw-checklist-tools":""}`,style:s?{"--cw-checklist-max-height":`${s*40+(s-1)*8}px`}:void 0,children:e.map(i=>{const r=t.includes(i.id);return o.jsx(az,{id:`cw-check-${i.id}`,className:`cw-check ${r?"is-on":""}`,checked:r,onCheckedChange:a=>{a!==r&&n(i.id)},label:o.jsx("span",{className:"cw-check-text",children:o.jsx("span",{className:"cw-check-title",children:i.label})})},i.id)})})}function hw({options:e,value:t,onChange:n}){return o.jsx("div",{className:"cw-segmented",children:e.map(s=>{var r;const i=(t??((r=e[0])==null?void 0:r.id))===s.id;return o.jsx("button",{type:"button",className:`cw-seg ${i?"is-on":""}`,onClick:()=>n(s.id),"aria-pressed":i,children:o.jsx("span",{className:"cw-seg-title",children:s.label})},s.id)})})}function V2e(e){return/(SECRET|PASSWORD|KEY|TOKEN)$/.test(e)}function Ph({env:e,values:t,onChange:n}){return e.length===0?o.jsx("p",{className:"cw-env-empty",children:"此后端无需额外运行参数。"}):o.jsx("div",{className:"cw-env-fields",children:e.map(s=>o.jsxs("label",{className:"cw-env-field",children:[o.jsxs("span",{className:"cw-env-field-head",children:[o.jsxs("span",{className:"cw-env-field-label",children:[s.comment||s.key,s.required&&o.jsx("span",{className:"cw-req",children:"*"})]}),s.comment&&o.jsx("code",{title:s.key,children:s.key})]}),o.jsx("input",{className:"cw-input",type:V2e(s.key)?"password":"text",value:t[s.key]??"",placeholder:s.placeholder||"请输入参数值",autoComplete:"off",onChange:i=>n(s.key,i.currentTarget.value)})]},s.key))})}function mw(e){return e.name.trim()||"未命名智能体中心"}function pw(e){return e.name.trim()||e.id||"未命名知识库"}function G2e({value:e,region:t,invalid:n,onChange:s}){const i=t.trim()||ba.region,[r,a]=b.useState([]),[l,c]=b.useState(!1),[u,d]=b.useState(null),[f,h]=b.useState(0),[m,p]=b.useState(!1),[g,v]=b.useState(""),y=b.useRef(null);b.useEffect(()=>{let C=!1;return c(!0),d(null),I2e({region:i}).then(I=>{C||a(I)}).catch(I=>{C||(a([]),d(I instanceof Error?I.message:"加载失败"))}).finally(()=>{C||c(!1)}),()=>{C=!0}},[i,f]);const x=!e||r.some(C=>C.id===e.trim()),E=r.find(C=>C.id===e.trim()),w=E?mw(E):e&&!x?"已选择的智能体中心":"请选择智能体中心",T=l&&r.length===0,S=b.useMemo(()=>r.filter(C=>Xy(g,[mw(C),C.id,C.projectName])),[g,r]),N=!!(e&&!x&&Xy(g,["已选择的智能体中心",e]));b.useEffect(()=>{if(!m)return;const C=O=>{const L=O.target;L instanceof Node&&y.current&&!y.current.contains(L)&&p(!1)},I=O=>{O.key==="Escape"&&p(!1)};return window.addEventListener("pointerdown",C),window.addEventListener("keydown",I),()=>{window.removeEventListener("pointerdown",C),window.removeEventListener("keydown",I)}},[m]);const A=C=>{s(C),p(!1)};return o.jsxs("div",{className:"cw-a2a-space-picker",ref:y,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:`cw-a2a-space-trigger ${n?"is-error":""}`,disabled:T,"aria-haspopup":"listbox","aria-expanded":m,"aria-label":"选择 AgentKit 智能体中心",onClick:()=>{v(""),p(C=>!C)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:w}),o.jsx(bz,{className:"cw-a2a-space-trigger-icon"})]}),m&&o.jsxs("div",{className:"cw-a2a-space-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:g,autoFocus:!0,autoComplete:"off","aria-label":"搜索 AgentKit 智能体中心",placeholder:"搜索名称或 ID",onChange:C=>v(C.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"AgentKit 智能体中心",children:[N&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>A(e),children:"已选择的智能体中心"}),S.map(C=>{const I=mw(C),O=C.id===e;return o.jsx("button",{type:"button",role:"option","aria-selected":O,className:`cw-a2a-space-option ${O?"is-selected":""}`,title:`${I} (${C.id})`,onClick:()=>A(C.id),children:I},C.id)}),!N&&S.length===0&&o.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的智能体中心"})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh",title:"刷新智能体中心列表","aria-label":"刷新智能体中心列表",disabled:l,onClick:()=>h(C=>C+1),children:l?o.jsx(gn,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(yz,{className:"cw-i cw-i-sm"})})]}),u?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:u})]}):l?o.jsxs("span",{className:"cw-help cw-a2a-space-status",children:[o.jsx(gn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载 AgentKit 智能体中心…"]}):r.length===0?o.jsx("span",{className:"cw-help",children:"此账号下暂无 AgentKit 智能体中心。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",r.length," 个智能体中心,列表仅展示中心名称。"]})]})}function K2e({value:e,onChange:t}){const[n,s]=b.useState([]),[i,r]=b.useState(!1),[a,l]=b.useState(null),[c,u]=b.useState(0),[d,f]=b.useState(!1),[h,m]=b.useState(""),p=b.useRef(null);b.useEffect(()=>{let S=!1;return r(!0),l(null),j2e().then(N=>{S||s(N)}).catch(N=>{S||(s([]),l(N instanceof Error?N.message:"加载失败"))}).finally(()=>{S||r(!1)}),()=>{S=!0}},[c]);const g=!e||n.some(S=>S.id===e.trim()),v=n.find(S=>S.id===e.trim()),y=v?pw(v):e&&!g?e:"请选择 VikingDB 知识库",x=i&&n.length===0,E=b.useMemo(()=>n.filter(S=>Xy(h,[pw(S),S.id,S.description,S.projectName])),[n,h]),w=!!(e&&!g&&Xy(h,[e]));b.useEffect(()=>{if(!d)return;const S=A=>{const C=A.target;C instanceof Node&&p.current&&!p.current.contains(C)&&f(!1)},N=A=>{A.key==="Escape"&&f(!1)};return window.addEventListener("pointerdown",S),window.addEventListener("keydown",N),()=>{window.removeEventListener("pointerdown",S),window.removeEventListener("keydown",N)}},[d]);const T=S=>{t(S),f(!1)};return i&&n.length===0?o.jsxs("span",{className:"cw-viking-kb-inline-status",role:"status",children:[o.jsx(gn,{className:"cw-i cw-i-sm cw-spin"}),"正在加载…"]}):o.jsxs("div",{className:"cw-a2a-space-picker cw-viking-kb-picker",ref:p,children:[o.jsxs("div",{className:"cw-a2a-space-row",children:[o.jsxs("div",{className:"cw-a2a-space-select-wrap",children:[o.jsxs("button",{type:"button",className:"cw-a2a-space-trigger",disabled:x,"aria-haspopup":"listbox","aria-expanded":d,"aria-label":"选择 VikingDB 知识库",onClick:()=>{m(""),f(S=>!S)},children:[o.jsx("span",{className:e?void 0:"is-placeholder",children:y}),o.jsx(bz,{className:"cw-a2a-space-trigger-icon"})]}),d&&o.jsxs("div",{className:"cw-a2a-space-menu cw-viking-kb-menu",children:[o.jsx("div",{className:"cw-picker-search",children:o.jsx("input",{className:"cw-picker-search-input",type:"search",value:h,autoFocus:!0,autoComplete:"off","aria-label":"搜索 VikingDB 知识库",placeholder:"搜索名称或 ID",onChange:S=>m(S.currentTarget.value)})}),o.jsxs("div",{className:"cw-picker-options",role:"listbox","aria-label":"VikingDB 知识库",children:[w&&o.jsx("button",{type:"button",role:"option","aria-selected":!0,className:"cw-a2a-space-option is-selected",onClick:()=>T(e),children:e}),E.map(S=>{const N=pw(S),A=S.id===e;return o.jsx("button",{type:"button",role:"option","aria-selected":A,className:`cw-a2a-space-option ${A?"is-selected":""}`,title:`${N} (${S.id})`,onClick:()=>T(S.id),children:N},S.id)}),!w&&E.length===0&&o.jsx("div",{className:"cw-picker-empty",children:"未找到匹配的知识库"})]})]})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-a2a-space-refresh cw-viking-kb-refresh",title:"刷新知识库列表","aria-label":"刷新知识库列表",disabled:i,onClick:()=>u(S=>S+1),children:i?o.jsx(gn,{className:"cw-i cw-i-sm cw-spin"}):o.jsx(yz,{className:"cw-i cw-i-sm"})})]}),a?o.jsxs("div",{className:"cw-banner cw-a2a-space-error",children:[o.jsx(au,{className:"cw-i"}),o.jsx("span",{children:a})]}):n.length===0?o.jsx("span",{className:"cw-help",children:"此账号下暂无 VikingDB 知识库。"}):o.jsxs("span",{className:"cw-help",children:["已加载 ",n.length," 个知识库,选择的知识库会用于当前 Agent。"]})]})}function q2e({tools:e,onChange:t}){const n=(r,a)=>t(e.map((l,c)=>c===r?{...l,...a}:l)),s=r=>t(e.filter((a,l)=>l!==r)),i=()=>t([...e,{name:"",transport:"http",url:""}]);return o.jsxs("div",{className:"cw-mcp",children:[e.length>0&&o.jsx("div",{className:"cw-mcp-list",children:o.jsx(Eo,{initial:!1,children:e.map((r,a)=>o.jsxs(ts.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:[o.jsxs("div",{className:"cw-mcp-rowhead",children:[o.jsxs("div",{className:"cw-mcp-transport",children:[o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${r.transport==="http"?"is-on":""}`,onClick:()=>n(a,{transport:"http"}),"aria-pressed":r.transport==="http",children:o.jsx("span",{className:"cw-seg-title",children:"HTTP"})}),o.jsx("button",{type:"button",className:`cw-seg cw-seg-sm ${r.transport==="stdio"?"is-on":""}`,onClick:()=>n(a,{transport:"stdio"}),"aria-pressed":r.transport==="stdio",children:o.jsx("span",{className:"cw-seg-title",children:"stdio"})})]}),o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger",onClick:()=>s(a),"aria-label":"移除 MCP 工具",children:o.jsx(Po,{className:"cw-i cw-i-sm"})})]}),o.jsx("input",{className:"cw-input",value:r.name,placeholder:"名称(用于命名,可留空)",onChange:l=>n(a,{name:l.target.value})}),r.transport==="http"?o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:r.url??"",placeholder:"MCP 服务地址(StreamableHTTP)",onChange:l=>n(a,{url:l.target.value})}),o.jsx("input",{className:"cw-input",value:r.authToken??"",placeholder:"Bearer Token(可选)",onChange:l=>n(a,{authToken:l.target.value})})]}):o.jsxs(o.Fragment,{children:[o.jsx("input",{className:"cw-input",value:r.command??"",placeholder:"启动命令,例如 npx",onChange:l=>n(a,{command:l.target.value})}),o.jsx("input",{className:"cw-input",value:(r.args??[]).join(" "),placeholder:"参数(用空格分隔),例如 -y @playwright/mcp@latest",onChange:l=>n(a,{args:l.target.value.split(/\s+/).filter(Boolean)})}),o.jsx("p",{className:"cw-mcp-note",children:"stdio MCP 暂不参与调试运行;点击“去部署”时会完整保留这项配置并生成对应代码。"})]})]},a))})}),o.jsxs("button",{type:"button",className:"cw-add-sub",onClick:i,children:[o.jsx(vi,{className:"cw-i"}),"添加 MCP 工具"]}),e.length===0&&o.jsx("p",{className:"cw-empty-line",children:"暂无 MCP 工具,点击「添加 MCP 工具」连接外部 MCP 服务。"})]})}function vz({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.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"}),o.jsx("path",{d:"M7 4.75h9.5a2 2 0 0 1 2 2",opacity:".58"}),o.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"}),o.jsx("path",{d:"M19.25 11.25h1.5M20 10.5V12",opacity:".72"})]})}function Y2e({s:e,onRemove:t}){let n=zc,s="火山 Find Skill 技能广场";return e.source==="local"?(n=JN,s="本地"):e.source==="skillspace"&&(n=vz,s="AgentKit Skills 中心"),o.jsxs(ts.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:[o.jsx("span",{className:"cw-selected-skill-icon","aria-hidden":!0,children:o.jsx(n,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:"cw-selected-skill-meta",children:[o.jsx("span",{className:"cw-selected-skill-name",children:e.name}),o.jsxs("span",{className:"cw-selected-skill-detail",children:[s,e.description?` · ${Kl(e.description)}`:""]})]}),o.jsx("button",{type:"button",className:"cw-selected-skill-remove",onClick:t,"aria-label":`移除 ${e.name}`,title:`移除 ${e.name}`,children:o.jsx(_i,{className:"cw-i cw-i-sm"})})]},`${e.source}:${e.folder}:${e.skillId||e.slug||""}:${e.version||""}`)}const gw=[{id:"local",label:"本地文件",icon:JN},{id:"skillspace",label:"AgentKit Skills 中心",icon:vz},{id:"skillhub",label:"火山 Find Skill 技能广场",icon:R1}];function W2e({selected:e,onChange:t}){const[n,s]=b.useState("local"),[i,r]=b.useState(!1),a=gw.findIndex(c=>c.id===n),l=c=>t(e.filter(u=>bw(u)!==c));return b.useEffect(()=>{if(!i)return;const c=u=>{u.key==="Escape"&&r(!1)};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[i]),o.jsxs("div",{className:"cw-skillspane",children:[o.jsxs("button",{type:"button",className:"cw-skill-add","aria-haspopup":"dialog",onClick:()=>r(!0),children:[o.jsx("span",{className:"cw-skill-add-icon","aria-hidden":!0,children:o.jsx(vi,{className:"cw-i"})}),o.jsx("span",{children:"添加 Skill"})]}),e.length>0&&o.jsxs("div",{className:"cw-skill-selected",children:[o.jsxs("span",{className:"cw-skill-selected-label",children:["已加入技能 · ",e.length]}),o.jsx("div",{className:"cw-selected-skill-list",children:o.jsx(Eo,{initial:!1,children:e.map(c=>o.jsx(Y2e,{s:c,onRemove:()=>l(bw(c))},bw(c)))})})]}),o.jsx(Eo,{children:i&&o.jsx(ts.div,{className:"cw-skill-dialog-backdrop",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.16},onMouseDown:c=>{c.target===c.currentTarget&&r(!1)},children:o.jsxs(ts.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:[o.jsxs("div",{className:"cw-skill-dialog-head",children:[o.jsx("h3",{id:"cw-skill-dialog-title",children:"添加 Skill"}),o.jsx("button",{type:"button",className:"cw-skill-dialog-close","aria-label":"关闭添加 Skill",onClick:()=>r(!1),children:o.jsx(_i,{className:"cw-i"})})]}),o.jsxs("div",{className:"cw-skill-dialog-body",children:[o.jsxs("div",{className:"cw-skill-sourcetabs",role:"tablist",style:{"--cw-skill-tab-slider-width":`calc((100% - 16px) / ${gw.length})`,"--cw-active-skill-tab-offset":`calc(${a*100}% + ${a*4}px)`},children:[o.jsx("span",{className:"cw-skill-tab-slider","aria-hidden":!0}),gw.map(({id:c,label:u,icon:d})=>o.jsxs("button",{type:"button",role:"tab",id:`cw-skill-tab-${c}`,"aria-controls":"cw-skill-tabpanel","aria-selected":n===c,className:`cw-skill-pickertab ${n===c?"is-on":""}`,onClick:()=>s(c),children:[o.jsx(d,{className:"cw-i cw-i-sm"}),u]},c))]}),o.jsxs("div",{id:"cw-skill-tabpanel",className:"cw-skill-tabbody",role:"tabpanel","aria-labelledby":`cw-skill-tab-${n}`,children:[n==="skillhub"&&o.jsx(p2e,{selected:e,onChange:t}),n==="local"&&o.jsx(N2e,{selected:e,onChange:t}),n==="skillspace"&&o.jsx(A2e,{selected:e,onChange:t})]})]})]})})})]})}function bw(e){return e.source==="skillhub"?`hub:${e.namespace}/${e.slug}`:e.source==="local"?`local:${e.folder}`:`ss:${e.skillSpaceId}/${e.skillId}/${e.version||""}`}function U0({checked:e,onChange:t,title:n}){return o.jsxs("button",{type:"button",className:`cw-toggle ${e?"is-on":""}`,onClick:()=>t(!e),"aria-pressed":e,children:[o.jsx("span",{className:"cw-toggle-text",children:o.jsx("span",{className:"cw-toggle-title",children:n})}),o.jsx("span",{className:"cw-switch","aria-hidden":!0,children:o.jsx(ts.span,{className:"cw-switch-knob",layout:!0,transition:{type:"spring",stiffness:520,damping:34}})})]})}function X2e(e,t){var s;let n=e;for(const i of t)if(n=(s=n.subAgents)==null?void 0:s[i],!n)return!1;return!0}function F0(e,t){let n=e;for(const s of t)n=n.subAgents[s];return n}function yg(e,t,n){if(t.length===0)return n(e);const[s,...i]=t,r=e.subAgents.slice();return r[s]=yg(r[s],i,n),{...e,subAgents:r}}function Q2e(e,t){return yg(e,t,n=>({...n,subAgents:[...n.subAgents,Ci()]}))}function Z2e(e,t,n){return yg(e,t,s=>{const i=s.subAgents.slice();return i.splice(n,0,Ci()),{...s,subAgents:i}})}function J2e(e,t){if(t.length===0)return e;const n=t.slice(0,-1),s=t[t.length-1];return yg(e,n,i=>({...i,subAgents:i.subAgents.filter((r,a)=>a!==s)}))}const sT=e=>!Lx(e.agentType),l3=3;function eAe(e,t,n=!1){var i;if(Lx(e.agentType))return n?"远程 Agent 只能作为子 Agent":(i=e.a2aRegistry)!=null&&i.registrySpaceId.trim()?null:"缺少 AgentKit 智能体中心";const s=Ud(e.name);return s||(t.has(e.name)?"Agent 名称在当前结构中必须唯一":e.description.trim().length===0?"缺少描述":uz(e.agentType)?e.subAgents.length===0?"缺少子 Agent":null:e.instruction.trim().length===0?"缺少系统提示词":null)}function wz(e,t,n=[]){const s=[],i=Lx(e.agentType),r=eAe(e,t,n.length===0);return r&&s.push({path:n,name:i?"远程 Agent":e.name.trim()||"未命名",typeLabel:cz(e.agentType).label,problem:r}),sT(e)&&e.subAgents.forEach((a,l)=>s.push(...wz(a,t,[...n,l]))),s}function tAe(e){return`${e.typeLabel}至少需要添加一个子 Agent 后才能调试或发布。`}function Sz(e){return 1+e.subAgents.reduce((t,n)=>t+Sz(n),0)}function _z(e){const t=[],n={},s=r=>{var a,l,c,u;for(const d of r.builtinTools??[]){const f=lu.find(h=>h.id===d);f&&t.push({env:f.env})}if((a=r.a2aRegistry)!=null&&a.enabled&&(t.push({env:G9}),Object.assign(n,Ez(r.a2aRegistry,{includeDefaults:!0}))),r.memory.shortTerm&&t.push({env:((l=m_.find(d=>d.id===(r.shortTermBackend??"local")))==null?void 0:l.env)??[]}),r.memory.longTerm&&t.push({env:((c=p_.find(d=>d.id===(r.longTermBackend??"local")))==null?void 0:c.env)??[]}),r.knowledgebase&&t.push({env:((u=g_.find(d=>d.id===(r.knowledgebaseBackend??Wc)))==null?void 0:u.env)??[]}),r.tracing)for(const d of r.tracingExporters??[]){const f=Vue.find(h=>h.id===d);f&&t.push({env:f.env,enableFlag:f.enableFlag})}r.subAgents.forEach(s)};s(e);const i=cH(t);return{specs:i.specs,fixedValues:{...i.fixedValues,...n}}}function Tz(e){var t;return{...e,deployment:{feishuEnabled:!!((t=e.deployment)!=null&&t.feishuEnabled)}}}function iT(e){var n;const t=(n=e.modelName)==null?void 0:n.trim();if(t)return t;for(const s of e.subAgents){const i=iT(s);if(i)return i}return""}function Nz(e){var s,i;const t=_z(e),n={...((s=e.deployment)==null?void 0:s.envValues)??{},...t.fixedValues};return{...Tz(e),deployment:{feishuEnabled:!!((i=e.deployment)!=null&&i.feishuEnabled),envValues:Object.fromEntries(uH(t.specs,n).map(({key:r,value:a})=>[r,a]))}}}function nAe(e){return JSON.stringify(Nz(e))}function Qy(e,t){return JSON.stringify({draftSnapshot:e,modelName:t.modelName,description:t.description,instruction:t.instruction,optimizations:t.optimizations})}function wd(e){return JSON.stringify({modelName:e.modelName.trim(),description:e.description.trim(),instruction:e.instruction.trim(),optimizations:e.optimizations})}function sAe({enabled:e,disabledReason:t,variants:n,draftSnapshot:s,input:i,onInput:r,onSend:a,onStartVariant:l,onDeployVariant:c,onAddVariant:u,onRemoveVariant:d,onToggleConfig:f,onCompleteConfig:h,onConfigChange:m,onOpenTrace:p}){const g=n.filter(x=>x.phase!=="ready"?!1:x.runtimeSnapshot===Qy(s,x)),v=n.some(x=>x.phase==="sending"),y=g.length>0&&!v;return o.jsxs("section",{className:"cw-ab-workspace","aria-label":"A/B 调试工作台",children:[o.jsx("div",{className:"cw-ab-stage",children:e?o.jsx("div",{className:"cw-ab-grid",style:{"--cw-ab-column-count":n.length},children:n.map((x,E)=>{const w=x.modelName.trim(),T=x.description.trim(),S=x.instruction.trim(),N=wd(x),A=!!(w&&T&&S&&n.findIndex(P=>wd(P)===N)!==E),C=!w||!T||!S||A,I=!!(x.runtimeSnapshot&&x.runtimeSnapshot!==Qy(s,x)),O=x.phase==="starting",L=x.phase==="ready"&&!I,G=O||x.phase==="sending",D=L&&x.phase!=="sending"&&x.messages.some(P=>P.role==="assistant"),F=G||x.configOpen||C,k=w?T?S?A?"该配置与已有测试组相同":"":"请填写系统提示词":"请填写描述":"请先选择模型",j=O?"正在启动":I?"应用配置并重启":L||x.phase==="error"?"重新启动环境":"启动环境";return o.jsx("article",{className:"cw-ab-card",children:o.jsxs("div",{className:`cw-ab-card-inner${x.configOpen?" is-flipped":""}`,children:[o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-front","aria-hidden":x.configOpen,children:[o.jsxs("header",{className:"cw-ab-card-head",children:[o.jsxs("div",{className:"cw-ab-card-title",children:[o.jsx("strong",{children:x.name}),o.jsx("span",{children:x.modelName||"默认模型"})]}),o.jsxs("div",{className:"cw-ab-card-actions",children:[o.jsx("button",{type:"button",className:"cw-ab-config-trigger",disabled:x.configOpen||G,onClick:()=>f(x.id),children:"测试配置"}),x.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-ab-remove","aria-label":`删除${x.name}`,disabled:x.configOpen||G,onClick:()=>d(x.id),children:o.jsx(a3,{className:"cw-i"})})]})]}),o.jsx("div",{className:"cw-ab-conversation",children:x.error?o.jsx(Wy,{message:x.error,className:"cw-debug-error-detail",defaultExpanded:!0}):O?o.jsxs("div",{className:"cw-ab-empty cw-ab-starting",children:[o.jsx(gn,{className:"cw-i cw-spin"}),o.jsx("span",{children:"正在创建独立测试环境"})]}):I?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:o.jsx("span",{children:"配置已变更,请重新启动此环境"})}):x.messages.length===0?o.jsx("div",{className:"cw-ab-empty cw-ab-launch",children:L?o.jsxs(o.Fragment,{children:[o.jsx("strong",{className:"cw-ab-ready-title",children:"已就绪"}),o.jsx("span",{className:"cw-ab-launch-hint",children:"可在下方输入测试消息"})]}):o.jsx("span",{className:"cw-ab-launch-hint",children:k||"启动环境后即可加入本轮测试"})}):x.messages.map((P,$)=>o.jsx("div",{className:`cw-debug-msg cw-debug-msg-${P.role}`,children:o.jsx("div",{className:"cw-debug-content",children:P.role==="user"?P.content:P.error?o.jsx(Wy,{message:P.error,className:"cw-debug-msg-error",defaultExpanded:!0}):P.blocks&&P.blocks.length>0?o.jsx(v2,{blocks:P.blocks,onAction:()=>{}}):P.content?P.content:$===x.messages.length-1&&x.phase==="sending"?o.jsx(c$,{}):null})},$))}),o.jsxs("footer",{className:"cw-ab-deploy-footer",children:[o.jsx("button",{type:"button",className:"cw-ab-trace",disabled:!D,title:D?`查看${x.name}调用链路`:"完成一次调试后可查看调用链路",onClick:()=>p(x.id),children:"调用链路"}),o.jsxs("button",{type:"button",className:"cw-ab-start cw-ab-footer-start",disabled:F,title:k||void 0,onClick:()=>l(x.id),children:[L||I||x.phase==="error"?o.jsx(yJ,{className:"cw-i"}):o.jsx(F2e,{className:"cw-i cw-debug-run-icon"}),j]}),o.jsx("button",{type:"button",className:"cw-ab-deploy",disabled:G||!w,onClick:()=>c(x.id),children:"部署该配置"})]})]}),o.jsxs("section",{className:"cw-ab-card-face cw-ab-card-back","aria-hidden":!x.configOpen,children:[o.jsxs("header",{className:"cw-ab-config-head",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"测试配置"}),o.jsx("span",{children:x.name})]}),o.jsxs("div",{className:"cw-ab-config-head-actions",children:[x.id!=="baseline"&&o.jsx("button",{type:"button",className:"cw-icon-btn cw-icon-danger cw-ab-config-remove","aria-label":`删除${x.name}`,title:"删除配置组",disabled:G,onClick:()=>d(x.id),children:o.jsx(a3,{className:"cw-i cw-i-sm"})}),o.jsxs("span",{className:`cw-ab-config-done-wrap${k?" is-disabled":""}`,tabIndex:k?0:void 0,children:[o.jsx("button",{type:"button",className:"cw-ab-config-done",disabled:!x.configOpen||C,onClick:()=>h(x.id),children:x.id==="baseline"?"完成配置":"完成并启动"}),k&&o.jsx("span",{className:"cw-ab-config-done-tip",role:"tooltip",children:k})]})]})]}),o.jsxs("div",{className:"cw-ab-config",children:[o.jsxs("label",{children:[o.jsx("span",{children:"模型"}),o.jsx("input",{value:x.modelName,placeholder:"使用 Agent 当前模型",disabled:!x.configOpen,onChange:P=>m(x.id,"modelName",P.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"描述"}),o.jsx("textarea",{rows:2,value:x.description,disabled:!x.configOpen,onChange:P=>m(x.id,"description",P.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"系统提示词"}),o.jsx("textarea",{rows:5,value:x.instruction,disabled:!x.configOpen,onChange:P=>m(x.id,"instruction",P.target.value)})]}),o.jsxs("fieldset",{className:"cw-ab-optimizations-disabled",children:[o.jsxs("legend",{children:[o.jsx("span",{children:"优化选项"}),o.jsx("em",{children:"待开放"})]}),o.jsx("div",{className:"cw-ab-optimization-list",children:kz.map(P=>o.jsx(az,{checked:x.optimizations.includes(P.id),disabled:!0,label:P.label,className:"cw-ab-optimization-checkbox"},P.id))})]}),o.jsx("p",{children:"设置完成后返回正面,再启动当前测试环境。"})]})]})]})},x.id)})}):o.jsx("div",{className:"cw-debug-empty",children:t})}),o.jsxs("div",{className:"cw-ab-composer",children:[o.jsxs("div",{className:"cw-debug-composerbox",children:[o.jsx("textarea",{className:"cw-debug-input",rows:1,value:i,placeholder:y?"输入测试消息,将发送到所有已启动测试组...":"请先启动至少一个测试组",disabled:!y,onChange:x=>r(x.target.value),onKeyDown:x=>{w2(x.nativeEvent)||x.key==="Enter"&&!x.shiftKey&&(x.preventDefault(),a())}}),o.jsx("button",{type:"button",className:"cw-debug-send",title:"发送",disabled:!y||!i.trim(),onClick:a,children:v?o.jsx(gn,{className:"cw-i cw-spin"}):o.jsx(gP,{className:"cw-i"})})]}),e&&n.length<3&&o.jsxs("button",{type:"button",className:"cw-btn cw-btn-soft cw-ab-add",onClick:u,children:[o.jsx(vi,{className:"cw-i"}),"添加对照组"]})]})]})}const $0=[{id:"build",label:"架构"},{id:"validate",label:"调试"},{id:"publish",label:"发布"}],kz=[{id:"context",label:"上下文优化",description:"压缩历史对话,保留与当前任务相关的信息"},{id:"grounding",label:"幻觉抑制",description:"对不确定内容要求依据,并明确表达未知"},{id:"tools",label:"工具调用优化",description:"减少重复调用,优先复用可信的工具结果"},{id:"latency",label:"响应加速",description:"缓存稳定上下文,降低重复推理开销"}];function iAe({mode:e}){const t=e==="validate"?"调试您的智能体":e==="publish"?"准备好部署您的智能体":"个性化您的智能体架构";return o.jsx("header",{className:"cw-workspace-header",children:o.jsx("h1",{children:t})})}function rAe({mode:e,busy:t,onChange:n,assistant:s}){const i=$0.findIndex(l=>l.id===e),r=$0[i-1],a=$0[i+1];return o.jsxs("footer",{className:"cw-workspace-footer",children:[o.jsxs("div",{className:`cw-workspace-nav-actions${s?" has-assistant":""}`,children:[o.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:!r||t,onClick:()=>r&&n(r.id),children:"上一步"}),o.jsx("span",{"aria-hidden":"true"}),s?o.jsx("div",{className:"cw-workspace-ai-slot",children:s}):null,e==="publish"?o.jsx("div",{id:"cw-publish-primary-action",className:"cw-publish-action-slot"}):o.jsx("button",{type:"button",className:"cw-workspace-nav-button is-primary",disabled:!a||t,onClick:()=>a&&n(a.id),children:"下一步"})]}),o.jsx("nav",{className:"cw-workspace-progress","aria-label":"Agent 创建进度",children:$0.map((l,c)=>{const u=l.id===e;return o.jsx("button",{type:"button",className:`${u?"is-active":""}${cn(l.id),children:o.jsx("span",{"aria-hidden":"true"})},l.id)})})]})}function aAe({onBack:e,onCreate:t,onAgentAdded:n,initialDraft:s,features:i,onDeploymentTaskChange:r,deploymentTarget:a,initialDeployRegion:l="cn-beijing",onDeploymentComplete:c,onDeploymentStarted:u,onDraftChange:d,onDiscard:f}){var _n,jn,Ft,Us,Na,Ke,Fn,Rr,dr,Ss,Pi,Ko,Za,Fs;const[h,m]=b.useState(()=>s??Ci()),[p,g]=b.useState(""),[v,y]=b.useState(!1),[x,E]=b.useState(!1),[w,T]=b.useState(null),S=p.trim(),N=S.length>0&&S.length{L.current=d},[d]),b.useEffect(()=>{var te;I!==C.current&&(C.current=I,(te=L.current)==null||te.call(L,h,O))},[h,O,I]);const[G,D]=b.useState("build"),[F,k]=b.useState(!1),[j,P]=b.useState(0),[$,R]=b.useState(null),[q,Q]=b.useState(!1),[B,ee]=b.useState((a==null?void 0:a.region)??l),z=(i==null?void 0:i.generatedAgentTestRun)===!0,K=(i==null?void 0:i.generatedAgentTestRunDisabledReason)||"当前后端暂不支持生成 Agent 调试运行。",[ne,W]=b.useState(()=>[{id:"baseline",name:"基准组",modelName:iT(s??Ci()),description:(s??Ci()).description,instruction:(s??Ci()).instruction,optimizations:[],configOpen:!1,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]),[de,ye]=b.useState("baseline"),_e=b.useRef(1),ue=b.useRef(!1),me=b.useRef(new Map),[Ce,pe]=b.useState(0),[oe,ve]=b.useState(""),[xe,Ze]=b.useState(null),[De,Ve]=b.useState(!1),[Se,Fe]=b.useState(!1),He=b.useRef(null),[Ge,X]=b.useState(""),[ie,se]=b.useState(!1),[ge,Pe]=b.useState(!1),[Ye,bt]=b.useState([]),ot=b.useRef(null),fn=b.useRef({});async function It(){const te=new Set([...me.current.values()].map(({run:Qe})=>Qe.runId)),Te=X2().filter(Qe=>!te.has(Qe));Te.length&&await Promise.all(Te.map(async Qe=>{try{await Vu(Qe),Dh(Qe)}catch(pt){console.warn("清理遗留调试运行失败",pt)}}))}b.useEffect(()=>(It(),()=>{for(const{run:te}of me.current.values())Vu(te.runId).then(()=>Dh(te.runId)).catch(Te=>console.warn("清理调试运行失败",Te));me.current.clear()}),[]),b.useEffect(()=>()=>{var te;(te=He.current)==null||te.call(He,!1),He.current=null},[]);const Et=b.useRef(null);Et.current||(Et.current=({meta:te,children:Te})=>o.jsxs("section",{ref:Qe=>{fn.current[te.id]=Qe},id:`cw-sec-${te.id}`,"data-step-id":te.id,className:"cw-section",children:[o.jsx("header",{className:"cw-sec-head",children:o.jsx("h2",{className:"cw-sec-title",children:te.label})}),o.jsx("div",{className:"cw-sec-body",children:Te})]}));const yt=X2e(h,Ye)?Ye:[],$e=F0(h,yt),qt=yt.length===0,it=`cw-model-advanced-${yt.join("-")||"root"}`,vt=`cw-a2a-registry-advanced-${yt.join("-")||"root"}`,Xe=te=>m(Te=>yg(Te,yt,Qe=>({...Qe,...te}))),Tt=(te,Te)=>m(Qe=>{var pt;return{...Qe,deployment:{...Qe.deployment??{feishuEnabled:!1},envValues:{...((pt=Qe.deployment)==null?void 0:pt.envValues)??{},[te]:Te}}}}),we=te=>Xe({a2aRegistry:{...$e.a2aRegistry??{enabled:!1,registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},...te}}),Ue=(te,Te)=>{if(!(te in o3))return;const Qe=o3[te];we({[Qe]:Te}),Tt(te,Te)},St=te=>{if(!(qt&&te==="a2a")){if(te==="a2a"){Xe({agentType:te,a2aRegistry:{...$e.a2aRegistry??{registrySpaceId:"",registryTopK:"",registryRegion:"",registryEndpoint:""},enabled:!0}});return}Xe({agentType:te,a2aRegistry:$e.a2aRegistry?{...$e.a2aRegistry,enabled:!1}:void 0})}},Qt=(te,Te)=>{m(te),Te&&bt(Te)},zt=async()=>{const te=p.trim();if(!(!te||v)&&!(te.length{const Te=F0(h,te);if(!sT(Te)||te.length>=l3)return;const Qe=Q2e(h,te),pt=F0(Qe,te).subAgents.length-1;Qt(Qe,[...te,pt])},Rt=(te,Te)=>{const Qe=F0(h,te);if(!sT(Qe)||te.length>=l3)return;const pt=Math.max(0,Math.min(Te,Qe.subAgents.length)),Xn=Z2e(h,te,pt);Qt(Xn,[...te,pt])},Yt=()=>{window.confirm("清空根 Agent 的全部配置和子 Agent?此操作无法撤销。")&&(m(Ci()),bt([]),k(!1))},jt=te=>{if(te.length===0){Yt();return}Qt(J2e(h,te),te.slice(0,-1))},Bt=$e.builtinTools??[],Gn=$e.mcpTools??[],Ds=$e.selectedSkills??[],mi=te=>Xe({builtinTools:Bt.includes(te)?Bt.filter(Te=>Te!==te):[...Bt,te]}),Bn=uz($e.agentType),Kn=Lx($e.agentType),cn=b.useMemo(()=>lz(h),[h]),Sn=Kn?null:Ud($e.name)??(cn.has($e.name)?"Agent 名称在当前结构中必须唯一":null),rs=Sn!==null,Ps=!Kn&&$e.description.trim().length===0,Qs=$e.instruction.trim().length===0,ms=Kn&&!((_n=$e.a2aRegistry)!=null&&_n.registrySpaceId.trim()),vs=te=>F&&te?`is-error cw-error-shake-${j%2}`:"",Un=b.useMemo(()=>wz(h,cn),[h,cn]),qn=Un.length===0,un=b.useMemo(()=>nAe(h),[h]),ps=ne.find(te=>te.id===de)??ne[0],ks=b.useMemo(()=>_z(h),[h]),yn=te=>{var Te;(Te=fn.current[te])==null||Te.scrollIntoView({behavior:"smooth",block:"start"})},Jt=()=>qn?!0:(k(!0),P(te=>te+1),Un[0]&&(bt(Un[0].path),window.requestAnimationFrame(()=>yn(Un[0].problem==="缺少子 Agent"?"type":"basic"))),!1),fe=async()=>{Ze(null);const te=[...me.current.values()];me.current.clear(),pe(0),W(Te=>Te.map(Qe=>({...Qe,phase:"idle",runtimeSnapshot:"",messages:[],error:null}))),await Promise.all(te.map(async({run:Te})=>{try{await Vu(Te.runId),Dh(Te.runId)}catch(Qe){console.warn("清理调试运行失败",Qe)}}))},Me=async te=>{const Te=me.current.get(te);if(Te){me.current.delete(te),pe(me.current.size);try{await Vu(Te.run.runId),Dh(Te.run.runId)}catch(Qe){console.warn("清理调试运行失败",Qe)}}},je=te=>{const Te=me.current.get(te),Qe=ne.find(pt=>pt.id===te);!Te||!Qe||Ze({runId:Te.run.runId,sessionId:Te.sessionId,variantName:Qe.name})},tt=te=>{const Te=He.current;He.current=null,Te==null||Te(te)},et=()=>{Se||(Ve(!1),tt(!1))},ht=async()=>{if(!Se){Fe(!0);try{await fe(),Ve(!1),tt(!0)}finally{Fe(!1)}}},Ae=async()=>G!=="validate"||Ce===0?!0:He.current?!1:new Promise(te=>{He.current=te,Ve(!0)}),Ot=async te=>{if(await Ae()){if(X(""),!Jt()){D("build");return}Q(!0);try{const Te=te?ne.find(Xn=>Xn.id===te):ps;Te&&ye(Te.id);const Qe=Te?{...h,modelName:Te.modelName||h.modelName,description:Te.description,instruction:Te.instruction}:h,pt=await gk(Tz(Qe));Qe!==h&&m(Qe),R(pt),D("publish")}catch(Te){X(Te instanceof Error?Te.message:String(Te))}finally{Q(!1)}}},en=async te=>{if(!z||q||!Jt())return;const Te=ne.find(Qn=>Qn.id===te);if(!Te||Te.phase==="starting"||Te.phase==="sending")return;const Qe=Te.modelName.trim(),pt=Te.description.trim(),Xn=Te.instruction.trim(),as=wd(Te),$s=ne.findIndex(Qn=>Qn.id===te),Hs=ne.findIndex(Qn=>wd(Qn)===as);if(!Qe||!pt||!Xn||Hs!==$s)return;const tn=Qy(un,Te);W(Qn=>Qn.map(Zs=>Zs.id===te?{...Zs,configOpen:!1,phase:"starting",messages:[],error:null}:Zs)),ve("");let On=null;try{await Me(te),await It();const Qn={...h,modelName:Te.modelName||h.modelName,description:Te.description,instruction:Te.instruction};On=await bB(Nz(Qn)),P2e(On.runId);const Zs=await yB(On.runId,"test_user");me.current.set(te,{run:On,sessionId:Zs}),pe(me.current.size),W(Yi=>Yi.map(jr=>jr.id===te?{...jr,phase:"ready",runtimeSnapshot:tn}:jr))}catch(Qn){if(On)try{await Vu(On.runId),Dh(On.runId)}catch(Zs){console.warn("清理调试运行失败",Zs)}W(Zs=>Zs.map(Yi=>Yi.id===te?{...Yi,phase:"error",runtimeSnapshot:"",error:Qn instanceof Error?Qn.message:String(Qn)}:Yi))}},In=async()=>{const te=oe.trim(),Te=ne.filter(pt=>pt.phase==="ready"&&pt.runtimeSnapshot===Qy(un,pt)&&me.current.has(pt.id));if(!te||Te.length===0)return;ve("");const Qe=new Set(Te.map(pt=>pt.id));W(pt=>pt.map(Xn=>Qe.has(Xn.id)?{...Xn,phase:"sending",messages:[...Xn.messages,{role:"user",content:te},{role:"assistant",content:"",blocks:[]}]}:Xn)),await Promise.all(Te.map(async pt=>{const Xn=me.current.get(pt.id);if(Xn)try{let as=ma();for await(const $s of EB({runId:Xn.run.runId,userId:"test_user",sessionId:Xn.sessionId,text:te})){const Hs=$s.error||$s.errorMessage||$s.error_message;if(Hs||(as=ef(as,$s)),W(tn=>tn.map(On=>{if(On.id!==pt.id)return On;const Qn=[...On.messages],Zs={...Qn[Qn.length-1]};return Hs?Zs.error=String(Hs):(Zs.content=as.blocks.filter(Yi=>Yi.kind==="text").map(Yi=>Yi.text).join(""),Zs.blocks=as.blocks),Qn[Qn.length-1]=Zs,{...On,messages:Qn}})),Hs)break}}catch(as){W($s=>$s.map(Hs=>{if(Hs.id!==pt.id)return Hs;const tn=[...Hs.messages],On={...tn[tn.length-1]};return On.error=as instanceof Error?as.message:String(as),tn[tn.length-1]=On,{...Hs,messages:tn}}))}finally{W(as=>as.map($s=>$s.id===pt.id?{...$s,phase:"ready"}:$s))}}))},Rn=()=>{W(te=>{if(te.length>=3)return te;const Te=_e.current++,Qe=`variant-${Te}`;return[...te,{id:Qe,name:`对照组 ${Te}`,modelName:h.modelName??"",description:h.description,instruction:h.instruction,optimizations:[],configOpen:!0,phase:"idle",runtimeSnapshot:"",messages:[],error:null}]})},Nt=async te=>{await Me(te),W(Te=>Te.filter(Qe=>Qe.id!==te)),de===te&&ye("baseline")},rt=(te,Te)=>W(Qe=>Qe.map(pt=>pt.id===te?{...pt,...Te}:pt)),ws=(te,Te,Qe)=>{te==="baseline"&&Te==="modelName"&&(ue.current=!0),rt(te,{[Te]:Qe}),!(de!==te||te==="baseline")&&ye("baseline")},Yn=te=>{const Te=ne.find(tn=>tn.id===te);if(!Te)return;const Qe=Te.modelName.trim(),pt=Te.description.trim(),Xn=Te.instruction.trim(),as=wd(Te),$s=ne.findIndex(tn=>tn.id===te),Hs=ne.findIndex(tn=>wd(tn)===as);if(!(!Qe||!pt||!Xn||Hs!==$s)){if(te==="baseline"){rt(te,{configOpen:!1});return}en(te)}},Wn=async(te,Te,Qe)=>{var as;const pt=(as=h.deployment)==null?void 0:as.network,Xn=pt&&pt.mode&&pt.mode!=="public"?{mode:pt.mode,vpc_id:pt.vpcId,subnet_ids:pt.subnetIds,enable_shared_internet_access:pt.enableSharedInternetAccess}:void 0;return U1(te.name,te.files,{region:(a==null?void 0:a.region)??B,projectName:"default",network:Xn},{...Qe,onStage:Te,runtimeId:a==null?void 0:a.runtimeId,appName:a==null?void 0:a.appName,description:h.description})},Bs=()=>{Jt()&&(W(te=>te.map(Te=>Te.id==="baseline"&&!me.current.has(Te.id)?{...Te,modelName:ue.current?Te.modelName:iT(h),description:h.description,instruction:h.instruction}:Te)),D("validate"))},Go=async te=>{if(te==="publish"){if(!Jt())return;$?D("publish"):Ot();return}if(te==="validate"){Bs();return}await Ae()&&D(te)},Di=Et.current,re=te=>U2e.find(Te=>Te.id===te),Ut=o.jsx("section",{className:`cw-ai-compose${v?" is-generating":""}${x?" is-success":""}`,"aria-label":"AI 自动填写 Agent 配置",children:o.jsx(Eo,{initial:!1,mode:"wait",children:x?o.jsxs(ts.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:[o.jsx("span",{className:"cw-ai-success-check","aria-hidden":!0}),o.jsx("strong",{children:"生成成功"}),o.jsx("button",{type:"button",className:"cw-ai-regenerate",onClick:()=>E(!1),children:"重新生成"})]},"success"):o.jsxs(ts.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:[o.jsxs("form",{className:"cw-ai-compose-form",onSubmit:te=>{te.preventDefault(),zt()},children:[o.jsx("input",{type:"text",value:p,maxLength:8e3,disabled:v,placeholder:"描述目标,使用 doubao-seed-2-0-lite-260428 模型一键生成配置","aria-invalid":!!N,"aria-describedby":N?"ai-requirement-error":void 0,onChange:te=>g(te.target.value),onKeyDown:te=>{te.key==="Enter"&&(te.preventDefault(),zt())}}),o.jsx("button",{type:"submit",disabled:v||!S||!!N,"aria-label":v?"正在智能生成":"智能生成",children:v?o.jsx("span",{className:"cw-ai-orb","aria-hidden":!0,children:o.jsx("span",{})}):"智能生成"})]}),N&&o.jsx("p",{className:"cw-ai-requirement-error",id:"ai-requirement-error",role:"alert",children:N})]},"compose")})});return o.jsxs("div",{className:`cw-root is-${G}`,children:[o.jsx(iAe,{mode:G}),Ge&&o.jsx(Wy,{className:"cw-workspace-alert",message:Ge}),o.jsxs("main",{className:"cw-workspace-main",id:"cw-workspace-main",children:[G==="build"&&o.jsx("div",{className:"cw-build-workspace",children:o.jsxs("div",{className:"cw-editor",children:[o.jsx(yp,{draft:h,direction:"horizontal",selectedPath:yt,onSelect:bt,onAdd:Zt,onInsert:Rt,onDelete:jt}),o.jsx("div",{className:"cw-detail",children:o.jsx("div",{className:"cw-detail-scroll",ref:ot,children:o.jsx("div",{className:"cw-detail-inner",children:o.jsx("div",{className:"cw-lower",children:o.jsxs("div",{className:"cw-form-col",children:[o.jsxs(Di,{meta:re("type"),children:[o.jsx(eT,{className:"cw-agent-type-options","aria-label":"Agent 类型",value:$e.agentType??"llm",onChange:St,children:d2e.map(te=>{const Te=($e.agentType??"llm")===te.id,Qe=qt&&te.id==="a2a",pt=Qe?"cw-remote-agent-disabled-hint":void 0;return o.jsxs("div",{"data-agent-type":te.id,className:`cw-agent-type-option ${Te?"is-on":""} ${Qe?"is-disabled":""}`,tabIndex:Qe?0:void 0,"aria-describedby":pt,children:[o.jsx(eT.Item,{value:te.id,disabled:Qe,block:!0,className:"cw-agent-type-control",children:o.jsx("span",{className:"cw-agent-type-copy",children:o.jsx("strong",{children:$2e[te.id]})})}),Qe&&o.jsx("span",{id:pt,className:"cw-agent-type-disabled-hint",role:"tooltip",children:"远程智能体只能作为子步骤使用"})]},te.id)})}),F&&Bn&&$e.subAgents.length===0&&o.jsx("span",{className:"cw-error-text",children:tAe({name:$e.name.trim()||"未命名",typeLabel:cz($e.agentType).label})})]}),o.jsx(Di,{meta:re("basic"),children:o.jsxs("div",{className:"cw-form",children:[!Kn&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[qt?"Agent 名称":"名称",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("input",{className:`cw-input ${vs(rs)}`,value:$e.name,placeholder:"assistant",onChange:te=>Xe({name:te.target.value})}),F&&Sn?o.jsx("span",{className:"cw-error-text",children:Sn}):o.jsx("span",{className:"cw-help",children:"遵循 Google ADK 命名规则,且在执行流程中保持唯一。"})]}),o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:[qt?"描述":"智能体描述",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("textarea",{className:`cw-textarea cw-textarea-sm ${vs(Ps)}`,value:$e.description,placeholder:"简要描述这个 Agent 的用途,便于团队识别…",onChange:te=>Xe({description:te.target.value})}),F&&Ps?o.jsx("span",{className:"cw-error-text",children:"描述为必填项"}):o.jsx("span",{className:"cw-help",children:qt?"完整描述会保留;部署时会自动整理为符合 Runtime 规范的单行描述。":"描述会显示在 Agent 列表与选择器中。"})]})]}),Bn?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"cw-section-desc cw-dependency-hint",children:"这是一个协作容器,本身不生成回答。请在左侧画布中 添加任务步骤,并通过拖拽调整它们的位置。"}),$e.agentType==="loop"&&o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"最大轮次"}),o.jsx("input",{className:"cw-input",type:"number",min:1,value:$e.maxIterations??3,onChange:te=>Xe({maxIterations:Math.max(1,Number(te.target.value)||1)})}),o.jsx("span",{className:"cw-help",children:"循环编排反复执行子 Agent,直到满足条件或达到该轮次上限。"})]})]}):Kn?o.jsxs("div",{className:"cw-field cw-remote-center-fields",children:[o.jsxs("div",{className:"cw-remote-center-head",children:[o.jsxs("div",{className:"cw-label",children:["AgentKit 智能体中心",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx("p",{className:"cw-help cw-remote-center-description",children:"远程 Agent 的名称、描述和能力来自中心返回的 Agent Card。 系统会根据每轮任务动态发现并挂载匹配的 Agent。"})]}),o.jsx(G2e,{value:((jn=$e.a2aRegistry)==null?void 0:jn.registrySpaceId)??"",region:((Ft=$e.a2aRegistry)==null?void 0:Ft.registryRegion)||ba.region,invalid:F&&ms,onChange:te=>Ue(xz,te)}),o.jsxs("button",{type:"button",className:"cw-more-options","aria-expanded":ge,"aria-controls":vt,onClick:()=>Pe(te=>!te),children:[o.jsx("span",{children:"更多选项"}),o.jsx(zl,{className:`cw-more-options-chevron ${ge?"is-open":""}`,"aria-hidden":!0})]}),o.jsx(Eo,{initial:!1,children:ge&&o.jsx(ts.div,{id:vt,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:o.jsx(Ph,{env:H2e,values:Ez($e.a2aRegistry,{includeDefaults:!1}),onChange:Ue})})}),F&&ms&&o.jsx("span",{className:"cw-error-text",children:"请选择 AgentKit 智能体中心"})]}):o.jsxs("div",{className:"cw-field",children:[o.jsxs("label",{className:"cw-label",children:["系统提示词",o.jsx("span",{className:"cw-req",children:"*"})]}),o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"cw-markdown-loading",role:"status",children:"正在加载 Markdown 编辑器…"}),children:o.jsx(D2e,{value:$e.instruction,invalid:Qs,onChange:te=>Xe({instruction:te})})}),F&&Qs?o.jsx("span",{className:"cw-error-text",children:"系统提示词为必填项"}):o.jsx("span",{className:"cw-help",children:"支持 Markdown 快捷输入,例如键入 ## 加空格创建二级标题。"})]})]})}),!Bn&&!Kn&&o.jsxs(o.Fragment,{children:[o.jsx(Di,{meta:re("model"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"模型名称"}),o.jsx("input",{className:"cw-input",value:$e.modelName??"",placeholder:"doubao-seed-2-1-pro-260628",onChange:te=>Xe({modelName:te.target.value})})]}),o.jsxs("button",{type:"button",className:"cw-more-options cw-model-more-options","aria-expanded":ie,"aria-controls":it,onClick:()=>se(te=>!te),children:[o.jsx("span",{children:"更多选项"}),o.jsx(zl,{className:`cw-more-options-chevron ${ie?"is-open":""}`,"aria-hidden":!0})]}),o.jsx(Eo,{initial:!1,children:ie&&o.jsxs(ts.div,{id:it,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:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"服务商 Provider"}),o.jsx("input",{className:"cw-input",value:$e.modelProvider??"",placeholder:"openai",onChange:te=>Xe({modelProvider:te.target.value})})]}),o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"API Base"}),o.jsx("input",{className:"cw-input",value:$e.modelApiBase??"",placeholder:"https://ark.cn-beijing.volces.com/api/v3/",onChange:te=>Xe({modelApiBase:te.target.value})}),o.jsx("span",{className:"cw-help cw-dependency-hint",children:"留空则使用 VeADK 默认模型配置;Ark API Key 会由 Studio 服务端凭据自动获取。其他服务商的 Key 可在部署页添加。"})]})]})})]})}),o.jsx(Di,{meta:re("tools"),children:o.jsxs("div",{className:"cw-form",children:[o.jsxs("div",{className:"cw-field",children:[o.jsx("label",{className:"cw-label",children:"内置工具"}),o.jsx("span",{className:"cw-help",children:"勾选 VeADK 提供的内置能力,生成时会自动补全 import 与所需环境变量。"}),o.jsx("div",{className:"cw-tools-list-shell",children:o.jsx(z2e,{items:K9,selected:Bt,onToggle:mi,scrollRows:6})}),o.jsx(Eo,{initial:!1,children:Bt.includes("run_code")&&o.jsxs(ts.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:[o.jsxs("div",{className:"cw-tool-config-head",children:[o.jsx("span",{className:"cw-label",children:"代码执行配置"}),o.jsx("span",{className:"cw-help",children:"指定 AgentKit 代码执行沙箱。"})]}),o.jsx(Ph,{env:((Us=lu.find(te=>te.id==="run_code"))==null?void 0:Us.env)??[],values:((Na=h.deployment)==null?void 0:Na.envValues)??{},onChange:Tt})]})})]}),o.jsxs("div",{className:"cw-field cw-mcp-field",children:[o.jsx("label",{className:"cw-label",children:"MCP 工具"}),o.jsx(q2e,{tools:Gn,onChange:te=>Xe({mcpTools:te})})]})]})}),o.jsx(Di,{meta:re("skills"),children:o.jsx("div",{className:"cw-form",children:o.jsx(W2e,{selected:Ds,onChange:te=>Xe({selectedSkills:te})})})}),o.jsx(Di,{meta:re("knowledge"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(U0,{checked:$e.knowledgebase,onChange:te=>Xe({knowledgebase:te}),title:"知识库",desc:"启用外部知识检索(RAG),让 Agent 基于你的资料作答。",icon:lb}),$e.knowledgebase&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"知识库后端"}),o.jsx(hw,{options:g_,value:$e.knowledgebaseBackend,onChange:te=>Xe({knowledgebaseBackend:te,knowledgebaseIndex:te==="viking"?$e.knowledgebaseIndex:""})}),($e.knowledgebaseBackend??Wc)==="viking"&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"VikingDB 知识库"}),o.jsx(K2e,{value:$e.knowledgebaseIndex??"",onChange:te=>Xe({knowledgebaseIndex:te})})]}),o.jsx(Ph,{env:((Ke=g_.find(te=>te.id===($e.knowledgebaseBackend??Wc)))==null?void 0:Ke.env)??[],values:((Fn=h.deployment)==null?void 0:Fn.envValues)??{},onChange:Tt})]})]})}),qt&&o.jsx(Di,{meta:re("memory"),children:o.jsxs("div",{className:"cw-form cw-toggle-stack",children:[o.jsx(U0,{checked:$e.memory.shortTerm,onChange:te=>Xe({memory:{...$e.memory,shortTerm:te}}),title:"短期记忆",desc:"在单次会话内保留上下文,跨轮次记住对话内容。",icon:vP}),$e.memory.shortTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"短期记忆后端"}),o.jsx(hw,{options:m_,value:$e.shortTermBackend,onChange:te=>Xe({shortTermBackend:te})}),o.jsx(Ph,{env:((Rr=m_.find(te=>te.id===($e.shortTermBackend??"local")))==null?void 0:Rr.env)??[],values:((dr=h.deployment)==null?void 0:dr.envValues)??{},onChange:Tt})]}),o.jsx(U0,{checked:$e.memory.longTerm,onChange:te=>Xe({memory:{...$e.memory,longTerm:te}}),title:"长期记忆",desc:"跨会话持久化关键信息,让 Agent 记住历史偏好。",icon:lb}),$e.memory.longTerm&&o.jsxs("div",{className:"cw-field cw-subfield",children:[o.jsx("label",{className:"cw-label",children:"长期记忆后端"}),o.jsx(hw,{options:p_,value:$e.longTermBackend,onChange:te=>Xe({longTermBackend:te})}),o.jsx(Ph,{env:((Ss=p_.find(te=>te.id===($e.longTermBackend??"local")))==null?void 0:Ss.env)??[],values:((Pi=h.deployment)==null?void 0:Pi.envValues)??{},onChange:Tt}),o.jsx(U0,{checked:!!$e.autoSaveSession,onChange:te=>Xe({autoSaveSession:te}),title:"自动保存会话到长期记忆",desc:"会话结束时自动把内容写入长期记忆,无需手动调用。",icon:lb})]})]})})]})]})})})})})]})}),G==="validate"&&o.jsx("div",{className:"cw-validation-workspace",children:o.jsx("div",{className:"cw-validation-content",children:o.jsx(sAe,{enabled:z,disabledReason:K,variants:ne,draftSnapshot:un,input:oe,onInput:ve,onSend:In,onStartVariant:en,onDeployVariant:te=>void Ot(te),onAddVariant:Rn,onRemoveVariant:Nt,onToggleConfig:te=>{const Te=ne.find(Qe=>Qe.id===te);Te&&rt(te,{configOpen:!Te.configOpen})},onCompleteConfig:Yn,onConfigChange:ws,onOpenTrace:je})})}),G==="publish"&&o.jsx("div",{className:"cw-preview-body",children:$?o.jsx(Cx,{embedded:!0,project:$,agentDraft:h,agentName:h.name||"未命名 Agent",agentCount:Sz(h),releaseConfiguration:ps?{modelName:ps.modelName||h.modelName||"默认模型",description:ps.description,instruction:ps.instruction,optimizations:ps.optimizations.flatMap(te=>{const Te=kz.find(Qe=>Qe.id===te);return Te?[Te.label]:[]})}:void 0,onChange:R,onDeploy:Wn,onAgentAdded:n,onDeploymentTaskChange:r,deploymentActionLabel:a?"更新并发布":"部署",deploymentActionTargetId:"cw-publish-primary-action",deploymentRuntimeId:a==null?void 0:a.runtimeId,onDeploymentStarted:u,onDeploymentComplete:c,feishuEnabled:!!((Ko=h.deployment)!=null&&Ko.feishuEnabled),onFeishuEnabledChange:te=>{const Te={...h,deployment:{...h.deployment??{feishuEnabled:!1},feishuEnabled:te}};m(Te)},deploymentEnv:ks.specs,deploymentEnvValues:{...(Za=h.deployment)==null?void 0:Za.envValues,...ks.fixedValues},onDeploymentEnvChange:Tt,network:(Fs=h.deployment)==null?void 0:Fs.network,onNetworkChange:te=>m(Te=>({...Te,deployment:{...Te.deployment??{feishuEnabled:!1},network:te}})),deployRegion:B,onDeployRegionChange:ee,onExportYaml:()=>B2e(`${h.name||"agent"}.yaml`,MTe(h),"text/yaml")}):o.jsxs("div",{className:"cw-publish-loading",role:"status",children:[o.jsx(gn,{className:"cw-i cw-spin"}),o.jsx("strong",{children:"正在生成发布配置"}),o.jsx("span",{children:"校验 Agent 结构并准备部署快照…"})]})})]}),o.jsx(rAe,{mode:G,busy:q,onChange:Go,assistant:G==="build"?Ut:void 0}),xe&&o.jsx(pz,{testRunId:xe.runId,sessionId:xe.sessionId,title:`调用链路 · ${xe.variantName}`,onClose:()=>Ze(null)}),De&&o.jsx(b2,{variant:"warning",title:"离开调试?",description:"离开调试页面后,当前环境将被清理。您可以通过重新启动环境进行新的测试。",confirmLabel:Se?"清理中...":"确定离开",closeLabel:"关闭离开调试确认",busy:Se,onCancel:et,onConfirm:()=>void ht()}),w&&o.jsx("div",{className:"confirm-scrim",onClick:()=>T(null),children:o.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:te=>te.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"ai-generate-error-title",children:"智能生成失败"}),o.jsx("div",{className:"cw-ai-error-message",id:"ai-generate-error-message",children:w}),o.jsx("div",{className:"confirm-actions",children:o.jsx("button",{type:"button",className:"confirm-btn cw-ai-error-close",onClick:()=>T(null),children:"关闭"})})]})})]})}function lo(e){return{...Ci(),...e}}const oAe=[{id:"support",icon:sJ,draft:lo({name:"客服助手",description:"7×24 在线答疑,结合知识库与历史对话,稳定、礼貌地解决用户问题。",instruction:"你是一名专业、耐心的客服助手。请始终保持礼貌、友好的语气,优先依据知识库中的资料回答用户问题;当资料不足以确定答案时,如实告知用户并主动引导其提供更多信息,切勿编造。回答尽量简洁、分点清晰,必要时给出操作步骤。",model:"doubao-1.5-pro-32k",knowledgebase:!0,memory:{shortTerm:!0,longTerm:!0}})},{id:"analyst",icon:UZ,draft:lo({name:"数据分析师",description:"运行代码完成统计与可视化,开启链路追踪,分析过程可观测、可复现。",instruction:"你是一名严谨的数据分析师。面对数据问题时,先厘清分析目标与口径,再通过编写并运行代码完成清洗、统计与可视化。每一步都要说明你的假设与方法,给出结论时附上关键数据支撑,并指出潜在的偏差与局限。",model:"doubao-1.5-pro-32k",tools:["code_runner"],tracing:!0})},{id:"translator",icon:iJ,draft:lo({name:"翻译助手",description:"中英互译,忠实、通顺、地道,保留原文语气与专业术语。",instruction:"你是一名专业的翻译助手,精通中英互译。请在忠实于原文含义的前提下,使译文自然、地道、符合目标语言表达习惯;保留专有名词与专业术语的准确性,并尽量贴合原文的语气与风格。仅输出译文,除非用户额外要求解释。",model:"doubao-1.5-pro-32k"})},{id:"coder",icon:QN,draft:lo({name:"代码助手",description:"编写、调试与重构代码,可运行代码验证结果,给出清晰可维护的实现。",instruction:"你是一名资深软件工程师。请根据需求编写正确、清晰、可维护的代码,遵循目标语言的惯用风格与最佳实践。在不确定时通过运行代码验证你的实现,给出关键的边界条件与测试思路,并对复杂逻辑附上简要注释。",model:"doubao-1.5-pro-32k",tools:["code_runner","file_reader"],tracing:!0})},{id:"researcher",icon:uJ,draft:lo({name:"研究员",description:"联网检索一手资料,结合知识库与长期记忆,输出有据可查的研究结论。",instruction:"你是一名严谨的研究员。面对研究问题时,先拆解关键子问题,再通过联网检索收集多个一手、可信的来源,交叉验证后再下结论。结论需注明出处与不确定性,区分事实与推断,避免以偏概全。",model:"doubao-1.5-pro-32k",tools:["web_search"],knowledgebase:!0,memory:{shortTerm:!0,longTerm:!0}})},{id:"research-team",icon:NJ,draft:lo({name:"多智能体研究团队",description:"由检索员、分析员、撰写员协作的研究编排,分工完成端到端调研报告。",instruction:"你是一支研究团队的总协调者。负责拆解用户的研究任务,将检索、分析、撰写分别委派给对应的子 Agent,汇总各子 Agent 的产出,把控整体质量,最终输出结构清晰、有据可查的研究报告。",model:"doubao-1.5-pro-32k",tracing:!0,memory:{shortTerm:!0,longTerm:!0},subAgents:[lo({name:"检索员",description:"联网搜集与课题相关的一手资料与数据。",instruction:"你是研究团队中的检索员。根据课题联网检索多个可信来源,整理出关键事实、数据与原文出处,交付给分析员,不做主观结论。",tools:["web_search"]}),lo({name:"分析员",description:"对检索到的材料做交叉验证与归纳分析。",instruction:"你是研究团队中的分析员。对检索员提供的材料做交叉验证、归纳与对比,提炼洞见、识别矛盾与不确定性,形成结构化的分析要点。",tools:["code_runner"]}),lo({name:"撰写员",description:"将分析结论组织为结构清晰、引用规范的报告。",instruction:"你是研究团队中的撰写员。把分析员的要点组织成结构清晰、语言通顺、引用规范的研究报告,确保每个结论都能追溯到来源。"})]})}];function lAe(e){const t=[];return e.tools.length&&t.push({icon:_P,label:"工具"}),(e.memory.shortTerm||e.memory.longTerm)&&t.push({icon:BZ,label:"记忆"}),e.knowledgebase&&t.push({icon:DZ,label:"知识库"}),e.tracing&&t.push({icon:LZ,label:"观测"}),e.subAgents.length&&t.push({icon:hJ,label:`子Agent ${e.subAgents.length}`}),t}function cAe({onBack:e,onCreate:t}){const[n,s]=b.useState(null);return o.jsx("div",{className:"tpl-root",children:n?o.jsx(dAe,{template:n,onBack:()=>s(null),onCreate:t}):o.jsx(uAe,{onPick:s})})}function uAe({onPick:e}){return o.jsxs("div",{className:"tpl-scroll",children:[o.jsxs("div",{className:"tpl-head",children:[o.jsx("h1",{className:"tpl-title",children:"从模板新建"}),o.jsx("p",{className:"tpl-sub",children:"选择一个预制 agent 模板,按需微调后即可创建。"})]}),o.jsx("div",{className:"tpl-grid",children:oAe.map((t,n)=>o.jsxs(ts.button,{type:"button",className:"tpl-card",onClick:()=>e(t),initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:n*.03,duration:.24,ease:[.22,1,.36,1]},children:[o.jsx("span",{className:"tpl-card-icon",children:o.jsx(t.icon,{className:"icon"})}),o.jsx("span",{className:"tpl-card-name",children:t.draft.name}),o.jsx("span",{className:"tpl-card-desc",children:Kl(t.draft.description)})]},t.id))})]})}function dAe({template:e,onBack:t,onCreate:n}){const[s,i]=b.useState(e.draft.name),r=e.icon,a=lAe(e.draft);function l(){const c=s.trim()||e.draft.name;n({...e.draft,name:c})}return o.jsxs("div",{className:"tpl-scroll tpl-scroll--detail",children:[o.jsxs("button",{className:"tpl-back",onClick:t,children:[o.jsx(WN,{className:"icon"})," 返回模板列表"]}),o.jsxs(ts.div,{className:"tpl-detail",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.28,ease:[.22,1,.36,1]},children:[o.jsxs("div",{className:"tpl-detail-head",children:[o.jsx("span",{className:"tpl-detail-icon",children:o.jsx(r,{className:"icon"})}),o.jsxs("div",{className:"tpl-detail-headtext",children:[o.jsx("div",{className:"tpl-detail-name",children:e.draft.name}),o.jsx("div",{className:"tpl-detail-desc",children:Kl(e.draft.description)})]})]}),a.length>0&&o.jsx("div",{className:"tpl-tags tpl-tags--detail",children:a.map(c=>o.jsxs("span",{className:"tpl-tag",children:[o.jsx(c.icon,{className:"tpl-tag-icon"})," ",c.label]},c.label))}),o.jsxs("label",{className:"tpl-field",children:[o.jsx("span",{className:"tpl-field-label",children:"名称"}),o.jsx("input",{className:"tpl-input",value:s,onChange:c=>i(c.target.value),placeholder:e.draft.name})]}),o.jsxs("div",{className:"tpl-field",children:[o.jsx("span",{className:"tpl-field-label",children:"系统提示词"}),o.jsx("p",{className:"tpl-instruction",children:e.draft.instruction})]}),o.jsxs("div",{className:"tpl-meta-grid",children:[e.draft.model&&o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"模型"}),o.jsx("span",{className:"tpl-meta-val tpl-mono",children:e.draft.model})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"工具"}),o.jsx("span",{className:"tpl-meta-val",children:e.draft.tools.length?e.draft.tools.join("、"):"无"})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"记忆"}),o.jsx("span",{className:"tpl-meta-val",children:fAe(e.draft)})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"知识库"}),o.jsx("span",{className:"tpl-meta-val",children:e.draft.knowledgebase?"已开启":"关闭"})]}),o.jsxs("div",{className:"tpl-meta",children:[o.jsx("span",{className:"tpl-meta-key",children:"观测追踪"}),o.jsx("span",{className:"tpl-meta-val",children:e.draft.tracing?"已开启":"关闭"})]})]}),e.draft.subAgents.length>0&&o.jsxs("div",{className:"tpl-field",children:[o.jsxs("span",{className:"tpl-field-label",children:["子 Agent(",e.draft.subAgents.length,")"]}),o.jsx("div",{className:"tpl-subagents",children:e.draft.subAgents.map((c,u)=>o.jsxs("div",{className:"tpl-subagent",children:[o.jsxs("div",{className:"tpl-subagent-top",children:[o.jsx("span",{className:"tpl-subagent-name",children:c.name}),c.tools.length>0&&o.jsx("span",{className:"tpl-subagent-tools",children:c.tools.join("、")})]}),o.jsx("div",{className:"tpl-subagent-desc",children:Kl(c.description)})]},u))})]}),o.jsxs("button",{className:"tpl-create",onClick:l,children:["使用此模板创建 ",o.jsx(zl,{className:"icon"})]})]})]})}function fAe(e){const t=[];return e.memory.shortTerm&&t.push("短期"),e.memory.longTerm&&t.push("长期"),t.length?t.join(" + "):"关闭"}const hAe=[{type:"sequential",label:"顺序",desc:"节点依次执行",Icon:wP},{type:"parallel",label:"并行",desc:"节点同时执行",Icon:pP},{type:"loop",label:"循环",desc:"节点循环执行",Icon:tk}];let rT=0;function yw(){return rT+=1,`node_${rT}`}function xw(e,t,n){const s=Ci();return{id:e,type:"agentNode",position:t,data:{agent:{...s,name:(n==null?void 0:n.name)??`agent_${e.replace("node_","")}`,...n}}}}function mAe({data:e,selected:t}){const n=e.agent;return o.jsxs("div",{className:`wfb-node ${t?"wfb-node--selected":""}`,children:[o.jsx(Ri,{type:"target",position:We.Left,className:"wfb-handle"}),o.jsx("div",{className:"wfb-node-icon",children:o.jsx(Hc,{className:"icon"})}),o.jsxs("div",{className:"wfb-node-body",children:[o.jsx("div",{className:"wfb-node-name",children:n.name||"未命名节点"}),o.jsx("div",{className:"wfb-node-desc",children:n.instruction?n.instruction.slice(0,48):"点击编辑指令…"})]}),o.jsx(Ri,{type:"source",position:We.Right,className:"wfb-handle"})]})}const pAe={agentNode:mAe},c3={type:"smoothstep",markerEnd:{type:rf.ArrowClosed,width:16,height:16}};function gAe({onBack:e,onCreate:t}){const n=b.useRef(null),[s,i]=b.useState(""),[r,a]=b.useState(""),[l,c]=b.useState("sequential"),u=b.useMemo(()=>{rT=0;const k=yw();return xw(k,{x:80,y:120},{name:"agent_1"})},[]),[d,f,h]=d9([u]),[m,p,g]=f9([]),[v,y]=b.useState(u.id),x=d.find(k=>k.id===v)??null,E=s.trim()||"workflow_agent",w=b.useMemo(()=>lz({name:E,subAgents:d.map(k=>k.data.agent)}),[E,d]),T=Ud(E)??(w.has(E)?"名称须与 Agent 节点名称保持唯一":null),S=x?Ud(x.data.agent.name)??(w.has(x.data.agent.name)?"Agent 名称在当前工作流中必须唯一":null):null,N=d.length>0&&T===null&&d.every(k=>Ud(k.data.agent.name)===null&&!w.has(k.data.agent.name)),A=b.useCallback(k=>p(j=>U8({...k,...c3},j)),[p]),C=b.useCallback(()=>{const k=yw(),j=d.length*28,P=xw(k,{x:80+j,y:120+j});f($=>$.concat(P)),y(k)},[d.length,f]),I=k=>{k.dataTransfer.setData("application/wfb-node","agentNode"),k.dataTransfer.effectAllowed="move"},O=b.useCallback(k=>{k.preventDefault(),k.dataTransfer.dropEffect="move"},[]),L=b.useCallback(k=>{if(k.preventDefault(),k.dataTransfer.getData("application/wfb-node")!=="agentNode"||!n.current)return;const P=n.current.screenToFlowPosition({x:k.clientX,y:k.clientY}),$=yw(),R=xw($,P);f(q=>q.concat(R)),y($)},[f]),G=b.useCallback(k=>{v&&f(j=>j.map(P=>P.id===v?{...P,data:{...P.data,agent:{...P.data.agent,...k}}}:P))},[v,f]),D=b.useCallback(()=>{v&&(f(k=>k.filter(j=>j.id!==v)),p(k=>k.filter(j=>j.source!==v&&j.target!==v)),y(null))},[v,f,p]),F=b.useCallback(()=>{if(!N)return;const k=d.map(P=>P.data.agent),j={...Ci(),name:E,description:r.trim(),instruction:r.trim(),subAgents:k,workflow:{type:l,nodes:d.map(P=>({id:P.id,agent:P.data.agent})),edges:m.map(P=>({from:P.source,to:P.target}))}};t(j)},[N,d,m,E,r,l,t]);return o.jsx("div",{className:"wfb",children:o.jsxs("div",{className:"wfb-grid",children:[o.jsxs("aside",{className:"wfb-palette",children:[o.jsx("div",{className:"wfb-section-label",children:"工作流信息"}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"名称"}),o.jsx("input",{className:`wfb-input ${T?"wfb-input--error":""}`,value:s,onChange:k=>i(k.target.value),placeholder:"my_workflow"}),T&&o.jsx("span",{className:"wfb-field-error",children:T})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"描述"}),o.jsx("textarea",{className:"wfb-input wfb-textarea",value:r,onChange:k=>a(k.target.value),placeholder:"这个工作流做什么…",rows:2})]}),o.jsx("div",{className:"wfb-section-label",children:"执行方式"}),o.jsx("div",{className:"wfb-types",children:hAe.map(({type:k,label:j,desc:P,Icon:$})=>o.jsxs("button",{type:"button",className:`wfb-type ${l===k?"wfb-type--active":""}`,onClick:()=>c(k),children:[o.jsx($,{className:"icon"}),o.jsxs("span",{className:"wfb-type-text",children:[o.jsx("span",{className:"wfb-type-name",children:j}),o.jsx("span",{className:"wfb-type-desc",children:P})]})]},k))}),o.jsx("div",{className:"wfb-section-label",children:"节点"}),o.jsxs("div",{className:"wfb-palette-item",draggable:!0,onDragStart:I,title:"拖拽到画布,或点击下方按钮添加",children:[o.jsx(nJ,{className:"icon wfb-grip"}),o.jsx("span",{className:"wfb-node-icon wfb-node-icon--sm",children:o.jsx(Hc,{className:"icon"})}),o.jsx("span",{className:"wfb-palette-item-text",children:"Agent 节点"})]}),o.jsxs("button",{className:"wfb-add",type:"button",onClick:C,children:[o.jsx(vi,{className:"icon"}),"添加节点"]}),o.jsx("div",{className:"wfb-hint",children:"拖拽节点的圆点连线以表达执行顺序。"})]}),o.jsxs("div",{className:"wfb-canvas",children:[o.jsxs("button",{className:"wfb-create",onClick:F,disabled:!N,type:"button",children:[o.jsx(zc,{className:"icon"}),"创建工作流"]}),o.jsxs(u9,{nodes:d,edges:m,onNodesChange:h,onEdgesChange:g,onConnect:A,onInit:k=>n.current=k,nodeTypes:pAe,defaultEdgeOptions:c3,onDrop:L,onDragOver:O,onNodeClick:(k,j)=>y(j.id),onPaneClick:()=>y(null),fitView:!0,fitViewOptions:{padding:.3,maxZoom:1},proOptions:{hideAttribution:!0},children:[o.jsx(m9,{gap:16,size:1,color:"hsl(240 5.9% 88%)"}),o.jsx(g9,{showInteractive:!1}),o.jsx(tle,{pannable:!0,zoomable:!0,className:"wfb-minimap"})]})]}),o.jsx("aside",{className:"wfb-inspector",children:x?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"wfb-inspector-head",children:[o.jsx("div",{className:"wfb-section-label",children:"节点配置"}),o.jsx("button",{className:"wfb-icon-btn",type:"button",onClick:D,title:"删除节点",children:o.jsx(Po,{className:"icon"})})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"名称"}),o.jsx("input",{className:`wfb-input ${S?"wfb-input--error":""}`,value:x.data.agent.name,onChange:k=>G({name:k.target.value}),placeholder:"agent_name"}),S?o.jsx("span",{className:"wfb-field-error",children:S}):o.jsx("span",{className:"wfb-field-help",children:"仅使用英文字母、数字和下划线,且名称保持唯一。"})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"描述"}),o.jsx("input",{className:"wfb-input",value:x.data.agent.description,onChange:k=>G({description:k.target.value}),placeholder:"这个 agent 做什么…"})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"指令 (instruction)"}),o.jsx("textarea",{className:"wfb-input wfb-textarea",value:x.data.agent.instruction,onChange:k=>G({instruction:k.target.value}),placeholder:"你是一个…",rows:6})]}),o.jsxs("label",{className:"wfb-field",children:[o.jsx("span",{className:"wfb-field-label",children:"工具 (逗号分隔)"}),o.jsx("input",{className:"wfb-input",value:x.data.agent.tools.join(", "),onChange:k=>G({tools:k.target.value.split(",").map(j=>j.trim()).filter(Boolean)}),placeholder:"web_search, calculator"})]}),o.jsxs("div",{className:"wfb-inspector-meta",children:[o.jsx("span",{className:"wfb-meta-key",children:"节点 ID"}),o.jsx("code",{className:"wfb-meta-val",children:x.id})]})]}):o.jsxs("div",{className:"wfb-inspector-empty",children:[o.jsx(Hc,{className:"wfb-empty-icon"}),o.jsx("p",{children:"选择一个节点以编辑其配置"}),o.jsxs("p",{className:"wfb-empty-sub",children:["共 ",d.length," 个节点 · ",m.length," 条连线"]})]})})]})})}function bAe(e){return o.jsx(Pk,{children:o.jsx(gAe,{...e})})}const u3=50*1024*1024,aT=800,yAe={name:"code_package",files:[]};function xAe(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 EAe(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(s=>!s||s==="."||s===".."))throw new Error(`压缩包包含非法路径:${e}`);return n[0]==="__MACOSX"||n[n.length-1]===".DS_Store"?null:n.join("/")}function vAe(e){const t=e.flatMap(a=>{const l=EAe(a.name);return l?[{path:l,content:a.text}]:[]});if(t.length===0)throw new Error("压缩包中没有可部署的文件。");if(t.length>aT)throw new Error(`代码包文件数不能超过 ${aT} 个。`);const i=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,r=new Set;for(const a of i){if(r.has(a.path))throw new Error(`代码包包含重复文件:${a.path}`);r.add(a.path)}if(!r.has("app.py"))throw new Error("代码包根目录必须包含 app.py,作为 AgentKit 启动入口。");return i}function wAe({onBack:e,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:s,onDeploymentComplete:i,initialDeployRegion:r="cn-beijing"}){const a=b.useRef(null),l=b.useRef(0),[c,u]=b.useState(null),[d,f]=b.useState(""),[h,m]=b.useState(!1),[p,g]=b.useState(!1),[v,y]=b.useState(!1),[x,E]=b.useState(""),[w,T]=b.useState(r),[S,N]=b.useState();b.useEffect(()=>()=>{l.current+=1},[]);async function A(L){const G=++l.current;if(E(""),!L.name.toLowerCase().endsWith(".zip")){E("请选择 .zip 格式的代码包。");return}if(L.size>u3){E("代码包不能超过 50 MB。");return}g(!0);try{const D=await dz(new Uint8Array(await L.arrayBuffer()),{maxEntries:aT,maxUncompressedBytes:u3}),F=vAe(D);if(G!==l.current)return;f(L.name),u({name:xAe(L.name),files:F})}catch(D){if(G!==l.current)return;f(""),u(null),E(D instanceof Error?D.message:String(D))}finally{G===l.current&&g(!1)}}function C(L){var D;const G=(D=L.currentTarget.files)==null?void 0:D[0];L.currentTarget.value="",G&&A(G)}function I(L){var D;L.preventDefault(),y(!1);const G=(D=L.dataTransfer.files)==null?void 0:D[0];G&&A(G)}async function O(L,G,D){const F=S&&S.mode!=="public"?{mode:S.mode,vpc_id:S.vpcId,subnet_ids:S.subnetIds,enable_shared_internet_access:S.enableSharedInternetAccess}:void 0;return U1(L.name,L.files,{region:w,projectName:"default",network:F},{...D,onStage:G})}return o.jsxs("div",{className:"package-create package-create-preview",children:[o.jsx(Cx,{project:c??yAe,agentName:(c==null?void 0:c.name)||"代码包",onChange:c?u:void 0,onDeploy:O,onAgentAdded:t,onDeploymentTaskChange:n,onDeploymentStarted:s,onDeploymentComplete:i,network:S,onNetworkChange:N,deployRegion:w,onDeployRegionChange:T,onBack:e,backLabel:"返回创建方式",deployDisabled:!c||p,deployDisabledReason:p?"正在读取代码包":c?void 0:"请先上传代码包",deploymentPrimaryPane:o.jsxs("section",{className:"package-source-pane","aria-label":"代码包上传",children:[o.jsx("div",{className:"package-source-label",children:"代码包"}),o.jsxs("div",{className:`package-dropzone${v?" is-dragging":""}${c?" is-ready":""}`,onDragEnter:L=>{L.preventDefault(),y(!0)},onDragOver:L=>L.preventDefault(),onDragLeave:L=>{L.currentTarget.contains(L.relatedTarget)||y(!1)},onDrop:I,onClick:()=>{var L;p||(L=a.current)==null||L.click()},onKeyDown:L=>{var G;!p&&(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),(G=a.current)==null||G.click())},role:"button",tabIndex:p?-1:0,"aria-label":c?"重新上传代码包":"上传代码包","aria-disabled":p,children:[o.jsx("strong",{children:p?"正在读取代码包…":c?d:"请上传代码包"}),o.jsx("span",{children:c?`已识别 ${c.files.length} 个文件,点击区域可重新上传`:"点击或拖拽上传,支持 .zip 格式,最大 50 MB,根目录需包含 app.py"}),o.jsx("div",{className:"package-upload-actions",children:c&&o.jsx("button",{type:"button",className:"package-upload-secondary",onClick:L=>{L.stopPropagation(),m(!0)},onKeyDown:L=>L.stopPropagation(),children:"查看文件"})}),o.jsx("input",{ref:a,type:"file",accept:".zip,application/zip","aria-label":"选择代码包",onChange:C})]}),x&&o.jsx("div",{className:"package-create-error",role:"alert",children:x})]})}),c&&o.jsx(dH,{project:c,open:h,onClose:()=>m(!1),onChange:u})]})}const Az=1;function Zy(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function SAe(e){return Zy(e)&&typeof e.id=="string"&&typeof e.updatedAt=="number"&&Zy(e.draft)}function Dx(e){return`veadk.agentDrafts.${encodeURIComponent(e)}`}function oT(e){var s;const t=(s=e.mcpTools)==null?void 0:s.map(i=>{const r={...i};return delete r.authToken,r}),n=e.deployment?{...e.deployment}:void 0;return n&&delete n.envValues,{...e,subAgents:e.subAgents.map(oT),...t?{mcpTools:t}:{},...n?{deployment:n}:{},...e.workflow?{workflow:{...e.workflow,nodes:e.workflow.nodes.map(i=>({...i,agent:oT(i.agent)}))}}:{}}}function Cz(e){return{...e,draft:oT(e.draft)}}function _Ae(e){const t=Array.isArray(e)?e:Zy(e)&&e.version===Az?e.drafts:void 0;if(!Array.isArray(t)||!t.every(SAe))throw Zy(e)&&typeof e.version=="number"?new Error("本机草稿版本暂不受支持,请升级 Studio 后重试。"):new Error("本机草稿数据格式无效。");return t.map(Cz)}function TAe(e,t){if(!t)return[];const n=e.getItem(Dx(t));if(!n)return[];try{return _Ae(JSON.parse(n))}catch(s){throw s instanceof Error&&s.message.startsWith("本机草稿")?s:new Error("无法读取本机草稿,浏览器中的草稿数据可能已损坏。")}}function d3(e,t,n){if(!t)return;const s={version:Az,drafts:n.map(Cz)};try{e.setItem(Dx(t),JSON.stringify(s))}catch(i){throw i instanceof DOMException&&(i.name==="QuotaExceededError"||i.name==="NS_ERROR_DOM_QUOTA_REACHED")?new Error("浏览器存储空间不足,草稿未保存。请删除不需要的草稿或清理此站点的浏览器存储后重试。"):new Error("浏览器拒绝保存草稿,请检查站点存储权限后重试。")}}const NAe="/web/skill-creator";class Q2 extends Error{constructor(n,s){super(n);PA(this,"status");this.name="SkillCreatorApiError",this.status=s}}function gu(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`${t} 格式错误`);return e}function ds(e,...t){for(const n of t){const s=e[n];if(typeof s=="string"&&s)return s}}function Iz(e,...t){for(const n of t){const s=e[n];if(typeof s=="number"&&Number.isFinite(s))return s}}async function xg(e,t){return fetch(kn(`${NAe}${e}`),{...t,headers:j1({Accept:"application/json",...t!=null&&t.body?{"Content-Type":"application/json"}:{},...t==null?void 0:t.headers})})}async function Z2(e,t){if((e.headers.get("content-type")??"").includes("application/json")){const i=gu(await e.json(),"错误响应");return ds(i,"detail","message","error")??t}return(await e.text()).trim()||t}async function J2(e,t){if(!e.ok)throw new Q2(await Z2(e,t),e.status);if(!(e.headers.get("content-type")??"").includes("application/json"))throw new Error(`${t}:服务端返回了非 JSON 响应`);return e.json()}function kAe(e){if(e==="queued")return"queued";if(e==="running")return"running";if(e==="succeeded")return"succeeded";if(e==="failed")return"failed";throw new Error(`未知的 Skill 生成状态:${String(e)}`)}function AAe(e){if(e==="provisioning"||e==="generating"||e==="validating"||e==="packaging"||e==="completed"||e==="failed")return e;throw new Error(`未知的 Skill 生成阶段:${String(e)}`)}function CAe(e){return Array.isArray(e)?e.map((t,n)=>{const s=gu(t,`文件 ${n+1}`),i=ds(s,"path");if(!i)throw new Error(`文件 ${n+1} 缺少 path`);const r=Iz(s,"size");if(r===void 0)throw new Error(`文件 ${n+1} 缺少 size`);return{path:i,size:r}}):[]}function IAe(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e,n=Array.isArray(t.errors)?t.errors.map(String):[],s=Array.isArray(t.warnings)?t.warnings.map(String):[];return{valid:typeof t.valid=="boolean"?t.valid:n.length===0,errors:n,warnings:s}}function RAe(e){if(e===void 0)return[];if(!Array.isArray(e))throw new Error("Skill 生成活动记录格式错误");return e.map((t,n)=>{const s=gu(t,`活动 ${n+1}`),i=ds(s,"id"),r=ds(s,"kind"),a=ds(s,"status");if(!i||!r||!["status","thinking","tool","message"].includes(r))throw new Error(`活动 ${n+1} 格式错误`);if(a!=="running"&&a!=="done")throw new Error(`活动 ${n+1} 状态错误`);if(r==="tool"){const c=ds(s,"name");if(!c)throw new Error(`活动 ${n+1} 缺少工具名称`);return{id:i,kind:r,name:c,args:s.input,response:s.output,status:a}}const l=ds(s,"text");if(!l)throw new Error(`活动 ${n+1} 缺少文本`);return{id:i,kind:r,text:l,status:a}})}function jAe(e,t){const n=gu(e,`候选方案 ${t+1}`),s=ds(n,"id","candidate_id","candidateId"),i=ds(n,"model","model_id","modelId");if(!s||!i)throw new Error(`候选方案 ${t+1} 缺少 id 或 model`);return{id:s,model:i,modelLabel:ds(n,"modelLabel","model_label")??i,status:kAe(n.status),stage:AAe(n.stage),name:ds(n,"name","skill_name","skillName"),description:ds(n,"description"),skillMd:ds(n,"skillMd","skill_md"),files:CAe(n.files),activities:RAe(n.activities),validation:IAe(n.validation),durationMs:Iz(n,"elapsedMs","elapsed_ms"),error:ds(n,"error","error_message","errorMessage"),published:n.published===!0,skillId:ds(n,"skill_id","skillId"),version:ds(n,"version")}}function lT(e,t=""){const n=gu(e,"Skill 创建任务"),s=ds(n,"id","job_id","jobId");if(!s)throw new Error("Skill 创建任务缺少 id");const i=Array.isArray(n.candidates)?n.candidates.map(jAe):[],r=ds(n,"status")??"running";if(r!=="provisioning"&&r!=="running"&&r!=="completed")throw new Error(`未知的 Skill 任务状态:${r}`);return{id:s,prompt:ds(n,"prompt")??t,status:r,candidates:i}}async function OAe(e,t){const n=await xg("/jobs",{method:"POST",body:JSON.stringify({prompt:e})});if(!n.ok)throw new Q2(await Z2(n,"创建 Skill 任务失败"),n.status);const s=n.headers.get("content-type")??"";if(s.includes("application/json")){const u=lT(await n.json(),e);return t==null||t(u),u}if(!s.includes("application/x-ndjson")||!n.body)throw new Error("创建 Skill 任务失败:服务端返回了非流式响应");const i=n.body.getReader(),r=new TextDecoder;let a="",l;const c=u=>{if(!u.trim())return;const d=gu(JSON.parse(u),"Skill 创建进度");if(d.type==="error")throw new Error(ds(d,"error")??"创建 Skill 任务失败");if(d.type!=="progress"&&d.type!=="complete")throw new Error("未知的 Skill 创建进度事件");l=lT(d.job,e),t==null||t(l)};for(;;){const{done:u,value:d}=await i.read();a+=r.decode(d,{stream:!u});const f=a.split(` +`);if(a=f.pop()??"",f.forEach(c),u)break}if(c(a),!l)throw new Error("创建 Skill 任务失败:服务端未返回任务");return l}async function MAe(e){const t=await xg(`/jobs/${encodeURIComponent(e)}`);return lT(await J2(t,"读取 Skill 任务失败"))}async function LAe(e){const t=await xg(`/jobs/${encodeURIComponent(e)}`,{method:"DELETE"});await J2(t,"清理 Skill 任务失败")}async function DAe(e,t){var l;const n=await xg(`/jobs/${encodeURIComponent(e)}/candidates/${encodeURIComponent(t)}/download`);if(!n.ok)throw new Error(await Z2(n,"下载 Skill 失败"));const i=((l=(n.headers.get("content-disposition")??"").match(/filename="([^"]+)"/))==null?void 0:l[1])??"skill.zip",r=URL.createObjectURL(await n.blob()),a=document.createElement("a");a.href=r,a.download=i,a.click(),URL.revokeObjectURL(r)}async function PAe(e,t,n){const s=await xg(`/jobs/${encodeURIComponent(e)}/candidates/${encodeURIComponent(t)}/publish`,{method:"POST",body:JSON.stringify(n)}),i=gu(await J2(s,"添加到 AgentKit 失败"),"发布结果"),r=ds(i,"skill_id","skillId","id");if(!r)throw new Error("发布结果缺少 skill_id");return{skillId:r,name:ds(i,"name"),version:ds(i,"version"),skillSpaceIds:Array.isArray(i.skillSpaceIds)?i.skillSpaceIds.map(String):Array.isArray(i.skill_space_ids)?i.skill_space_ids.map(String):[],message:ds(i,"message")}}const BAe=()=>{};function UAe(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 FAe({activities:e}){const t=b.useMemo(()=>e.filter(n=>n.kind!=="status").map(UAe),[e]);return t.length===0?null:o.jsx("div",{className:"skill-conversation","aria-label":"Skill 生成对话","aria-live":"polite",children:o.jsx(v2,{blocks:t,onAction:BAe})})}const f3={provisioning:"正在准备 Sandbox",generating:"正在生成 Skill",validating:"正在校验结构",packaging:"正在打包",completed:"生成完成",failed:"生成失败"},h3=12e4;function $Ae({status:e}){return e==="succeeded"?o.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("circle",{cx:"10",cy:"10",r:"7"}),o.jsx("path",{d:"m6.7 10.1 2.1 2.2 4.6-4.8"})]}):e==="failed"?o.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("circle",{cx:"10",cy:"10",r:"7"}),o.jsx("path",{d:"M10 6.2v4.5M10 13.6h.01"})]}):o.jsxs("svg",{className:"skill-candidate__spinner",viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("circle",{cx:"10",cy:"10",r:"7"}),o.jsx("path",{d:"M10 3a7 7 0 0 1 7 7"})]})}function HAe(){return o.jsxs("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:[o.jsx("path",{d:"M4.2 3.5h7.1l4.5 4.6v8.4H4.2z"}),o.jsx("path",{d:"M11.3 3.5v4.6h4.5M7 11h6M7 13.8h4.2"})]})}function zAe(){return o.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:o.jsx("path",{d:"m9 5-5 5 5 5M4.5 10H16"})})}function VAe({candidate:e}){var c,u;const[t,n]=b.useState("SKILL.md"),s=e.files.find(d=>d.path.endsWith("SKILL.md")),i=e.skillMd&&!s?[{path:"SKILL.md",size:new Blob([e.skillMd]).size},...e.files]:e.files,r=i.find(d=>d.path===t)??i[0],a=(c=e.skillMd)==null?void 0:c.slice(0,h3),l=(((u=e.skillMd)==null?void 0:u.length)??0)>h3;return i.length===0?null:o.jsxs("div",{className:"skill-files",children:[o.jsx("div",{className:"skill-files__tabs",role:"tablist","aria-label":`${e.name??"Skill"} 文件`,children:i.map(d=>o.jsx("button",{type:"button",role:"tab","aria-selected":(r==null?void 0:r.path)===d.path,className:(r==null?void 0:r.path)===d.path?"is-active":"",onClick:()=>n(d.path),children:d.path},d.path))}),e.skillMd&&(r!=null&&r.path.endsWith("SKILL.md"))?o.jsxs(o.Fragment,{children:[o.jsx("pre",{className:"skill-files__content",children:o.jsx("code",{children:a})}),l?o.jsx("p",{className:"skill-files__truncated",children:"预览内容较长,完整文件请下载 ZIP 查看。"}):null]}):o.jsx("div",{className:"skill-files__unavailable",children:r?`${r.path} · ${r.size.toLocaleString()} bytes`:"文件内容将在下载包中提供"})]})}function GAe({label:e,jobId:t,candidate:n,selected:s,publishing:i,publishDisabled:r,publishError:a,onSelect:l,onPublish:c}){const[u,d]=b.useState("conversation"),[f,h]=b.useState(!1),[m,p]=b.useState(!1),[g,v]=b.useState(""),[y,x]=b.useState(""),[E,w]=b.useState(""),[T,S]=b.useState(""),N=b.useRef(null),A=b.useRef(null),C=n.status==="queued"||n.status==="running",I=n.status==="succeeded",O=n.validation;return o.jsxs("article",{className:`skill-candidate skill-candidate--${n.status}${s?" is-selected":""}`,"aria-label":`${e} ${n.model}`,children:[o.jsxs("header",{className:"skill-candidate__header",children:[o.jsx("h2",{children:n.model}),s?o.jsx("span",{className:"skill-candidate__selected",children:"已选方案"}):null]}),u==="conversation"?o.jsxs("div",{className:"skill-candidate__view skill-candidate__view--conversation",children:[o.jsxs("div",{className:"skill-candidate__status","aria-live":"polite",children:[o.jsx("span",{className:"skill-candidate__status-icon",children:o.jsx($Ae,{status:n.status})}),C?o.jsx(Vl,{duration:2.2,spread:16,children:f3[n.stage]}):o.jsx("span",{children:f3[n.stage]}),n.durationMs!==void 0&&I?o.jsxs("span",{className:"skill-candidate__duration",children:[(n.durationMs/1e3).toFixed(1)," 秒"]}):null]}),o.jsx(FAe,{activities:n.activities}),n.error?o.jsx("div",{className:"skill-candidate__error",children:n.error}):null,I?o.jsx("div",{className:"skill-candidate__view-actions",children:o.jsxs("button",{ref:N,type:"button",className:"skill-action skill-action--preview",onClick:()=>{d("preview"),requestAnimationFrame(()=>{var L;return(L=A.current)==null?void 0:L.focus()})},children:[o.jsx(HAe,{}),"查看 Skill"]})}):null]}):o.jsxs("div",{className:"skill-candidate__view skill-candidate__view--preview",children:[o.jsx("div",{className:"skill-candidate__preview-nav",children:o.jsxs("button",{ref:A,type:"button",className:"skill-candidate__back",onClick:()=>{d("conversation"),requestAnimationFrame(()=>{var L;return(L=N.current)==null?void 0:L.focus()})},children:[o.jsx(zAe,{}),"返回对话"]})}),o.jsxs("div",{className:"skill-candidate__result",children:[o.jsxs("div",{className:"skill-candidate__summary",children:[o.jsxs("div",{children:[o.jsx("span",{children:"Skill"}),o.jsx("strong",{children:n.name??"未命名 Skill"})]}),o.jsxs("div",{children:[o.jsx("span",{children:"文件"}),o.jsx("strong",{children:n.files.length})]}),o.jsxs("div",{children:[o.jsx("span",{children:"校验"}),o.jsx("strong",{className:(O==null?void 0:O.valid)===!1?"is-invalid":"is-valid",children:(O==null?void 0:O.valid)===!1?"未通过":"已通过"})]})]}),n.description?o.jsx("p",{className:"skill-candidate__description",children:n.description}):null,O&&(O.errors.length>0||O.warnings.length>0)?o.jsxs("details",{className:"skill-validation",children:[o.jsx("summary",{children:"查看校验详情"}),[...O.errors,...O.warnings].map((L,G)=>o.jsx("div",{children:L},`${L}-${G}`))]}):null,o.jsx(VAe,{candidate:n}),o.jsxs("div",{className:"skill-candidate__actions",children:[o.jsx("button",{type:"button",className:"skill-action skill-action--select","aria-pressed":s,onClick:l,children:s?"已采用此方案":"采用此方案"}),o.jsx("button",{type:"button",className:"skill-action",disabled:m,onClick:()=>{p(!0),v(""),DAe(t,n.id).catch(L=>{v(L instanceof Error?L.message:String(L))}).finally(()=>p(!1))},children:m?"正在下载…":"下载 ZIP"}),o.jsx("button",{type:"button",className:"skill-action",disabled:!s||i||r||n.published,title:s?void 0:"请先采用此方案",onClick:()=>h(L=>!L),children:n.published?"已添加到 AgentKit":i?"正在添加…":"添加到 AgentKit"})]}),g?o.jsx("div",{className:"skill-candidate__error",children:g}):null,f&&s&&!n.published?o.jsxs("form",{className:"skill-publish-form",onSubmit:L=>{L.preventDefault();const G=y.split(",").map(D=>D.trim()).filter(Boolean);c({skillSpaceIds:G,...E.trim()?{projectName:E.trim()}:{},...T.trim()?{skillId:T.trim()}:{}})},children:[o.jsxs("label",{children:[o.jsx("span",{children:"SkillSpace ID(可选)"}),o.jsx("input",{value:y,onChange:L=>x(L.target.value),placeholder:"多个 ID 用英文逗号分隔"})]}),o.jsxs("div",{className:"skill-publish-form__optional",children:[o.jsxs("label",{children:[o.jsx("span",{children:"项目名称(可选)"}),o.jsx("input",{value:E,onChange:L=>w(L.target.value)})]}),o.jsxs("label",{children:[o.jsx("span",{children:"已有 Skill ID(可选)"}),o.jsx("input",{value:T,onChange:L=>S(L.target.value)})]})]}),o.jsx("button",{type:"submit",className:"skill-action skill-action--select",disabled:i,children:i?"正在添加…":"确认添加"})]}):null,a?o.jsx("div",{className:"skill-candidate__error",children:a}):null]})]})]})}const m3=new Set(["completed"]),H0=1100,KAe=3e4;function qAe(e,t){return{id:`pending-${t}`,model:e,modelLabel:e,status:"queued",stage:"provisioning",files:[],activities:[{id:"provisioning",kind:"status",text:"正在拉起 Sandbox",status:"running"}]}}function YAe({initialJob:e}){const[t,n]=b.useState(e),[s,i]=b.useState(""),[r,a]=b.useState(!1),[l,c]=b.useState(),[u,d]=b.useState(),[f,h]=b.useState(()=>new Set),[m,p]=b.useState({});b.useEffect(()=>{n(e),i(""),a(!1)},[e]),b.useEffect(()=>{if(m3.has(e.status)||e.id.startsWith("pending-"))return;let y=!1,x;const E=Date.now()+KAe,w=async()=>{try{const T=await MAe(e.id);y||(n({...T,prompt:T.prompt||e.prompt}),i(""),m3.has(T.status)||(x=window.setTimeout(w,H0)))}catch(T){if(!y){const S=T instanceof Q2?T:void 0;if((S==null?void 0:S.status)===404&&Date.now(){y=!0,x!==void 0&&window.clearTimeout(x)}},[e.id,e.status]);const g=S2.map((y,x)=>t.candidates.find(E=>E.model===y)??t.candidates[x]??qAe(y,x));async function v(y,x){d(y.id),p(E=>({...E,[y.id]:""}));try{await PAe(t.id,y.id,x),h(E=>new Set(E).add(y.id))}catch(E){p(w=>({...w,[y.id]:E instanceof Error?E.message:String(E)}))}finally{d(void 0)}}return o.jsxs("section",{className:"skill-workspace",children:[o.jsx("header",{className:"skill-workspace__intro",children:o.jsx("h1",{children:"正在把需求变成可运行的 Skill"})}),s?o.jsxs("div",{className:"skill-workspace__poll-error",role:"alert",children:["状态刷新失败:",s,"。",r?"":"页面会继续重试。"]}):null,o.jsx("div",{className:"skill-workspace__grid",children:g.map((y,x)=>{const w=f.has(y.id)||y.published?{...y,published:!0}:y;return o.jsx(GAe,{label:`方案 ${x===0?"A":"B"}`,jobId:t.id,candidate:w,selected:l===y.id,publishing:u===y.id,publishDisabled:u!==void 0&&u!==y.id,publishError:m[y.id],onSelect:()=>c(y.id),onPublish:T=>void v(y,T)},`${y.model}-${y.id}`)})})]})}function WAe(e){return Object.prototype.toString.call(e)==="[object Object]"}function p3(e){return WAe(e)||Array.isArray(e)}function XAe(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function eA(e,t){const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;const i=JSON.stringify(Object.keys(e.breakpoints||{})),r=JSON.stringify(Object.keys(t.breakpoints||{}));return i!==r?!1:n.every(a=>{const l=e[a],c=t[a];return typeof l=="function"?`${l}`==`${c}`:!p3(l)||!p3(c)?l===c:eA(l,c)})}function g3(e){return e.concat().sort((t,n)=>t.name>n.name?1:-1).map(t=>t.options)}function QAe(e,t){if(e.length!==t.length)return!1;const n=g3(e),s=g3(t);return n.every((i,r)=>{const a=s[r];return eA(i,a)})}function tA(e){return typeof e=="number"}function cT(e){return typeof e=="string"}function Px(e){return typeof e=="boolean"}function b3(e){return Object.prototype.toString.call(e)==="[object Object]"}function Es(e){return Math.abs(e)}function nA(e){return Math.sign(e)}function Um(e,t){return Es(e-t)}function ZAe(e,t){if(e===0||t===0||Es(e)<=Es(t))return 0;const n=Um(Es(e),Es(t));return Es(n/e)}function JAe(e){return Math.round(e*100)/100}function Ap(e){return Cp(e).map(Number)}function xa(e){return e[Eg(e)]}function Eg(e){return Math.max(0,e.length-1)}function sA(e,t){return t===Eg(e)}function y3(e,t=0){return Array.from(Array(e),(n,s)=>t+s)}function Cp(e){return Object.keys(e)}function Rz(e,t){return[e,t].reduce((n,s)=>(Cp(s).forEach(i=>{const r=n[i],a=s[i],l=b3(r)&&b3(a);n[i]=l?Rz(r,a):a}),n),{})}function uT(e,t){return typeof t.MouseEvent<"u"&&e instanceof t.MouseEvent}function eCe(e,t){const n={start:s,center:i,end:r};function s(){return 0}function i(c){return r(c)/2}function r(c){return t-c}function a(c,u){return cT(e)?n[e](c):e(t,c,u)}return{measure:a}}function Ip(){let e=[];function t(i,r,a,l={passive:!0}){let c;if("addEventListener"in i)i.addEventListener(r,a,l),c=()=>i.removeEventListener(r,a,l);else{const u=i;u.addListener(a),c=()=>u.removeListener(a)}return e.push(c),s}function n(){e=e.filter(i=>i())}const s={add:t,clear:n};return s}function tCe(e,t,n,s){const i=Ip(),r=1e3/60;let a=null,l=0,c=0;function u(){i.add(e,"visibilitychange",()=>{e.hidden&&p()})}function d(){m(),i.clear()}function f(v){if(!c)return;a||(a=v,n(),n());const y=v-a;for(a=v,l+=y;l>=r;)n(),l-=r;const x=l/r;s(x),c&&(c=t.requestAnimationFrame(f))}function h(){c||(c=t.requestAnimationFrame(f))}function m(){t.cancelAnimationFrame(c),a=null,l=0,c=0}function p(){a=null,l=0}return{init:u,destroy:d,start:h,stop:m,update:n,render:s}}function nCe(e,t){const n=t==="rtl",s=e==="y",i=s?"y":"x",r=s?"x":"y",a=!s&&n?-1:1,l=d(),c=f();function u(p){const{height:g,width:v}=p;return s?g:v}function d(){return s?"top":n?"right":"left"}function f(){return s?"bottom":n?"left":"right"}function h(p){return p*a}return{scroll:i,cross:r,startEdge:l,endEdge:c,measureSize:u,direction:h}}function Jc(e=0,t=0){const n=Es(e-t);function s(u){return ut}function r(u){return s(u)||i(u)}function a(u){return r(u)?s(u)?e:t:u}function l(u){return n?u-n*Math.ceil((u-t)/n):u}return{length:n,max:t,min:e,constrain:a,reachedAny:r,reachedMax:i,reachedMin:s,removeOffset:l}}function jz(e,t,n){const{constrain:s}=Jc(0,e),i=e+1;let r=a(t);function a(h){return n?Es((i+h)%i):s(h)}function l(){return r}function c(h){return r=a(h),f}function u(h){return d().set(l()+h)}function d(){return jz(e,l(),n)}const f={get:l,set:c,add:u,clone:d};return f}function sCe(e,t,n,s,i,r,a,l,c,u,d,f,h,m,p,g,v,y,x){const{cross:E,direction:w}=e,T=["INPUT","SELECT","TEXTAREA"],S={passive:!1},N=Ip(),A=Ip(),C=Jc(50,225).constrain(m.measure(20)),I={mouse:300,touch:400},O={mouse:500,touch:600},L=p?43:25;let G=!1,D=0,F=0,k=!1,j=!1,P=!1,$=!1;function R(ue){if(!x)return;function me(pe){(Px(x)||x(ue,pe))&&K(pe)}const Ce=t;N.add(Ce,"dragstart",pe=>pe.preventDefault(),S).add(Ce,"touchmove",()=>{},S).add(Ce,"touchend",()=>{}).add(Ce,"touchstart",me).add(Ce,"mousedown",me).add(Ce,"touchcancel",W).add(Ce,"contextmenu",W).add(Ce,"click",de,!0)}function q(){N.clear(),A.clear()}function Q(){const ue=$?n:t;A.add(ue,"touchmove",ne,S).add(ue,"touchend",W).add(ue,"mousemove",ne,S).add(ue,"mouseup",W)}function B(ue){const me=ue.nodeName||"";return T.includes(me)}function ee(){return(p?O:I)[$?"mouse":"touch"]}function z(ue,me){const Ce=f.add(nA(ue)*-1),pe=d.byDistance(ue,!p).distance;return p||Es(ue)=2,!(me&&ue.button!==0)&&(B(ue.target)||(k=!0,r.pointerDown(ue),u.useFriction(0).useDuration(0),i.set(a),Q(),D=r.readPoint(ue),F=r.readPoint(ue,E),h.emit("pointerDown")))}function ne(ue){if(!uT(ue,s)&&ue.touches.length>=2)return W(ue);const Ce=r.readPoint(ue),pe=r.readPoint(ue,E),oe=Um(Ce,D),ve=Um(pe,F);if(!j&&!$&&(!ue.cancelable||(j=oe>ve,!j)))return W(ue);const xe=r.pointerMove(ue);oe>g&&(P=!0),u.useFriction(.3).useDuration(.75),l.start(),i.add(w(xe)),ue.preventDefault()}function W(ue){const Ce=d.byDistance(0,!1).index!==f.get(),pe=r.pointerUp(ue)*ee(),oe=z(w(pe),Ce),ve=ZAe(pe,oe),xe=L-10*ve,Ze=y+ve/50;j=!1,k=!1,A.clear(),u.useDuration(xe).useFriction(Ze),c.distance(oe,!p),$=!1,h.emit("pointerUp")}function de(ue){P&&(ue.stopPropagation(),ue.preventDefault(),P=!1)}function ye(){return k}return{init:R,destroy:q,pointerDown:ye}}function iCe(e,t){let s,i;function r(f){return f.timeStamp}function a(f,h){const p=`client${(h||e.scroll)==="x"?"X":"Y"}`;return(uT(f,t)?f:f.touches[0])[p]}function l(f){return s=f,i=f,a(f)}function c(f){const h=a(f)-a(i),m=r(f)-r(s)>170;return i=f,m&&(s=f),h}function u(f){if(!s||!i)return 0;const h=a(i)-a(s),m=r(f)-r(s),p=r(f)-r(i)>170,g=h/m;return m&&!p&&Es(g)>.1?g:0}return{pointerDown:l,pointerMove:c,pointerUp:u,readPoint:a}}function rCe(){function e(n){const{offsetTop:s,offsetLeft:i,offsetWidth:r,offsetHeight:a}=n;return{top:s,right:i+r,bottom:s+a,left:i,width:r,height:a}}return{measure:e}}function aCe(e){function t(s){return e*(s/100)}return{measure:t}}function oCe(e,t,n,s,i,r,a){const l=[e].concat(s);let c,u,d=[],f=!1;function h(v){return i.measureSize(a.measure(v))}function m(v){if(!r)return;u=h(e),d=s.map(h);function y(x){for(const E of x){if(f)return;const w=E.target===e,T=s.indexOf(E.target),S=w?u:d[T],N=h(w?e:s[T]);if(Es(N-S)>=.5){v.reInit(),t.emit("resize");break}}}c=new ResizeObserver(x=>{(Px(r)||r(v,x))&&y(x)}),n.requestAnimationFrame(()=>{l.forEach(x=>c.observe(x))})}function p(){f=!0,c&&c.disconnect()}return{init:m,destroy:p}}function lCe(e,t,n,s,i,r){let a=0,l=0,c=i,u=r,d=e.get(),f=0;function h(){const S=s.get()-e.get(),N=!c;let A=0;return N?(a=0,n.set(s),e.set(s),A=S):(n.set(e),a+=S/c,a*=u,d+=a,e.add(a),A=d-f),l=nA(A),f=d,T}function m(){const S=s.get()-t.get();return Es(S)<.001}function p(){return c}function g(){return l}function v(){return a}function y(){return E(i)}function x(){return w(r)}function E(S){return c=S,T}function w(S){return u=S,T}const T={direction:g,duration:p,velocity:v,seek:h,settled:m,useBaseFriction:x,useBaseDuration:y,useFriction:w,useDuration:E};return T}function cCe(e,t,n,s,i){const r=i.measure(10),a=i.measure(50),l=Jc(.1,.99);let c=!1;function u(){return!(c||!e.reachedAny(n.get())||!e.reachedAny(t.get()))}function d(m){if(!u())return;const p=e.reachedMin(t.get())?"min":"max",g=Es(e[p]-t.get()),v=n.get()-t.get(),y=l.constrain(g/a);n.subtract(v*y),!m&&Es(v){const{min:v,max:y}=r,x=r.constrain(p),E=!g,w=sA(n,g);return E?y:w||u(v,x)?v:u(y,x)?y:x}).map(p=>parseFloat(p.toFixed(3)))}function h(){if(t<=e+i)return[r.max];if(s==="keepSnaps")return a;const{min:p,max:g}=l;return a.slice(p,g)}return{snapsContained:c,scrollContainLimit:l}}function dCe(e,t,n){const s=t[0],i=n?s-e:xa(t);return{limit:Jc(i,s)}}function fCe(e,t,n,s){const r=t.min+.1,a=t.max+.1,{reachedMin:l,reachedMax:c}=Jc(r,a);function u(h){return h===1?c(n.get()):h===-1?l(n.get()):!1}function d(h){if(!u(h))return;const m=e*(h*-1);s.forEach(p=>p.add(m))}return{loop:d}}function hCe(e){const{max:t,length:n}=e;function s(r){const a=r-t;return n?a/-n:0}return{get:s}}function mCe(e,t,n,s,i){const{startEdge:r,endEdge:a}=e,{groupSlides:l}=i,c=f().map(t.measure),u=h(),d=m();function f(){return l(s).map(g=>xa(g)[a]-g[0][r]).map(Es)}function h(){return s.map(g=>n[r]-g[r]).map(g=>-Es(g))}function m(){return l(u).map(g=>g[0]).map((g,v)=>g+c[v])}return{snaps:u,snapsAligned:d}}function pCe(e,t,n,s,i,r){const{groupSlides:a}=i,{min:l,max:c}=s,u=d();function d(){const h=a(r),m=!e||t==="keepSnaps";return n.length===1?[r]:m?h:h.slice(l,c).map((p,g,v)=>{const y=!g,x=sA(v,g);if(y){const E=xa(v[0])+1;return y3(E)}if(x){const E=Eg(r)-xa(v)[0]+1;return y3(E,xa(v)[0])}return p})}return{slideRegistry:u}}function gCe(e,t,n,s,i){const{reachedAny:r,removeOffset:a,constrain:l}=s;function c(p){return p.concat().sort((g,v)=>Es(g)-Es(v))[0]}function u(p){const g=e?a(p):l(p),v=t.map((x,E)=>({diff:d(x-g,0),index:E})).sort((x,E)=>Es(x.diff)-Es(E.diff)),{index:y}=v[0];return{index:y,distance:g}}function d(p,g){const v=[p,p+n,p-n];if(!e)return p;if(!g)return c(v);const y=v.filter(x=>nA(x)===g);return y.length?c(y):xa(v)-n}function f(p,g){const v=t[p]-i.get(),y=d(v,g);return{index:p,distance:y}}function h(p,g){const v=i.get()+p,{index:y,distance:x}=u(v),E=!e&&r(v);if(!g||E)return{index:y,distance:p};const w=t[y]-x,T=p+d(w,0);return{index:y,distance:T}}return{byDistance:h,byIndex:f,shortcut:d}}function bCe(e,t,n,s,i,r,a){function l(f){const h=f.distance,m=f.index!==t.get();r.add(h),h&&(s.duration()?e.start():(e.update(),e.render(1),e.update())),m&&(n.set(t.get()),t.set(f.index),a.emit("select"))}function c(f,h){const m=i.byDistance(f,h);l(m)}function u(f,h){const m=t.clone().set(f),p=i.byIndex(m.get(),h);l(p)}return{distance:c,index:u}}function yCe(e,t,n,s,i,r,a,l){const c={passive:!0,capture:!0};let u=0;function d(m){if(!l)return;function p(g){if(new Date().getTime()-u>10)return;a.emit("slideFocusStart"),e.scrollLeft=0;const x=n.findIndex(E=>E.includes(g));tA(x)&&(i.useDuration(0),s.index(x,0),a.emit("slideFocus"))}r.add(document,"keydown",f,!1),t.forEach((g,v)=>{r.add(g,"focus",y=>{(Px(l)||l(m,y))&&p(v)},c)})}function f(m){m.code==="Tab"&&(u=new Date().getTime())}return{init:d}}function nm(e){let t=e;function n(){return t}function s(c){t=a(c)}function i(c){t+=a(c)}function r(c){t-=a(c)}function a(c){return tA(c)?c:c.get()}return{get:n,set:s,add:i,subtract:r}}function Oz(e,t){const n=e.scroll==="x"?a:l,s=t.style;let i=null,r=!1;function a(h){return`translate3d(${h}px,0px,0px)`}function l(h){return`translate3d(0px,${h}px,0px)`}function c(h){if(r)return;const m=JAe(e.direction(h));m!==i&&(s.transform=n(m),i=m)}function u(h){r=!h}function d(){r||(s.transform="",t.getAttribute("style")||t.removeAttribute("style"))}return{clear:d,to:c,toggleActive:u}}function xCe(e,t,n,s,i,r,a,l,c){const d=Ap(i),f=Ap(i).reverse(),h=y().concat(x());function m(N,A){return N.reduce((C,I)=>C-i[I],A)}function p(N,A){return N.reduce((C,I)=>m(C,A)>0?C.concat([I]):C,[])}function g(N){return r.map((A,C)=>({start:A-s[C]+.5+N,end:A+t-.5+N}))}function v(N,A,C){const I=g(A);return N.map(O=>{const L=C?0:-n,G=C?n:0,D=C?"end":"start",F=I[O][D];return{index:O,loopPoint:F,slideLocation:nm(-1),translate:Oz(e,c[O]),target:()=>l.get()>F?L:G}})}function y(){const N=a[0],A=p(f,N);return v(A,n,!1)}function x(){const N=t-a[0]-1,A=p(d,N);return v(A,-n,!0)}function E(){return h.every(({index:N})=>{const A=d.filter(C=>C!==N);return m(A,t)<=.1})}function w(){h.forEach(N=>{const{target:A,translate:C,slideLocation:I}=N,O=A();O!==I.get()&&(C.to(O),I.set(O))})}function T(){h.forEach(N=>N.translate.clear())}return{canLoop:E,clear:T,loop:w,loopPoints:h}}function ECe(e,t,n){let s,i=!1;function r(c){if(!n)return;function u(d){for(const f of d)if(f.type==="childList"){c.reInit(),t.emit("slidesChanged");break}}s=new MutationObserver(d=>{i||(Px(n)||n(c,d))&&u(d)}),s.observe(e,{childList:!0})}function a(){s&&s.disconnect(),i=!0}return{init:r,destroy:a}}function vCe(e,t,n,s){const i={};let r=null,a=null,l,c=!1;function u(){l=new IntersectionObserver(p=>{c||(p.forEach(g=>{const v=t.indexOf(g.target);i[v]=g}),r=null,a=null,n.emit("slidesInView"))},{root:e.parentElement,threshold:s}),t.forEach(p=>l.observe(p))}function d(){l&&l.disconnect(),c=!0}function f(p){return Cp(i).reduce((g,v)=>{const y=parseInt(v),{isIntersecting:x}=i[y];return(p&&x||!p&&!x)&&g.push(y),g},[])}function h(p=!0){if(p&&r)return r;if(!p&&a)return a;const g=f(p);return p&&(r=g),p||(a=g),g}return{init:u,destroy:d,get:h}}function wCe(e,t,n,s,i,r){const{measureSize:a,startEdge:l,endEdge:c}=e,u=n[0]&&i,d=p(),f=g(),h=n.map(a),m=v();function p(){if(!u)return 0;const x=n[0];return Es(t[l]-x[l])}function g(){if(!u)return 0;const x=r.getComputedStyle(xa(s));return parseFloat(x.getPropertyValue(`margin-${c}`))}function v(){return n.map((x,E,w)=>{const T=!E,S=sA(w,E);return T?h[E]+d:S?h[E]+f:w[E+1][l]-x[l]}).map(Es)}return{slideSizes:h,slideSizesWithGaps:m,startGap:d,endGap:f}}function SCe(e,t,n,s,i,r,a,l,c){const{startEdge:u,endEdge:d,direction:f}=e,h=tA(n);function m(y,x){return Ap(y).filter(E=>E%x===0).map(E=>y.slice(E,E+x))}function p(y){return y.length?Ap(y).reduce((x,E,w)=>{const T=xa(x)||0,S=T===0,N=E===Eg(y),A=i[u]-r[T][u],C=i[u]-r[E][d],I=!s&&S?f(a):0,O=!s&&N?f(l):0,L=Es(C-O-(A+I));return w&&L>t+c&&x.push(E),N&&x.push(y.length),x},[]).map((x,E,w)=>{const T=Math.max(w[E-1]||0);return y.slice(T,x)}):[]}function g(y){return h?m(y,n):p(y)}return{groupSlides:g}}function _Ce(e,t,n,s,i,r,a){const{align:l,axis:c,direction:u,startIndex:d,loop:f,duration:h,dragFree:m,dragThreshold:p,inViewThreshold:g,slidesToScroll:v,skipSnaps:y,containScroll:x,watchResize:E,watchSlides:w,watchDrag:T,watchFocus:S}=r,N=2,A=rCe(),C=A.measure(t),I=n.map(A.measure),O=nCe(c,u),L=O.measureSize(C),G=aCe(L),D=eCe(l,L),F=!f&&!!x,k=f||!!x,{slideSizes:j,slideSizesWithGaps:P,startGap:$,endGap:R}=wCe(O,C,I,n,k,i),q=SCe(O,L,v,f,C,I,$,R,N),{snaps:Q,snapsAligned:B}=mCe(O,D,C,I,q),ee=-xa(Q)+xa(P),{snapsContained:z,scrollContainLimit:K}=uCe(L,ee,B,x,N),ne=F?z:B,{limit:W}=dCe(ee,ne,f),de=jz(Eg(ne),d,f),ye=de.clone(),_e=Ap(n),ue=({dragHandler:Pe,scrollBody:Ye,scrollBounds:bt,options:{loop:ot}})=>{ot||bt.constrain(Pe.pointerDown()),Ye.seek()},me=({scrollBody:Pe,translate:Ye,location:bt,offsetLocation:ot,previousLocation:fn,scrollLooper:It,slideLooper:Et,dragHandler:yt,animation:$e,eventHandler:qt,scrollBounds:it,options:{loop:vt}},Xe)=>{const Tt=Pe.settled(),we=!it.shouldConstrain(),Ue=vt?Tt:Tt&&we,St=Ue&&!yt.pointerDown();St&&$e.stop();const Qt=bt.get()*Xe+fn.get()*(1-Xe);ot.set(Qt),vt&&(It.loop(Pe.direction()),Et.loop()),Ye.to(ot.get()),St&&qt.emit("settle"),Ue||qt.emit("scroll")},Ce=tCe(s,i,()=>ue(ge),Pe=>me(ge,Pe)),pe=.68,oe=ne[de.get()],ve=nm(oe),xe=nm(oe),Ze=nm(oe),De=nm(oe),Ve=lCe(ve,Ze,xe,De,h,pe),Se=gCe(f,ne,ee,W,De),Fe=bCe(Ce,de,ye,Ve,Se,De,a),He=hCe(W),Ge=Ip(),X=vCe(t,n,a,g),{slideRegistry:ie}=pCe(F,x,ne,K,q,_e),se=yCe(e,n,ie,Fe,Ve,Ge,a,S),ge={ownerDocument:s,ownerWindow:i,eventHandler:a,containerRect:C,slideRects:I,animation:Ce,axis:O,dragHandler:sCe(O,e,s,i,De,iCe(O,i),ve,Ce,Fe,Ve,Se,de,a,G,m,p,y,pe,T),eventStore:Ge,percentOfView:G,index:de,indexPrevious:ye,limit:W,location:ve,offsetLocation:Ze,previousLocation:xe,options:r,resizeHandler:oCe(t,a,i,n,O,E,A),scrollBody:Ve,scrollBounds:cCe(W,Ze,De,Ve,G),scrollLooper:fCe(ee,W,Ze,[ve,Ze,xe,De]),scrollProgress:He,scrollSnapList:ne.map(He.get),scrollSnaps:ne,scrollTarget:Se,scrollTo:Fe,slideLooper:xCe(O,L,ee,j,P,Q,ne,Ze,n),slideFocus:se,slidesHandler:ECe(t,a,w),slidesInView:X,slideIndexes:_e,slideRegistry:ie,slidesToScroll:q,target:De,translate:Oz(O,t)};return ge}function TCe(){let e={},t;function n(u){t=u}function s(u){return e[u]||[]}function i(u){return s(u).forEach(d=>d(t,u)),c}function r(u,d){return e[u]=s(u).concat([d]),c}function a(u,d){return e[u]=s(u).filter(f=>f!==d),c}function l(){e={}}const c={init:n,emit:i,off:a,on:r,clear:l};return c}const NCe={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function kCe(e){function t(r,a){return Rz(r,a||{})}function n(r){const a=r.breakpoints||{},l=Cp(a).filter(c=>e.matchMedia(c).matches).map(c=>a[c]).reduce((c,u)=>t(c,u),{});return t(r,l)}function s(r){return r.map(a=>Cp(a.breakpoints||{})).reduce((a,l)=>a.concat(l),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:n,optionsMediaQueries:s}}function ACe(e){let t=[];function n(r,a){return t=a.filter(({options:l})=>e.optionsAtMedia(l).active!==!1),t.forEach(l=>l.init(r,e)),a.reduce((l,c)=>Object.assign(l,{[c.name]:c}),{})}function s(){t=t.filter(r=>r.destroy())}return{init:n,destroy:s}}function Jy(e,t,n){const s=e.ownerDocument,i=s.defaultView,r=kCe(i),a=ACe(r),l=Ip(),c=TCe(),{mergeOptions:u,optionsAtMedia:d,optionsMediaQueries:f}=r,{on:h,off:m,emit:p}=c,g=O;let v=!1,y,x=u(NCe,Jy.globalOptions),E=u(x),w=[],T,S,N;function A(){const{container:_e,slides:ue}=E;S=(cT(_e)?e.querySelector(_e):_e)||e.children[0];const Ce=cT(ue)?S.querySelectorAll(ue):ue;N=[].slice.call(Ce||S.children)}function C(_e){const ue=_Ce(e,S,N,s,i,_e,c);if(_e.loop&&!ue.slideLooper.canLoop()){const me=Object.assign({},_e,{loop:!1});return C(me)}return ue}function I(_e,ue){v||(x=u(x,_e),E=d(x),w=ue||w,A(),y=C(E),f([x,...w.map(({options:me})=>me)]).forEach(me=>l.add(me,"change",O)),E.active&&(y.translate.to(y.location.get()),y.animation.init(),y.slidesInView.init(),y.slideFocus.init(ye),y.eventHandler.init(ye),y.resizeHandler.init(ye),y.slidesHandler.init(ye),y.options.loop&&y.slideLooper.loop(),S.offsetParent&&N.length&&y.dragHandler.init(ye),T=a.init(ye,w)))}function O(_e,ue){const me=q();L(),I(u({startIndex:me},_e),ue),c.emit("reInit")}function L(){y.dragHandler.destroy(),y.eventStore.clear(),y.translate.clear(),y.slideLooper.clear(),y.resizeHandler.destroy(),y.slidesHandler.destroy(),y.slidesInView.destroy(),y.animation.destroy(),a.destroy(),l.clear()}function G(){v||(v=!0,l.clear(),L(),c.emit("destroy"),c.clear())}function D(_e,ue,me){!E.active||v||(y.scrollBody.useBaseFriction().useDuration(ue===!0?0:E.duration),y.scrollTo.index(_e,me||0))}function F(_e){const ue=y.index.add(1).get();D(ue,_e,-1)}function k(_e){const ue=y.index.add(-1).get();D(ue,_e,1)}function j(){return y.index.add(1).get()!==q()}function P(){return y.index.add(-1).get()!==q()}function $(){return y.scrollSnapList}function R(){return y.scrollProgress.get(y.offsetLocation.get())}function q(){return y.index.get()}function Q(){return y.indexPrevious.get()}function B(){return y.slidesInView.get()}function ee(){return y.slidesInView.get(!1)}function z(){return T}function K(){return y}function ne(){return e}function W(){return S}function de(){return N}const ye={canScrollNext:j,canScrollPrev:P,containerNode:W,internalEngine:K,destroy:G,off:m,on:h,emit:p,plugins:z,previousScrollSnap:Q,reInit:g,rootNode:ne,scrollNext:F,scrollPrev:k,scrollProgress:R,scrollSnapList:$,scrollTo:D,selectedScrollSnap:q,slideNodes:de,slidesInView:B,slidesNotInView:ee};return I(t,n),setTimeout(()=>c.emit("init"),0),ye}Jy.globalOptions=void 0;function iA(e={},t=[]){const n=b.useRef(e),s=b.useRef(t),[i,r]=b.useState(),[a,l]=b.useState(),c=b.useCallback(()=>{i&&i.reInit(n.current,s.current)},[i]);return b.useEffect(()=>{eA(n.current,e)||(n.current=e,c())},[e,c]),b.useEffect(()=>{QAe(s.current,t)||(s.current=t,c())},[t,c]),b.useEffect(()=>{if(XAe()&&a){Jy.globalOptions=iA.globalOptions;const u=Jy(a,n.current,s.current);return r(u),()=>u.destroy()}else r(void 0)},[a,r]),[l,i]}iA.globalOptions=void 0;const Mz=b.createContext(null);function vg(...e){return e.filter(Boolean).join(" ")}function Bx(){const e=b.useContext(Mz);if(!e)throw new Error("useCarousel must be used within a ");return e}function CCe({orientation:e="horizontal",opts:t,setApi:n,plugins:s,className:i,children:r,...a}){const[l,c]=iA({...t,axis:e==="horizontal"?"x":"y"},s),[u,d]=b.useState(!1),[f,h]=b.useState(!1),m=b.useCallback(y=>{y&&(d(y.canScrollPrev()),h(y.canScrollNext()))},[]),p=b.useCallback(()=>c==null?void 0:c.scrollPrev(),[c]),g=b.useCallback(()=>c==null?void 0:c.scrollNext(),[c]),v=b.useCallback(y=>{y.key==="ArrowLeft"?(y.preventDefault(),p()):y.key==="ArrowRight"&&(y.preventDefault(),g())},[g,p]);return b.useEffect(()=>{c&&n&&n(c)},[c,n]),b.useEffect(()=>{if(c)return m(c),c.on("reInit",m),c.on("select",m),()=>{c.off("reInit",m),c.off("select",m)}},[c,m]),o.jsx(Mz.Provider,{value:{carouselRef:l,api:c,opts:t,orientation:e,plugins:s,setApi:n,scrollPrev:p,scrollNext:g,canScrollPrev:u,canScrollNext:f},children:o.jsx("div",{onKeyDownCapture:v,className:vg("ui-carousel",i),role:"region","aria-roledescription":"carousel","aria-orientation":e,"data-slot":"carousel",...a,children:r})})}function ICe({className:e,...t}){const{carouselRef:n,orientation:s}=Bx();return o.jsx("div",{ref:n,className:"ui-carousel__viewport","data-slot":"carousel-content",children:o.jsx("div",{className:vg("ui-carousel__track",s==="vertical"?"is-vertical":void 0,e),...t})})}function RCe({className:e,...t}){const{orientation:n}=Bx();return o.jsx("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:vg("ui-carousel__item",n==="vertical"?"is-vertical":void 0,e),...t})}function Lz({direction:e}){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:e==="left"?"m10 3.75-4.25 4.25L10 12.25":"m6 3.75 4.25 4.25L6 12.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function jCe({className:e,...t}){const{orientation:n,scrollPrev:s,canScrollPrev:i}=Bx();return o.jsx("button",{type:"button","data-slot":"carousel-previous",className:vg("ui-carousel__control ui-carousel__control--previous",n==="vertical"?"is-vertical":void 0,e),disabled:!i,onClick:s,"aria-label":"上一张",...t,children:o.jsx(Lz,{direction:"left"})})}function OCe({className:e,...t}){const{orientation:n,scrollNext:s,canScrollNext:i}=Bx();return o.jsx("button",{type:"button","data-slot":"carousel-next",className:vg("ui-carousel__control ui-carousel__control--next",n==="vertical"?"is-vertical":void 0,e),disabled:!i,onClick:s,"aria-label":"下一张",...t,children:o.jsx(Lz,{direction:"right"})})}const x3=[{title:"随心应变",description:"支持多类 Agent",illustration:"agents"},{title:"一键成型",description:"自动构建 Agent",illustration:"build"},{title:"一搜即达",description:"全局搜索",illustration:"search"},{title:"开箱即用",description:"丰富内置工具",illustration:"tools"}];function MCe(e){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",...e,children:o.jsx("path",{d:"m4.25 4.25 7.5 7.5m0-7.5-7.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function LCe({kind:e}){return e==="agents"?o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsx("g",{className:"new-chat-feature-card__illustration-connectors",children:o.jsx("path",{d:"M43 27.5V33.5H22V38.5M43 33.5H64V38.5"})}),o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"33",y:"6.5",width:"20",height:"21",rx:"6"}),o.jsx("rect",{x:"9",y:"38.5",width:"26",height:"19",rx:"6"}),o.jsx("rect",{x:"51",y:"38.5",width:"26",height:"19",rx:"6"})]}),o.jsxs("g",{className:"new-chat-feature-card__illustration-details",children:[o.jsx("circle",{className:"new-chat-feature-card__illustration-dot",cx:"40",cy:"14.5",r:"1.25"}),o.jsx("circle",{className:"new-chat-feature-card__illustration-dot",cx:"46",cy:"14.5",r:"1.25"}),o.jsx("path",{d:"M39.5 21h7M17 46.5h10M17 51.5h7M59 46.5h10M59 51.5h7"})]})]}):e==="build"?o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsx("g",{className:"new-chat-feature-card__illustration-connectors",children:o.jsx("path",{d:"M26.5 39H36M50 39h9.5"})}),o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"5.5",y:"7.5",width:"75",height:"49",rx:"7.5"}),o.jsx("rect",{x:"12.5",y:"31.5",width:"14",height:"15",rx:"4"}),o.jsx("rect",{x:"36",y:"31.5",width:"14",height:"15",rx:"4"}),o.jsx("rect",{x:"59.5",y:"31.5",width:"14",height:"15",rx:"4"})]}),o.jsx("g",{className:"new-chat-feature-card__illustration-details",children:o.jsx("path",{d:"M6 20.5h74M13.5 14h.01m6 0h.01m6 0h.01M17 39h5m18.5 0h5m18-1 2.5 2.5 4-5"})})]}):e==="search"?o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"7.5",y:"9.5",width:"41",height:"16",rx:"5"}),o.jsx("rect",{x:"7.5",y:"35.5",width:"34",height:"18",rx:"5"}),o.jsx("circle",{cx:"61",cy:"33",r:"10.5"})]}),o.jsx("g",{className:"new-chat-feature-card__illustration-details",children:o.jsx("path",{d:"M14.5 16h21M14.5 21h14M14.5 42.5h17M14.5 47.5h11M68.5 40.5 77 49"})})]}):o.jsxs("svg",{className:"new-chat-feature-card__illustration",viewBox:"0 0 86 64","aria-hidden":"true",children:[o.jsxs("g",{className:"new-chat-feature-card__illustration-surfaces",children:[o.jsx("rect",{x:"8.5",y:"7.5",width:"29",height:"21",rx:"6"}),o.jsx("rect",{x:"48.5",y:"7.5",width:"29",height:"21",rx:"6"}),o.jsx("rect",{x:"8.5",y:"35.5",width:"29",height:"21",rx:"6"}),o.jsx("rect",{x:"48.5",y:"35.5",width:"29",height:"21",rx:"6"})]}),o.jsx("g",{className:"new-chat-feature-card__illustration-details",children:o.jsx("path",{d:"M23 13.5v9m-4.5-4.5h9M56.5 14.5h13M56.5 21.5h13M16.5 42.5h13M16.5 49.5h9M56.5 42.5h13M56.5 49.5h13"})})]})}function DCe(){const[e,t]=b.useState(),[n,s]=b.useState(!1),[i,r]=b.useState(!1),[a,l]=b.useState(!1),[c,u]=b.useState(!0);return b.useEffect(()=>{if(!c)return;const d=window.matchMedia("(prefers-reduced-motion: reduce)"),f=()=>l(d.matches);return f(),d.addEventListener("change",f),()=>d.removeEventListener("change",f)},[c]),b.useEffect(()=>{if(!c||!e||n||i||a)return;const d=window.setInterval(()=>e.scrollNext(),6e3);return()=>window.clearInterval(d)},[e,i,n,a,c]),c?o.jsxs(CCe,{className:"new-chat-feature-carousel",opts:{align:"start",loop:!0},setApi:t,"aria-label":"新特性预览",onPointerEnter:()=>s(!0),onPointerLeave:()=>s(!1),onFocusCapture:()=>r(!0),onBlurCapture:d=>{d.currentTarget.contains(d.relatedTarget)||r(!1)},children:[o.jsx(jCe,{"aria-label":"上一张新特性"}),o.jsx(ICe,{children:x3.map((d,f)=>o.jsx(RCe,{"aria-label":`${f+1} / ${x3.length}`,children:o.jsxs("article",{className:"new-chat-feature-card",children:[o.jsxs("div",{className:"new-chat-feature-card__copy",children:[o.jsx("strong",{children:d.title}),o.jsx("span",{children:d.description})]}),o.jsx(LCe,{kind:d.illustration})]})},d.title))}),o.jsx("button",{type:"button",className:"new-chat-feature-carousel__close","aria-label":"关闭新特性轮播",onClick:()=>u(!1),children:o.jsx(MCe,{})}),o.jsx(OCe,{"aria-label":"下一张新特性"})]}):null}const PCe=3*60*1e3,BCe=3e3,UCe=10*60*1e3,e1="veadk.studio.pending-update",E3=[{id:"resolving",label:"读取目标版本信息"},{id:"downloading",label:"下载并校验完整更新包"},{id:"preparing",label:"准备 VeFaaS Function 代码"},{id:"submitting",label:"提交 Function 更新"},{id:"publishing",label:"发布新 Revision 并重启服务"}],FCe={resolving:"读取版本信息",downloading:"下载更新包",preparing:"准备 Function 代码",submitting:"提交 Function 更新",publishing:"发布 Revision",checking:"检查更新",unknown:"未知阶段"};function $Ce(e){return e<60?`${e} 秒`:`${Math.floor(e/60)} 分 ${e%60} 秒`}function HCe(e,t){return e===t?!0:/^\d{14}$/.test(e)&&/^\d{14}$/.test(t)&&e>t}function zCe(){if(typeof window>"u")return null;const e=window.localStorage.getItem(e1);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(e1),null}function Ew(e,t){window.localStorage.setItem(e1,JSON.stringify({targetVersion:e,startedAt:t}))}function z0(){window.localStorage.removeItem(e1)}function v3({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M19.2 8.3A8 8 0 1 0 20 13"}),o.jsx("path",{d:"M19.2 4.8v3.5h-3.5"}),o.jsx("path",{d:"M12 7.8v7.7"}),o.jsx("path",{d:"m9.2 12.7 2.8 2.8 2.8-2.8"})]})}function VCe(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m4 6 4 4 4-4"})})}function GCe(){return o.jsx("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:o.jsx("path",{d:"m3.5 8.2 2.8 2.8 6.2-6"})})}function w3({lines:e,phase:t,copyState:n,onCopy:s}){const i=b.useRef(null),r=b.useRef(!0);return b.useEffect(()=>{const a=i.current;a&&r.current&&(a.scrollTop=a.scrollHeight)},[e]),o.jsxs("section",{className:"studio-update-live-log","aria-label":"VeFaaS 更新日志",children:[o.jsxs("div",{className:"studio-update-log-header",children:[o.jsxs("span",{children:[o.jsx("i",{className:`is-${t}`,"aria-hidden":!0}),"VeFaaS 更新日志",o.jsx("small",{children:t==="active"?"实时":t==="complete"?"已完成":"已停止"})]}),o.jsx("button",{type:"button",onClick:s,disabled:!e.length,children:n==="copied"?"已复制":n==="error"?"复制失败":"复制日志"})]}),o.jsx("div",{ref:i,className:"studio-update-log-lines",role:"log","aria-live":"off",tabIndex:0,onScroll:a=>{const l=a.currentTarget;r.current=l.scrollHeight-l.scrollTop-l.clientHeight<24},children:e.length?e.map((a,l)=>o.jsx("div",{children:a},`${l}-${a}`)):o.jsx("p",{children:t==="active"?"等待 VeFaaS 返回更新日志…":"本次更新未返回发布日志"})})]})}function KCe({variant:e="default"}){var D,F;const[t]=b.useState(zCe),[n,s]=b.useState(null),[i,r]=b.useState(t?"submitting":"idle"),[a,l]=b.useState(!1),[c,u]=b.useState(""),[d,f]=b.useState((t==null?void 0:t.targetVersion)??""),[h,m]=b.useState(!1),[p,g]=b.useState("idle"),[v,y]=b.useState(0),x=b.useRef(null),E=b.useRef((t==null?void 0:t.targetVersion)??""),w=b.useRef((t==null?void 0:t.startedAt)??0);b.useEffect(()=>{if(!h)return;const k=P=>{var $;P.target instanceof Node&&!(($=x.current)!=null&&$.contains(P.target))&&m(!1)},j=P=>{P.key==="Escape"&&m(!1)};return window.addEventListener("pointerdown",k),window.addEventListener("keydown",j),()=>{window.removeEventListener("pointerdown",k),window.removeEventListener("keydown",j)}},[h]);const T=b.useCallback(async()=>{const k=await lB(E.current||void 0,w.current||void 0);return s(k),k},[]);if(b.useEffect(()=>{let k=!0;const j=()=>{T().catch(()=>{k&&s($=>$)})};j();const P=window.setInterval(j,PCe);return()=>{k=!1,window.clearInterval(P)}},[T]),b.useEffect(()=>{if(i!=="submitting")return;const k=window.setInterval(()=>{T().then(j=>{const P=E.current;if(P&&HCe(j.currentVersion,P)||!P&&!j.available&&j.latestVersion){window.clearInterval(k),z0(),r("published"),u("Studio 已更新,刷新页面即可使用新版本");return}if(j.state==="error"){window.clearInterval(k),z0(),r("error"),u(j.message||"Studio 更新失败");return}Date.now()-w.current>UCe&&(window.clearInterval(k),z0(),r("error"),u("等待 VeFaaS 发布超时,请稍后重新检查版本"))}).catch(()=>{})},BCe);return()=>window.clearInterval(k)},[i,T]),b.useEffect(()=>{i!=="idle"||(n==null?void 0:n.state)!=="updating"||(E.current=n.targetVersion,w.current=n.startedAt||Date.now(),Ew(n.targetVersion,w.current),f(n.targetVersion),r("submitting"))},[i,n]),b.useEffect(()=>{if(i!=="submitting"){y(0);return}const k=()=>{const P=w.current||Date.now();y(Math.max(0,Math.floor((Date.now()-P)/1e3)))};k();const j=window.setInterval(k,1e3);return()=>window.clearInterval(j)},[i]),!(n!=null&&n.enabled)||!(n.available||n.state==="updating"||i!=="idle"))return null;const N=n.releases??[],A=d||((D=N[0])==null?void 0:D.version)||n.latestVersion,C=N.find(k=>k.version===A),I=async()=>{E.current=A,w.current=Date.now(),Ew(A,w.current),r("submitting"),u(""),g("idle");try{const k=await cB(A);E.current=k.version,Ew(k.version,w.current),u("更新已提交,正在等待 VeFaaS 发布新版本")}catch(k){if(k instanceof TypeError){u("连接已切换,正在确认新版本状态");return}z0(),r("error");const j=k instanceof Error?k.message:"Studio 更新失败";try{const P=await T();u(P.message||j)}catch{u(j)}}},O=(F=n.updateLogs)!=null&&F.length?n.updateLogs:(n.errorLog||n.progressMessage||c).split(` +`).filter(Boolean),L=async()=>{try{await navigator.clipboard.writeText(O.join(` +`)),g("copied")}catch{g("error")}},G=()=>{var k;m(!1),g("idle"),u(""),f(E.current||((k=N[0])==null?void 0:k.version)||""),r("confirm")};return o.jsxs(o.Fragment,{children:[o.jsxs("button",{type:"button",className:e==="feature-link"?"welcome-feature-link studio-update-trigger--feature":`studio-update-trigger is-${i}`,title:i==="submitting"?"正在更新 Studio":i==="published"?"Studio 已更新":`更新 Studio 至 ${n.latestVersion}`,onClick:()=>{var k;i==="published"?window.location.reload():(i==="submitting"||i==="error"||(f(((k=N[0])==null?void 0:k.version)||n.latestVersion),r("confirm")),l(!0))},children:[e!=="feature-link"&&o.jsx(v3,{className:"studio-update-icon"}),i==="submitting"?o.jsx(Vl,{as:"span",children:"正在更新"}):i==="published"?o.jsx("span",{children:"刷新使用新版"}):i==="error"?o.jsx("span",{children:"更新失败"}):e==="feature-link"?o.jsx("span",{children:"立即更新"}):o.jsx("span",{children:"有新版更新"})]}),a&&i!=="idle"&&o.jsx("div",{className:"confirm-scrim",role:"presentation",children:o.jsxs("section",{className:"confirm-box studio-update-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"studio-update-title",children:[o.jsx("div",{className:"studio-update-dialog-mark",children:o.jsx(v3,{})}),o.jsx("div",{id:"studio-update-title",className:"confirm-title",children:i==="error"?"Studio 更新失败":i==="submitting"?"正在更新 Studio":i==="published"?"Studio 更新完成":"发现新版本"}),i==="error"?o.jsxs("div",{className:"studio-update-error-panel",children:[o.jsx("p",{className:"confirm-text studio-update-error",children:c}),o.jsxs("dl",{className:"studio-update-error-meta",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"失败阶段"}),o.jsx("dd",{children:FCe[n.errorStage]||n.errorStage||"未知阶段"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"错误 ID"}),o.jsx("dd",{children:n.errorId||"未生成"})]})]}),o.jsx(w3,{lines:O,phase:"error",copyState:p,onCopy:()=>void L()}),n.consoleUrl&&o.jsxs("a",{className:"studio-update-console-link",href:n.consoleUrl,target:"_blank",rel:"noreferrer",children:["前往 VeFaaS 控制台查看 Function 日志",o.jsx("span",{"aria-hidden":!0,children:"↗"})]})]}):i==="submitting"||i==="published"?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"studio-update-progress-summary",children:[o.jsxs("div",{children:[o.jsx("span",{children:"目标版本"}),o.jsx("strong",{children:E.current||A})]}),o.jsxs("div",{children:[o.jsx("span",{children:i==="published"?"更新状态":"已用时"}),o.jsx("strong",{children:i==="published"?"已完成":$Ce(v)})]})]}),o.jsx("ol",{className:"studio-update-progress","aria-label":"Studio 更新进度",children:E3.map((k,j)=>{const P=E3.findIndex(q=>q.id===n.progressStage),$=i==="published"||jvoid L()}),o.jsx("p",{className:"studio-update-progress-note",children:"发布阶段会短暂中断连接;关闭此窗口不会停止更新,可随时点击右上角按钮重新查看。"})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"confirm-text",children:"更新会重启 Studio 服务,预计约 3–5 分钟完成更新与发布。期间正在进行的对话、 流式响应或部署任务可能中断,登录态不会受到影响。"}),o.jsxs("div",{className:"studio-update-field",ref:x,children:[o.jsx("span",{children:"选择版本"}),o.jsxs("button",{type:"button",className:"studio-update-version-trigger","aria-label":"选择版本","aria-haspopup":"listbox","aria-expanded":h,onClick:()=>m(k=>!k),onKeyDown:k=>{(k.key==="ArrowDown"||k.key==="ArrowUp")&&(k.preventDefault(),m(!0))},children:[o.jsx("span",{children:A}),o.jsx(VCe,{})]}),h&&o.jsx("div",{className:"studio-update-version-menu",role:"listbox","aria-label":"选择版本",children:N.map(k=>{const j=k.version===A;return o.jsxs("button",{type:"button",role:"option","aria-selected":j,className:`studio-update-version-option${j?" is-selected":""}`,onClick:()=>{f(k.version),m(!1)},children:[o.jsx("span",{children:k.version}),j&&o.jsx(GCe,{})]},k.version)})})]}),o.jsxs("dl",{className:"studio-update-versions",children:[o.jsxs("div",{children:[o.jsx("dt",{children:"当前版本"}),o.jsx("dd",{children:n.currentVersion})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"目标版本"}),o.jsx("dd",{children:A})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"Commit"}),o.jsx("dd",{children:((C==null?void 0:C.gitSha)||n.latestGitSha).slice(0,8)})]})]}),o.jsxs("section",{className:"studio-update-changelog","aria-labelledby":"studio-update-changelog-title",children:[o.jsx("div",{id:"studio-update-changelog-title",children:"更新内容"}),C!=null&&C.changelog.length?o.jsx("ul",{children:C.changelog.map(k=>o.jsx("li",{children:k},k))}):o.jsx("p",{children:"暂无更新说明"})]})]}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{type:"button",className:"confirm-btn",onClick:()=>{l(!1),m(!1),i==="confirm"&&(r("idle"),u(""))},children:i==="submitting"?"后台运行":i==="confirm"?"取消":"关闭"}),i==="confirm"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:()=>void I(),children:"立即更新"}),i==="error"&&o.jsx("button",{type:"button",className:"confirm-btn studio-update-confirm",onClick:G,children:"重新尝试"})]})]})})]})}const qCe=[{title:"多地域智能体",description:"并行加载北京与上海 Runtime,列表下滑即可继续加载。"},{title:"会话内切换",description:"在输入框旁选择智能体,并直接开启一段新会话。"},{title:"可视化执行画布",description:"通过横向画布查看多智能体结构,并支持全屏浏览。"}];function YCe({canUpdate:e=!1}){return o.jsxs("div",{className:"welcome-feature-pill",children:[o.jsx("span",{children:"焕然一新"}),o.jsx("span",{className:"welcome-feature-divider","aria-hidden":"true"}),o.jsx("button",{type:"button",className:"welcome-feature-link","aria-describedby":"welcome-feature-popover",children:"查看新特性"}),o.jsxs("section",{id:"welcome-feature-popover",className:"welcome-feature-popover",role:"tooltip",children:[o.jsx("strong",{children:"本次更新"}),o.jsx("ul",{children:qCe.map(t=>o.jsxs("li",{children:[o.jsx("span",{children:t.title}),o.jsx("p",{children:t.description})]},t.title))})]}),e&&o.jsx(KCe,{variant:"feature-link"})]})}const WCe=1e4;async function Dz(e){const t=await fetch(kn(e),{headers:j1({Accept:"application/json"}),signal:Ln(void 0,WCe)});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 XCe(){return Dz("/web/sandbox/capabilities")}async function QCe(){return Dz("/web/skill-creator/capabilities")}const ZCe="我的智能体";function JCe({open:e,state:t,agentKind:n="codex",error:s,onCancel:i,onConfirm:r}){const a=n==="codex"?"Codex":n==="openclaw"?"OpenClaw":"Hermes",l=n==="codex"?ZCe:`我的 ${a}`,c=b.useRef(null),u=b.useRef(null),d=b.useRef(null),f=b.useRef(!1),h=b.useRef(i),[m,p]=b.useState(l);if(h.current=i,b.useEffect(()=>{if(!e)return;p(l);const x=document.body.style.overflow;document.body.style.overflow="hidden";const E=window.requestAnimationFrame(()=>{var T,S;(T=u.current)==null||T.focus(),(S=u.current)==null||S.select()}),w=T=>{var C;if(T.key==="Escape"){T.preventDefault(),h.current();return}if(T.key!=="Tab")return;const S=(C=c.current)==null?void 0:C.querySelectorAll("input:not(:disabled), button:not(:disabled)");if(!(S!=null&&S.length))return;const N=S[0],A=S[S.length-1];T.shiftKey&&document.activeElement===N?(T.preventDefault(),A.focus()):!T.shiftKey&&document.activeElement===A&&(T.preventDefault(),N.focus())};return window.addEventListener("keydown",w),()=>{window.cancelAnimationFrame(E),document.body.style.overflow=x,window.removeEventListener("keydown",w)}},[l,e]),!e)return null;const g=t==="loading",v=m.trim(),y=g?`正在创建 ${a} 智能体`:t==="error"?"启动失败":`创建 ${a} 智能体`;return Si.createPortal(o.jsx("div",{className:"sandbox-dialog-backdrop",onMouseDown:x=>{x.target===x.currentTarget&&!g&&i()},children:o.jsxs("form",{ref:c,className:"sandbox-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"sandbox-dialog-title","aria-describedby":t==="confirm"?void 0:"sandbox-dialog-description",onSubmit:x=>{x.preventDefault(),!g&&!f.current&&v&&r(v)},children:[o.jsxs("div",{className:"sandbox-dialog-visual","aria-hidden":"true",children:[o.jsx("span",{className:"sandbox-dialog-orbit"}),o.jsx("span",{className:"sandbox-dialog-icon",children:g?o.jsx("span",{className:"sandbox-spinner"}):o.jsx(Tp,{kind:n})})]}),o.jsxs("div",{className:"sandbox-dialog-copy",children:[o.jsx("h2",{id:"sandbox-dialog-title",children:y}),t==="error"?o.jsx("p",{id:"sandbox-dialog-description",className:"sandbox-dialog-error",role:"alert",children:s||"AgentKit 沙箱初始化失败,请稍后重新尝试。"}):g?o.jsxs("p",{id:"sandbox-dialog-description","aria-live":"polite",children:["正在创建并等待 ",a," 智能体就绪,这通常需要半分钟"]}):null,o.jsxs("label",{className:"sandbox-dialog-field",children:[o.jsxs("span",{className:"sandbox-dialog-field-label",children:[o.jsx("span",{children:"智能体名称"}),o.jsxs("span",{"aria-hidden":"true",children:[m.length,"/",pL]})]}),o.jsx("input",{ref:u,type:"text",required:!0,value:m,maxLength:pL,disabled:g,placeholder:l,autoComplete:"off",onChange:x=>p(x.target.value),onCompositionStart:()=>{f.current=!0},onCompositionEnd:()=>{f.current=!1},onKeyDown:x=>{const{nativeEvent:E}=x;x.key==="Enter"&&(f.current||E.isComposing||E.keyCode===229)&&x.preventDefault()}})]})]}),o.jsxs("footer",{className:"sandbox-dialog-actions",children:[o.jsx("button",{ref:d,type:"button",onClick:i,children:g?"取消创建":"取消"}),!g&&o.jsx("button",{type:"submit",className:"is-primary",disabled:!v,children:t==="error"?"重新尝试":"确认创建"})]})]})}),document.body)}function eIe({agentName:e,onExit:t}){return o.jsxs("div",{className:"sandbox-session-warning",role:"status",children:[o.jsx("span",{className:"sandbox-session-warning-dot","aria-hidden":"true"}),o.jsxs("span",{className:"sandbox-session-warning-copy",children:["当前您在使用 ",e," 智能体"]}),o.jsx("button",{type:"button",onClick:t,children:"退出内置智能体"})]})}function tIe({activity:e,time:t}){var n;return o.jsxs("aside",{className:"sandbox-activity-record",role:"status","aria-label":"Sandbox 操作记录",children:[o.jsxs("div",{className:"sandbox-activity-summary",children:[o.jsx("span",{className:"sandbox-activity-dot","aria-hidden":"true"}),o.jsx("span",{className:"sandbox-activity-label",children:"操作记录"}),o.jsx("strong",{children:e.title}),t?o.jsx("time",{children:t}):null]}),(n=e.details)!=null&&n.length?o.jsx("dl",{className:"sandbox-activity-details",children:e.details.map(s=>o.jsxs("div",{children:[o.jsx("dt",{children:s.label}),o.jsx("dd",{title:s.value,children:s.code?o.jsx("code",{children:s.value}):s.value})]},`${s.label}:${s.value}`))}):null]})}function nIe(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 sIe({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 o.jsx("div",{className:"sandbox-token-usage","aria-label":"Codex Token 用量",children:t.map(([n,s])=>o.jsxs("span",{title:`${n}: ${s.toLocaleString()} tokens`,children:[o.jsx("small",{children:n}),o.jsx("strong",{children:nIe(s)})]},n))})}function Pz(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("path",{d:"m7.5 9 2.7 2.5L7.5 14M12.7 14h3.8"}),o.jsx("path",{d:"M3.8 7.5h16.4",opacity:".55"})]})}function Bz(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("path",{d:"M3.8 8h16.4"}),o.jsx("circle",{cx:"6.5",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),o.jsx("circle",{cx:"8.8",cy:"6.3",r:".65",fill:"currentColor",stroke:"none"}),o.jsx("path",{d:"m9 15 2.2-4 1.6 2.4 1.1-1.2L16 15H9Z"})]})}function rA(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.jsx("path",{d:"m8.8 12 2 2 4.4-4.4"})]})}function Ib(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.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"}),o.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"}),o.jsx("path",{d:"M12 13v3M10.5 14.5h3"})]})}function iIe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M12 5v14M5 12h14"})})}function rIe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6.5 11.5 5.5-5.5 5.5 5.5M12 6v12"})})}function aIe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2.5"}),o.jsx("circle",{cx:"8.5",cy:"9",r:"1.4"}),o.jsx("path",{d:"m5.5 17 4.2-4.2 2.6 2.4 2.1-2.1 4.1 3.9"})]})}function oIe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M6 3.5h7l5 5v12H6z"}),o.jsx("path",{d:"M13 3.5v5h5M9 13h6M9 16h5"})]})}function lIe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("rect",{x:"3.5",y:"5",width:"13.5",height:"14",rx:"2.5"}),o.jsx("path",{d:"m17 10 3.5-2v8L17 14zM7 8.5h4.5"})]})}function cIe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.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 uIe(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m6.5 6.5 11 11M17.5 6.5l-11 11"})})}function dT(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"m9 6 6 6-6 6"})})}function dIe(e){return o.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:[o.jsx("path",{d:"M4.8 8.2A8 8 0 1 1 4 12M4.8 8.2V4.5M4.8 8.2h3.7"}),o.jsx("path",{d:"M12 8v4.5l3 1.8"})]})}function Io(e){return o.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",...e,children:o.jsx("path",{d:"M20 12a8 8 0 1 1-2.35-5.65"})})}function wg({open:e,title:t,subtitle:n,icon:s,className:i="",onClose:r,children:a}){const l=b.useId(),c=b.useRef(null),u=b.useRef(null),d=b.useRef(r);return d.current=r,b.useEffect(()=>{var m;if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;const f=document.body.style.overflow;document.body.style.overflow="hidden",(m=c.current)==null||m.focus();const h=p=>{var E;if(p.key==="Escape"){p.preventDefault(),d.current();return}if(p.key!=="Tab")return;const g=(E=c.current)==null?void 0:E.closest("[role=dialog]"),v=Array.from((g==null?void 0:g.querySelectorAll('button:not(:disabled), input:not(:disabled), iframe, [tabindex]:not([tabindex="-1"])'))??[]);if(v.length===0)return;const y=v[0],x=v[v.length-1];p.shiftKey&&document.activeElement===y?(p.preventDefault(),x.focus()):!p.shiftKey&&document.activeElement===x&&(p.preventDefault(),y.focus())};return window.addEventListener("keydown",h),()=>{var p;document.body.style.overflow=f,window.removeEventListener("keydown",h),(p=u.current)==null||p.focus()}},[e]),e?Si.createPortal(o.jsx("div",{className:"sandbox-control-backdrop",onMouseDown:f=>{f.target===f.currentTarget&&r()},children:o.jsxs("section",{className:`sandbox-control-dialog ${i}`.trim(),role:"dialog","aria-modal":"true","aria-labelledby":l,children:[o.jsxs("header",{className:"sandbox-control-head",children:[o.jsx("span",{className:"sandbox-control-head-icon","aria-hidden":"true",children:s}),o.jsxs("div",{children:[o.jsx("h2",{id:l,children:t}),o.jsx("p",{children:n})]}),o.jsx("button",{ref:c,type:"button",className:"sandbox-control-close","aria-label":`关闭${t}`,onClick:r,children:o.jsx(uIe,{})})]}),a]})}),document.body):null}function fIe({open:e,kind:t,launch:n,loading:s,error:i,onReload:r,onClose:a}){const l=t==="terminal",c=l?"Terminal":"Sandbox Browser";return o.jsxs(wg,{open:e,title:c,subtitle:l?"连接当前 AgentKit Session 的交互式终端":"在当前 AgentKit Session 中查看与操作浏览器",icon:l?o.jsx(Pz,{}):o.jsx(Bz,{}),className:`sandbox-tool-dialog sandbox-tool-dialog--${t}`,onClose:a,children:[o.jsx("div",{className:"sandbox-tool-toolbar",children:o.jsxs("span",{children:[o.jsx("i",{className:s?"is-loading":n?"is-ready":""}),s?"正在连接…":n?"已连接":"尚未连接"]})}),o.jsx("div",{className:"sandbox-tool-surface",children:s?o.jsxs("div",{className:"sandbox-control-state",children:[o.jsx(Io,{className:"spin"}),o.jsxs("strong",{children:["正在打开 ",c]}),o.jsx("span",{children:"工具正在连接当前 AgentKit Session。"})]}):i?o.jsxs("div",{className:"sandbox-control-state is-error",children:[o.jsxs("strong",{children:[c," 打开失败"]}),o.jsx("span",{children:i}),o.jsx("button",{type:"button",onClick:r,children:"重试"})]}):n?o.jsx("iframe",{src:n.url,title:c,allow:"clipboard-read; clipboard-write",sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-pointer-lock allow-same-origin allow-scripts"}):null})]})}function hIe({open:e,threads:t,currentThreadId:n,loading:s,error:i,onSelect:r,onClose:a}){return o.jsx(wg,{open:e,title:"恢复 Codex 对话",subtitle:"选择当前 Sandbox Session 中最近更新的 Thread",icon:o.jsx(dIe,{}),className:"sandbox-threads-dialog",onClose:a,children:o.jsx("div",{className:"sandbox-thread-list",children:s?o.jsxs("div",{className:"sandbox-control-state",children:[o.jsx(Io,{className:"spin"}),o.jsx("strong",{children:"正在读取历史对话"})]}):i?o.jsxs("div",{className:"sandbox-control-state is-error",children:[o.jsx("strong",{children:"历史对话读取失败"}),o.jsx("span",{children:i})]}):t.length===0?o.jsx("div",{className:"sandbox-control-state",children:o.jsx("strong",{children:"暂无可恢复的对话"})}):t.map(l=>{const c=l.id===n,u=l.name||l.preview||`Thread ${l.id.slice(0,8)}`;return o.jsxs("button",{type:"button",className:c?"is-active":"",disabled:c,onClick:()=>r(l.id),children:[o.jsxs("span",{children:[o.jsx("strong",{children:u}),o.jsx("small",{children:l.preview||l.cwd||l.id})]}),o.jsx("time",{children:l.updatedAt?new Date(l.updatedAt*1e3).toLocaleString():""}),o.jsx(dT,{})]},l.id)})})})}const mIe=[{value:"read-only",label:"只读",detail:"允许读取文件,不允许写入工作空间。"},{value:"workspace-write",label:"工作区写入",detail:"允许在当前工作空间内读取与修改文件。"},{value:"danger-full-access",label:"完全访问",detail:"不启用沙箱隔离,适合明确可信的任务。",danger:!0}],pIe=[{value:"untrusted",label:"仅不可信命令",detail:"只对 Codex 判断为不可信的操作发起审批。"},{value:"on-request",label:"按需审批",detail:"Codex 可在必要时请求你确认命令或文件修改。"},{value:"never",label:"不审批",detail:"Codex 不会暂停并请求人工批准。",danger:!0}],gIe=[{value:"user",label:"由我审批",detail:"审批请求会显示在 Studio 中,由你决定。"},{value:"auto_review",label:"自动审查",detail:"使用 Codex 自动审查流程处理审批请求。"}];function bIe({open:e,value:t,busy:n,error:s,onSave:i,onClose:r}){const[a,l]=b.useState(t);return b.useEffect(()=>{e&&l(t)},[e,t]),o.jsxs(wg,{open:e,title:"Codex 权限",subtitle:"设置会保存到当前 Sandbox Session,并同步到其中的所有 Thread",icon:o.jsx(rA,{}),className:"sandbox-settings-dialog",onClose:r,children:[o.jsxs("div",{className:"sandbox-control-body",children:[o.jsx(vw,{label:"沙箱模式",choices:mIe,value:a.sandboxMode,disabled:n,onChange:c=>l(u=>({...u,sandboxMode:c,networkAccess:c==="danger-full-access"?!0:u.networkAccess}))}),o.jsx(vw,{label:"审批策略",choices:pIe,value:a.approvalPolicy,disabled:n,onChange:c=>l(u=>({...u,approvalPolicy:c}))}),o.jsx(vw,{label:"审批方式",choices:gIe,value:a.approvalsReviewer,disabled:n,onChange:c=>l(u=>({...u,approvalsReviewer:c}))}),o.jsxs("label",{className:`sandbox-network-toggle${a.sandboxMode==="danger-full-access"?" is-disabled":""}`,children:[o.jsxs("span",{children:[o.jsx("strong",{children:"允许网络访问"}),o.jsx("small",{children:"控制 workspace-write 与只读模式中的外部网络访问。"})]}),o.jsx("input",{type:"checkbox",checked:a.networkAccess,disabled:n||a.sandboxMode==="danger-full-access",onChange:c=>l(u=>({...u,networkAccess:c.target.checked}))})]}),a.sandboxMode==="danger-full-access"?o.jsx("div",{className:"sandbox-control-note is-danger",children:"完全访问会关闭文件系统与网络隔离,请只在可信任务中使用。"}):null,s?o.jsx("div",{className:"sandbox-control-error",children:s}):null]}),o.jsxs("footer",{className:"sandbox-control-actions",children:[o.jsx("button",{type:"button",onClick:r,disabled:n,children:"取消"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:n,onClick:()=>i(a),children:[n?o.jsx(Io,{className:"spin"}):null,"保存权限"]})]})]})}function vw({label:e,choices:t,value:n,disabled:s,onChange:i}){return o.jsxs("fieldset",{className:"sandbox-choice-group",disabled:s,role:"radiogroup","aria-label":e,children:[o.jsx("legend",{children:e}),o.jsx("div",{className:"sandbox-choice-list",children:t.map(r=>o.jsxs("button",{type:"button",role:"radio",className:`${n===r.value?"is-active":""}${r.danger?" is-danger":""}`.trim(),"aria-checked":n===r.value,onClick:()=>i(r.value),onKeyDown:a=>{var d,f;const l=t.findIndex(h=>h.value===r.value);let c=l;if(a.key==="ArrowRight"||a.key==="ArrowDown")c=(l+1)%t.length;else if(a.key==="ArrowLeft"||a.key==="ArrowUp")c=(l-1+t.length)%t.length;else if(a.key==="Home")c=0;else if(a.key==="End")c=t.length-1;else return;a.preventDefault(),i(t[c].value);const u=(d=a.currentTarget.parentElement)==null?void 0:d.querySelectorAll('[role="radio"]');(f=u==null?void 0:u[c])==null||f.focus()},children:[o.jsx("i",{}),o.jsxs("span",{children:[o.jsx("strong",{children:r.label}),o.jsx("small",{children:r.detail})]})]},r.value))})]})}function yIe({open:e,cwd:t,locked:n,busy:s,error:i,browse:r,onSave:a,onClose:l}){const[c,u]=b.useState(t||"/"),[d,f]=b.useState(null),[h,m]=b.useState(!1),[p,g]=b.useState("");b.useEffect(()=>{if(!e)return;const y=t||"/";u(y),v(y)},[t,e]);async function v(y){m(!0),g("");try{const x=await r(y);f(x),u(x.path)}catch(x){g(x instanceof Error?x.message:String(x))}finally{m(!1)}}return o.jsxs(wg,{open:e,title:"工作空间",subtitle:"选择当前 Codex Thread 执行命令与修改文件的目录",icon:o.jsx(Ib,{}),className:"sandbox-workspace-dialog",onClose:l,children:[o.jsxs("div",{className:"sandbox-control-body",children:[o.jsxs("label",{className:"sandbox-workspace-input",children:[o.jsx("span",{children:"绝对路径"}),o.jsxs("div",{children:[o.jsx("input",{value:c,disabled:s||n,spellCheck:!1,onChange:y=>u(y.target.value),onKeyDown:y=>{y.key==="Enter"&&c.startsWith("/")&&(y.preventDefault(),v(c))}}),o.jsx("button",{type:"button",disabled:s||h||!c.startsWith("/"),onClick:()=>void v(c),children:"浏览"})]})]}),o.jsxs("div",{className:"sandbox-directory-browser",children:[o.jsxs("div",{className:"sandbox-directory-head",children:[o.jsx("span",{title:d==null?void 0:d.path,children:(d==null?void 0:d.path)??c}),h?o.jsx(Io,{className:"spin"}):null]}),o.jsxs("div",{className:"sandbox-directory-list",children:[d!=null&&d.parent?o.jsxs("button",{type:"button",disabled:h,onClick:()=>void v(d.parent??"/"),children:[o.jsx(Ib,{}),o.jsx("span",{children:"上一级"}),o.jsx("small",{children:d.parent}),o.jsx(dT,{})]}):null,d==null?void 0:d.directories.map(y=>o.jsxs("button",{type:"button",disabled:h,onClick:()=>void v(y.path),children:[o.jsx(Ib,{}),o.jsx("span",{children:y.name}),o.jsx(dT,{})]},y.path)),!h&&(d==null?void 0:d.directories.length)===0?o.jsx("div",{className:"sandbox-directory-empty",children:"当前目录没有子目录"}):null]})]}),n?o.jsx("div",{className:"sandbox-control-note",children:"当前对话已经开始,工作空间已锁定。新建 Sandbox 会话后可重新选择。"}):null,p||i?o.jsx("div",{className:"sandbox-control-error",children:p||i}):null]}),o.jsxs("footer",{className:"sandbox-control-actions",children:[o.jsx("button",{type:"button",onClick:l,disabled:s,children:"取消"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:s||n||!c.startsWith("/"),onClick:()=>a(c),children:[s?o.jsx(Io,{className:"spin"}):null,"使用此目录"]})]})]})}function xIe({approval:e,busy:t,error:n,onDecision:s}){var a;const i=(a=e==null?void 0:e.command)==null?void 0:a.trim(),r=(e==null?void 0:e.changes)===void 0?"":JSON.stringify(e.changes,null,2);return o.jsxs(wg,{open:e!==null,title:(e==null?void 0:e.kind)==="file"?"允许修改文件?":"允许执行命令?",subtitle:"Codex 正在等待你的决定",icon:o.jsx(rA,{}),className:"sandbox-approval-dialog",onClose:()=>{t||s("cancel")},children:[o.jsxs("div",{className:"sandbox-control-body",children:[e!=null&&e.reason?o.jsx("div",{className:"sandbox-approval-reason",children:e.reason}):null,i?o.jsx("pre",{children:i}):null,r?o.jsx("pre",{children:r}):null,e!=null&&e.cwd?o.jsxs("div",{className:"sandbox-approval-meta",children:["执行目录 ",o.jsx("code",{children:e.cwd})]}):null,n?o.jsx("div",{className:"sandbox-control-error",children:n}):null]}),o.jsxs("footer",{className:"sandbox-control-actions sandbox-approval-actions",children:[o.jsx("button",{type:"button",disabled:t,onClick:()=>s("decline"),children:"拒绝"}),o.jsx("button",{type:"button",disabled:t,onClick:()=>s("accept"),children:"仅本次允许"}),o.jsxs("button",{type:"button",className:"is-primary",disabled:t,onClick:()=>s("acceptForSession"),children:[t?o.jsx(Io,{className:"spin"}):null,"本会话允许"]})]})]})}const EIe={codex:"Codex",openclaw:"OpenClaw",hermes:"Hermes"};function S3(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 vIe({session:e,onBack:t,onOpen:n,onDelete:s}){const[i,r]=b.useState(!1),[a,l]=b.useState(!1),[c,u]=b.useState(!1),[d,f]=b.useState(""),h=EIe[e.toolName],m=async()=>{if(!(a||c)){l(!0),f("");try{await n()}catch(g){f(g instanceof Error?g.message:String(g))}finally{l(!1)}}},p=async()=>{if(!(c||a)){u(!0),f("");try{await s()}catch(g){f(g instanceof Error?g.message:String(g)),r(!1)}finally{u(!1)}}};return o.jsxs("section",{className:"sandbox-agent-details",children:[o.jsxs("header",{className:"sandbox-agent-details-header",children:[o.jsxs("button",{type:"button",className:"sandbox-agent-back",onClick:t,children:[o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})}),"返回智能体"]}),o.jsxs("div",{children:[o.jsx("h1",{children:e.displayName||`${h} 智能体`}),o.jsxs("p",{children:[h," AgentKit Session 详情"]})]})]}),d?o.jsx("div",{className:"sandbox-agent-detail-error",role:"alert",children:d}):null,o.jsxs("div",{className:"sandbox-agent-detail-panel",children:[o.jsxs("dl",{children:[o.jsxs("div",{children:[o.jsx("dt",{children:"智能体类型"}),o.jsx("dd",{children:h})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"状态"}),o.jsx("dd",{children:bx(e.status)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"创建人"}),o.jsx("dd",{children:e.createdBy||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"工具类型"}),o.jsx("dd",{children:e.toolType||"—"})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"创建时间"}),o.jsx("dd",{children:S3(e.createdAt)})]}),o.jsxs("div",{children:[o.jsx("dt",{children:"过期时间"}),o.jsx("dd",{children:S3(e.expireAt)})]}),o.jsxs("div",{className:"is-wide",children:[o.jsx("dt",{children:"Session ID"}),o.jsx("dd",{children:e.id})]})]}),o.jsxs("footer",{children:[o.jsx("button",{type:"button",className:"sandbox-agent-delete",disabled:a||c,onClick:()=>r(!0),children:"删除智能体"}),o.jsx("button",{type:"button",className:"sandbox-agent-open",disabled:a||c,"aria-busy":a||void 0,onClick:()=>void m(),children:a?"打开中…":"打开智能体"})]})]}),i?o.jsx("div",{className:"confirm-scrim",onClick:()=>!c&&r(!1),children:o.jsxs("div",{className:"confirm-box",role:"alertdialog","aria-modal":"true","aria-labelledby":"sandbox-agent-delete-title",onClick:g=>g.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",id:"sandbox-agent-delete-title",children:"删除智能体?"}),o.jsxs("div",{className:"confirm-text",children:["将删除“",e.displayName||`${h} 智能体`,"”及其 AgentKit Session,此操作无法撤销。"]}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{type:"button",className:"confirm-btn",disabled:c,onClick:()=>r(!1),children:"取消"}),o.jsx("button",{type:"button",className:"confirm-btn confirm-btn--danger",disabled:c,onClick:()=>void p(),children:c?"删除中…":"确认删除"})]})]})}):null]})}const wIe="_SegmentedControl_1sl7d_1",SIe="_SegmentedControlOption_1sl7d_140",_Ie="_SegmentedControlThumb_1sl7d_219",fT={SegmentedControl:wIe,SegmentedControlOption:SIe,SegmentedControlThumb:_Ie},Rb=({value:e,onChange:t,children:n,block:s,pill:i=!0,size:r="md",gutterSize:a,className:l,onClick:c,...u})=>{const d=b.useRef(null),f=b.useRef(null),h=b.useCallback(p=>{const g=d.current,v=f.current;if(!g||!v)return;const y=g==null?void 0:g.querySelector('[data-state="on"]');if(!y)return;const x=g.clientWidth;let E=Math.floor(y.clientWidth);const w=y.offsetLeft;if(x-(E+w)<2&&(E=E-1),v.style.width=`${Math.floor(E)}px`,v.style.transform=`translateX(${w}px)`,g.scrollWidth>x){const T=x*.15,S=g.scrollLeft,N=y.offsetLeft,A=N+E;(NS+x-T)&&p&&y.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"})}},[]);_we({ref:d,onResize:()=>{const p=f.current;if(!p)return;const g=p.style.transition;p.style.transition="",h(!1),p.style.transition=g}}),b.useLayoutEffect(()=>{const p=d.current,g=f.current;!p||!g||(h(!!g.style.transition),g.style.transition||U_(()=>{g.style.transition="width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)"}))},[h,e,r,a,i]);const m=p=>{p&&t&&t(p)};return o.jsxs(Kke,{ref:d,className:ta(fT.SegmentedControl,l),type:"single",value:e,loop:!1,onValueChange:m,onClick:c,"data-block":s?"":void 0,"data-pill":i?"":void 0,"data-size":r,"data-gutter-size":a,...u,children:[o.jsx("div",{className:fT.SegmentedControlThumb,ref:f}),n]})},TIe=({children:e,...t})=>o.jsx(Qke,{className:fT.SegmentedControlOption,...t,onPointerEnter:qF,children:o.jsx("span",{className:"relative",children:e})});Rb.Option=TIe;function NIe({workspace:e,onBack:t}){const[n,s]=b.useState("main"),[i,r]=b.useState(""),[a,l]=b.useState(!1),[c,u]=b.useState(""),d=e.kind==="openclaw"?"OpenClaw":"Hermes";b.useEffect(()=>{s("main"),r(""),u(""),l(!1)},[e.session.id]);const f=async()=>{if(s("terminal"),!(i||a)){l(!0),u("");try{const h=await on.launchAgentTerminal(e.kind,e.session.id);r(h.url)}catch(h){u(h instanceof Error?h.message:String(h))}finally{l(!1)}}};return o.jsxs("section",{className:"sandbox-agent-workspace",children:[o.jsxs("header",{children:[o.jsxs("div",{className:"sandbox-agent-workspace-title",children:[o.jsx("button",{type:"button",onClick:t,"aria-label":"返回智能体列表",children:o.jsx("svg",{viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"m14.5 6-6 6 6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.jsxs("div",{children:[o.jsx("h1",{children:e.session.displayName||`${d} 智能体`}),o.jsxs("p",{children:[o.jsxs("span",{children:["创建人 ",e.session.createdBy||"未知"]}),o.jsx("span",{className:"sandbox-agent-workspace-status","data-ready":e.session.status.toLowerCase()==="ready"||void 0,children:bx(e.session.status)})]})]})]}),o.jsxs(Rb,{className:"sandbox-agent-workspace-tabs",value:n,size:"lg",gutterSize:"lg",block:!0,pill:!1,"aria-label":"智能体工作区",onChange:h=>{h==="terminal"?f():s("main")},children:[o.jsx(Rb.Option,{value:"main",children:"主界面"}),o.jsx(Rb.Option,{value:"terminal",children:"终端"})]})]}),o.jsx("div",{className:"sandbox-agent-workspace-surface",children:n==="main"?o.jsx("iframe",{src:e.webuiUrl,title:`${d} 主界面`,allow:"clipboard-read; clipboard-write"}):a?o.jsx("div",{className:"sandbox-agent-workspace-state",role:"status",children:"正在打开终端…"}):c?o.jsxs("div",{className:"sandbox-agent-workspace-state is-error",role:"alert",children:[o.jsx("p",{children:c}),o.jsx("button",{type:"button",onClick:()=>void f(),children:"重新尝试"})]}):i?o.jsx("iframe",{src:i,title:`${d} 终端`}):null})]})}const Ux=[{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 kIe(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 AIe(e){const t=e.toLocaleLowerCase();return Ux.filter(n=>!t||[n.name,n.description,...n.keywords].some(s=>s.toLocaleLowerCase().includes(t))).sort((n,s)=>_3(n,t)-_3(s,t)).slice(0,12)}function _3(e,t){return t?e.name===t?0:e.name.startsWith(t)?1:e.name.includes(t)?2:3:Ux.indexOf(e)}function CIe(e,t){const n=t.toLocaleLowerCase();return e.filter(s=>!n||`${s.id} ${s.displayName} ${s.description}`.toLocaleLowerCase().includes(n)).sort((s,i)=>{if(!n)return Number(i.isDefault)-Number(s.isDefault);const r=s.id.toLocaleLowerCase(),a=i.id.toLocaleLowerCase(),l=(c,u)=>c===n?0:c.startsWith(n)?1:u.toLocaleLowerCase().startsWith(n)?2:3;return l(r,s.displayName)-l(a,i.displayName)}).slice(0,12)}function IIe(){return Ux.map(e=>({label:e.usage,value:e.description}))}function RIe(e,t){return e.map(n=>{const s=n.displayName.trim(),i=s&&s!==n.id?`${s} · ${n.id}`:n.id;return{label:n.id===t?"当前模型":"可用模型",value:n.description?`${i} — ${n.description}`:i,code:!1}})}function jIe(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 OIe(e){return e.messages.map(t=>{var s;const n=[];return t.role==="user"&&((s=t.skillNames)!=null&&s.length)&&n.push({kind:"invocation",value:{skills:t.skillNames.map(i=>({name:i,description:""}))}}),t.content&&n.push({kind:"text",text:t.content}),{role:t.role,blocks:n,meta:{localId:t.id,ts:t.timestamp/1e3}}})}function MIe({appName:e,value:t,onChange:n,onSubmit:s,disabled:i,busy:r,attachments:a,onAddFiles:l,onRemoveAttachment:c,actions:u,models:d,modelsLoading:f,modelsLoaded:h,currentModel:m,onRequestModels:p,skills:g,skillsLoading:v,skillsLoaded:y,selectedSkills:x,onRequestSkills:E,onSelectedSkillsChange:w}){const T=b.useRef(null),S=b.useRef(null),N=b.useRef(null),A=b.useRef(null),[C,I]=b.useState(!1),[O,L]=b.useState(0),[G,D]=b.useState(!1);b.useLayoutEffect(()=>{const K=T.current;K&&(K.style.height="auto",K.style.height=`${Math.min(K.scrollHeight,200)}px`)},[t]);const F=b.useMemo(()=>{if(!t.startsWith("/")||t.includes(` +`))return;const K=t.slice(1),ne=K.search(/\s/),W=(ne<0?K:K.slice(0,ne)).toLocaleLowerCase(),de=ne<0?"":K.slice(ne).trim();if(!(ne>=0&&W!=="model"))return{command:W,argument:de,modelMode:ne>=0}},[t]),k=b.useMemo(()=>{const K=/(^|\s)\$([^\s$]*)$/.exec(t);if(K)return{query:K[2],start:t.length-K[2].length-1,end:t.length}},[t]),j=b.useMemo(()=>{if(k){const K=k.query.toLocaleLowerCase();return g.filter(ne=>!x.some(W=>W.id===ne.id||W.name===ne.name)).filter(ne=>`${ne.name} ${ne.description}`.toLocaleLowerCase().includes(K)).slice(0,12).map(ne=>({kind:"skill",skill:ne}))}return F!=null&&F.modelMode?CIe(d,F.argument).map(K=>({kind:"model",model:K})):F?AIe(F.command).map(K=>({kind:"command",command:K})):[]},[k,d,x,g,F]),P=!G&&!!(k||F);b.useEffect(()=>{L(0)},[t]),b.useEffect(()=>{F!=null&&F.modelMode&&!h&&!f&&p()},[h,f,p,F==null?void 0:F.modelMode]),b.useEffect(()=>{k&&!y&&!v&&E()},[k,E,y,v]);const $=a.some(K=>K.status!=="ready"),R=!i&&!r&&!$&&(t.trim().length>0||a.length>0);function q(K){D(!1),I(!1),n(K)}function Q(K){if(K.kind==="skill"){if(!k)return;const ne=t.slice(0,k.start)+t.slice(k.end);w([...x,K.skill]),q(ne),D(!0),requestAnimationFrame(()=>{var W,de;(W=T.current)==null||W.focus(),(de=T.current)==null||de.setSelectionRange(k.start,k.start)});return}if(K.kind==="model"){q(`/model ${K.model.id}`),D(!0),requestAnimationFrame(()=>{var ne;return(ne=T.current)==null?void 0:ne.focus()});return}if(K.command.name==="model"){q("/model "),p(),requestAnimationFrame(()=>{var ne;return(ne=T.current)==null?void 0:ne.focus()});return}if(K.command.name==="skill"||K.command.name==="skills"){q(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var ne;return(ne=T.current)==null?void 0:ne.focus()});return}q(`/${K.command.name}`),D(!0),requestAnimationFrame(()=>{var ne;return(ne=T.current)==null?void 0:ne.focus()})}function B(K){var ne;I(!1),(ne=K.current)==null||ne.click()}function ee(K){const ne=K.target.files?Array.from(K.target.files):[];ne.length&&l(ne),K.target.value=""}const z=k?"可用 Skills":F!=null&&F.modelMode?"选择模型":"Codex 快捷命令";return o.jsxs("div",{className:"composer sandbox-codex-composer",children:[a.length>0?o.jsx(Ex,{appName:e,compact:!0,items:a,onRemove:c}):null,o.jsxs("div",{className:"composer-box",children:[P?o.jsxs("div",{className:"composer-command-menu",role:"listbox","aria-label":z,children:[o.jsxs("div",{className:"composer-command-head",children:[o.jsx(cIe,{}),o.jsx("span",{children:z}),F!=null&&F.modelMode&&m?o.jsxs("small",{children:["当前:",m]}):null,o.jsx("kbd",{children:k?"$":"/"})]}),k&&v?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(Io,{className:"spin"})," 正在发现当前工作区的 Skills…"]}):F!=null&&F.modelMode&&f?o.jsxs("div",{className:"composer-command-empty",children:[o.jsx(Io,{className:"spin"})," 正在读取模型…"]}):j.length===0?o.jsx("div",{className:"composer-command-empty",children:k?"当前工作区没有匹配的 Skill":F!=null&&F.modelMode?"没有匹配模型,也可以直接输入模型 ID":"没有匹配的快捷命令"}):o.jsx("div",{className:"composer-command-list",children:j.map((K,ne)=>{const W=K.kind==="command"?`command:${K.command.name}`:K.kind==="model"?`model:${K.model.id}`:`skill:${K.skill.id}`,de=K.kind==="command"?K.command.usage:K.kind==="model"?K.model.displayName:`$${K.skill.name}`,ye=K.kind==="command"?K.command.description:K.kind==="model"?K.model.description||K.model.id:K.skill.description||"加载并执行该 Skill";return o.jsxs("button",{type:"button",role:"option","aria-selected":ne===O,className:`composer-command-item${ne===O?" is-active":""}`,onMouseDown:_e=>{_e.preventDefault(),Q(K)},onMouseEnter:()=>L(ne),children:[o.jsx("span",{className:`composer-command-icon composer-command-icon--${K.kind}`,"aria-hidden":"true",children:K.kind==="command"?"/":K.kind==="model"?"◇":"$"}),o.jsxs("span",{className:"composer-command-copy",children:[o.jsx("strong",{children:de}),o.jsx("span",{children:ye})]}),ne===O?o.jsx("kbd",{children:"↵"}):null]},W)})})]}):null,o.jsxs("div",{className:"composer-left-controls",children:[o.jsxs("div",{className:"composer-menu-wrap",children:[o.jsx("button",{type:"button",className:"comp-icon",title:"添加","aria-label":"添加",disabled:i,onClick:()=>I(K=>!K),children:o.jsx(iIe,{className:"icon"})}),C?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"menu-scrim",onClick:()=>I(!1)}),o.jsxs("div",{className:"composer-menu",role:"menu",children:[o.jsxs("button",{type:"button",className:"menu-item",disabled:u.uploadBusy,onClick:()=>B(S),children:[o.jsx(aIe,{className:"icon"}),"上传图片"]}),o.jsxs("button",{type:"button",className:"menu-item",disabled:u.uploadBusy,onClick:()=>B(N),children:[o.jsx(oIe,{className:"icon"}),"上传文档或 PDF"]}),o.jsxs("button",{type:"button",className:"menu-item",disabled:u.uploadBusy,onClick:()=>B(A),children:[o.jsx(lIe,{className:"icon"}),"上传视频"]}),o.jsx("div",{className:"composer-menu-separator",role:"separator"}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{I(!1),u.onOpenTerminal()},children:[o.jsx(Pz,{className:"icon"}),"进入终端"]}),o.jsxs("button",{type:"button",className:"menu-item",onClick:()=>{I(!1),u.onOpenBrowser()},children:[o.jsx(Bz,{className:"icon"}),"查看浏览器"]})]})]}):null]}),o.jsx("button",{type:"button",className:"comp-icon sandbox-composer-control",title:"Codex 权限","aria-label":"Codex 权限",disabled:u.settingsBusy||r,onClick:u.onOpenPermissions,children:o.jsx(rA,{})}),o.jsx("button",{type:"button",className:`comp-icon sandbox-composer-control${u.workspaceLocked?" is-locked":""}`,title:u.workspaceLocked?"对话已开始,工作空间已锁定":"选择工作空间","aria-label":"Codex 工作空间",disabled:u.settingsBusy||r,onClick:u.onOpenWorkspace,children:o.jsx(Ib,{})})]}),o.jsxs("div",{className:"composer-input-stack sandbox-composer-input",children:[x.length>0?o.jsx(xx,{skillPrefix:"$",value:{skills:x.map(({name:K,description:ne})=>({name:K,description:ne}))},onRemoveSkill:K=>w(x.filter(ne=>ne.name!==K))}):null,o.jsx("textarea",{ref:T,className:"comp-input scroll",rows:1,value:t,disabled:i,placeholder:"向 AgentKit 沙箱发送消息,输入 / 查看命令,输入 $ 调用 Skill…","aria-expanded":P,onChange:K=>q(K.target.value),onBlur:()=>window.setTimeout(()=>D(!0),0),onKeyDown:K=>{if(!w2(K.nativeEvent)){if(P){if((K.key==="ArrowDown"||K.key==="Tab"&&!K.shiftKey)&&j.length>0){K.preventDefault(),L(ne=>(ne+1)%j.length);return}if((K.key==="ArrowUp"||K.key==="Tab"&&K.shiftKey)&&j.length>0){K.preventDefault(),L(ne=>(ne-1+j.length)%j.length);return}if(K.key==="Enter"&&!K.shiftKey&&j[O]){K.preventDefault(),Q(j[O]);return}if(K.key==="Escape"){K.preventDefault(),D(!0);return}}if(K.key==="Backspace"&&!t&&K.currentTarget.selectionStart===0&&x.length>0){K.preventDefault(),w(x.slice(0,-1));return}K.key==="Enter"&&!K.shiftKey&&(K.preventDefault(),R&&s(t))}}})]}),o.jsx("button",{type:"button",className:"comp-send",disabled:!R,onClick:()=>s(t),"aria-label":"发送",children:r?o.jsx(Io,{className:"icon spin"}):o.jsx(rIe,{className:"icon"})})]}),o.jsx("input",{ref:S,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:ee}),o.jsx("input",{ref:N,type:"file",accept:".txt,.md,.markdown,.pdf,text/plain,text/markdown,application/pdf",multiple:!0,hidden:!0,onChange:ee}),o.jsx("input",{ref:A,type:"file",accept:"video/mp4,video/webm,video/quicktime",multiple:!0,hidden:!0,onChange:ee})]})}function LIe({session:e,conversationBusy:t,onInputChange:n,onSessionPatch:s,onSnapshot:i,onActivity:r,onError:a}){const l=b.useRef((e==null?void 0:e.id)??"");l.current=(e==null?void 0:e.id)??"";const[c,u]=b.useState(!1),[d,f]=b.useState([]),[h,m]=b.useState(!1),[p,g]=b.useState(!1),[v,y]=b.useState([]),[x,E]=b.useState(!1),[w,T]=b.useState(!1),[S,N]=b.useState([]),[A,C]=b.useState(!1),[I,O]=b.useState([]),[L,G]=b.useState(!1),[D,F]=b.useState("");b.useEffect(()=>{u(!1),f([]),m(!1),g(!1),y([]),E(!1),T(!1),N([]),C(!1),O([]),G(!1),F("")},[e==null?void 0:e.id]);const k=b.useCallback(async()=>{const B=l.current;if(!B)return[];m(!0);try{const ee=await on.listModels(B);return l.current===B&&(f(ee),g(!0)),ee}catch(ee){return l.current===B&&(g(!0),a(ee instanceof Error?ee.message:String(ee))),[]}finally{l.current===B&&m(!1)}},[a]),j=b.useCallback(async()=>{const B=l.current;if(!B)return[];E(!0);try{const ee=await on.listSkills(B);return l.current===B&&(y(ee),T(!0)),ee}catch(ee){return l.current===B&&(T(!0),a(ee instanceof Error?ee.message:String(ee))),[]}finally{l.current===B&&E(!1)}},[a]),P=b.useCallback(async()=>{const B=l.current;if(B){C(!0),G(!0),F("");try{const ee=await on.listThreads(B);l.current===B&&O(ee.threads)}catch(ee){l.current===B&&F(ee instanceof Error?ee.message:String(ee))}finally{l.current===B&&G(!1)}}},[]);function $(B){i(B),N([]),y([]),T(!1),C(!1)}async function R(B){const ee=l.current;if(!(!ee||c||t)){if(B===(e==null?void 0:e.threadId)){C(!1);return}u(!0),a("");try{const z=await on.resumeThread(ee,B);if(l.current!==ee)return;$(z),r("已恢复 Codex 对话",[{label:"Thread",value:z.threadId,code:!0}])}catch(z){l.current===ee&&a(z instanceof Error?z.message:String(z))}finally{l.current===ee&&u(!1)}}}async function q(B){const ee=e,z=B.trim();if(!z.startsWith("/"))return!1;if(!ee||t||c)return!0;const K=kIe(z),ne=K&&Ux.find(W=>W.name===K.name);if(!K||!ne)return a(`未知快捷命令:${z.split(/\s/,1)[0]}。输入 /help 查看可用命令。`),!0;if(a(""),N([]),ne.name==="model"&&!K.argument)return n("/model "),p||await k(),!0;if(ne.name==="skill"||ne.name==="skills")return n("$"),w||(await j()).length===0&&n(""),!0;if(ne.name==="resume"&&!K.argument)return n(""),await P(),!0;n(""),u(!0);try{if(ne.name==="model"){const W=await on.setModel(ee.id,K.argument);if(l.current!==ee.id)return!0;s({model:W}),r("已切换 Codex 模型",[{label:"模型",value:W,code:!0}])}else if(ne.name==="models"){const W=p?d:await k();if(l.current!==ee.id)return!0;r(W.length>0?"Codex 可用模型":"当前没有可用模型",RIe(W,ee.model))}else if(ne.name==="new"||ne.name==="clear"){const W=await on.newThread(ee.id);if(l.current!==ee.id)return!0;$(W),r("已新建 Codex 对话",[{label:"Thread",value:W.threadId,code:!0}])}else if(ne.name==="resume"){const W=await on.resumeThread(ee.id,K.argument);if(l.current!==ee.id)return!0;$(W),r("已恢复 Codex 对话",[{label:"Thread",value:W.threadId,code:!0}])}else if(ne.name==="fork"){const W=await on.forkThread(ee.id);if(l.current!==ee.id)return!0;$(W),r("已分叉 Codex 对话",[{label:"Thread",value:W.threadId,code:!0}])}else if(ne.name==="compact"){if(await on.compactThread(ee.id),l.current!==ee.id)return!0;r("已开始压缩当前 Codex 对话",[{label:"Thread",value:ee.threadId,code:!0}])}else if(ne.name==="archive"){const W=ee.threadId,de=await on.archiveThread(ee.id,W);if(l.current!==ee.id)return!0;de.snapshot&&$(de.snapshot),r("已归档 Codex 对话",[{label:"Thread",value:W,code:!0}])}else if(ne.name==="status"){const W=await on.getStatus(ee.id);if(l.current!==ee.id)return!0;s(W),r("Codex 当前状态",jIe(W))}else ne.name==="help"&&r("Sandbox 支持的 Codex 快捷命令",IIe())}catch(W){l.current===ee.id&&(n(z),a(W instanceof Error?W.message:String(W)))}finally{l.current===ee.id&&u(!1)}return!0}function Q(){y([]),T(!1),N([])}return{commandBusy:c,models:d,modelsLoading:h,modelsLoaded:p,loadModels:k,skills:v,skillsLoading:x,skillsLoaded:w,loadSkills:j,selectedSkills:S,setSelectedSkills:N,invalidateSkills:Q,threadsOpen:A,threads:I,threadsLoading:L,threadsError:D,openThreads:P,closeThreads:()=>{c||(C(!1),F(""))},resumeThread:R,executeSlash:q}}function DIe({filled:e=!1,...t}){return o.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:[o.jsx("rect",{x:"3.5",y:"9.3",width:"4.5",height:"10.2",rx:"1.5"}),o.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 PIe({filled:e=!1,...t}){return o.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:[o.jsx("rect",{x:"3.5",y:"4.5",width:"4.5",height:"10.2",rx:"1.5"}),o.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 BIe(e){return e.toLowerCase()==="github"?o.jsx(tJ,{className:"icon"}):o.jsx(aJ,{className:"icon"})}function UIe({branding:e,onUsername:t}){const[n,s]=b.useState(null),[i,r]=b.useState(""),[a,l]=b.useState(0),[c,u]=b.useState(""),d=b.useRef(null);b.useEffect(()=>{let p=!0;return s(null),r(""),kP().then(g=>{p&&s(g)}).catch(g=>{p&&r(g instanceof Error?g.message:String(g))}),()=>{p=!1}},[a]);const f=n!==null&&n.length===0;b.useEffect(()=>{var p;f&&((p=d.current)==null||p.focus())},[f]);const h=IJ.test(c),m=()=>{h&&t(c)};return o.jsxs("div",{className:"login",children:[o.jsx("header",{className:"login-top",children:o.jsxs("span",{className:"login-brand",children:[o.jsx("img",{className:"login-brand-logo",src:e.logoUrl||bk,width:20,height:20,alt:"","aria-hidden":!0}),e.title]})}),o.jsx("main",{className:"login-main",children:o.jsxs("div",{className:"login-card",children:[o.jsx(Vl,{as:"h1",className:"login-title",duration:4.8,spread:22,children:e.title}),i?o.jsxs("div",{className:"login-provider-error",role:"alert",children:[o.jsx("p",{children:i}),o.jsx("button",{type:"button",onClick:()=>l(p=>p+1),children:"重试"})]}):n===null?null:n.length>0?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"login-sub",children:"登录以继续使用"}),o.jsx("div",{className:"login-providers",children:n.map(p=>o.jsxs("button",{className:"login-btn",onClick:()=>jJ(p.loginUrl),children:[BIe(p.id),o.jsxs("span",{children:["使用 ",p.label," 登录"]})]},p.id))})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"login-sub",children:"输入一个用户名即可开始"}),o.jsxs("form",{className:"login-name",onSubmit:p=>{p.preventDefault(),m()},children:[o.jsx("input",{ref:d,className:"login-name-input",value:c,onChange:p=>u(p.target.value),placeholder:"用户名(字母 + 数字,最多 16 位)",maxLength:16}),o.jsx("button",{type:"submit",className:"login-name-go",disabled:!h,"aria-label":"进入",children:o.jsx(vm,{className:"icon"})})]}),o.jsx("p",{className:"login-hint","aria-live":"polite",children:c&&!h?"只能包含大小写字母和数字,最多 16 位。":""})]}),o.jsx("p",{className:"login-powered",children:"火山引擎 AgentKit 提供企业级 Agent 解决方案"}),o.jsxs("p",{className:"login-legal",children:["继续即表示你已阅读并同意 AgentKit"," ",o.jsx("a",{href:"https://docs.volcengine.com/docs/86681/1925174?lang=zh",target:"_blank",rel:"noreferrer",children:"产品和服务条款"})]})]})}),o.jsx("footer",{className:"login-footer",children:"© 2026 VeADK. All rights reserved."})]})}function FIe({open:e,checking:t,error:n,onLogin:s}){const i=b.useRef(null);return b.useEffect(()=>{var a;if(!e)return;const r=document.body.style.overflow;return document.body.style.overflow="hidden",(a=i.current)==null||a.focus(),()=>{document.body.style.overflow=r}},[e]),e?Si.createPortal(o.jsx("div",{className:"auth-expired-backdrop",children:o.jsxs("section",{className:"auth-expired-dialog",role:"alertdialog","aria-modal":"true","aria-labelledby":"auth-expired-title","aria-describedby":"auth-expired-description",children:[o.jsx("div",{className:"auth-expired-mark","aria-hidden":"true",children:o.jsx(XN,{})}),o.jsxs("div",{className:"auth-expired-copy",children:[o.jsx("h2",{id:"auth-expired-title",children:"登录状态已过期"}),o.jsx("p",{id:"auth-expired-description",children:"当前编辑内容会保留。重新登录后,刚才的操作将自动继续。"}),n&&o.jsx("p",{className:"auth-expired-error",role:"alert",children:n})]}),o.jsx("footer",{className:"auth-expired-actions",children:o.jsx("button",{ref:i,type:"button",onClick:s,disabled:t,children:t?"等待登录完成…":"重新登录"})})]})}),document.body):null}function $Ie({node:e,ctx:t}){const n=e.variant??"default";return o.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)})}hu("Button",$Ie);function HIe({node:e,ctx:t}){return o.jsx("div",{className:"a2ui-card","data-a2ui-id":e.id,"data-a2ui-component":e.component,children:t.render(e.child)})}hu("Card",HIe);const zIe={start:"flex-start",center:"center",end:"flex-end",spaceBetween:"space-between",spaceAround:"space-around",spaceEvenly:"space-evenly",stretch:"stretch"},VIe={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch"};function Uz(e){return zIe[e]??"flex-start"}function Fz(e){return VIe[e]??"stretch"}function GIe({node:e,ctx:t}){const n=e.children??[];return o.jsx("div",{className:"a2ui-column","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"column",justifyContent:Uz(e.justify),alignItems:Fz(e.align)},children:n.map(s=>t.render(s))})}hu("Column",GIe);function KIe({node:e}){const t=e.axis==="vertical";return o.jsx("div",{className:`a2ui-divider ${t?"a2ui-divider--v":"a2ui-divider--h"}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component})}hu("Divider",KIe);const qIe={send:"✈️",check:"✅",close:"✖️",star:"⭐",favorite:"❤️",info:"ℹ️",help:"❓",error:"⛔",calendarToday:"📅",event:"📅",schedule:"🕒",locationOn:"📍",accountCircle:"👤",mail:"✉️",call:"📞",home:"🏠",settings:"⚙️",search:"🔍"};function YIe({node:e}){const t=e.name??"";return o.jsx("span",{className:"a2ui-icon",title:t,"aria-label":t,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:qIe[t]??"•"})}hu("Icon",YIe);function WIe({node:e,ctx:t}){const n=e.children??[];return o.jsx("div",{className:"a2ui-row","data-a2ui-id":e.id,"data-a2ui-component":e.component,style:{display:"flex",flexDirection:"row",justifyContent:Uz(e.justify),alignItems:Fz(e.align??"center")},children:n.map(s=>t.render(s))})}hu("Row",WIe);const XIe=new Set(["h1","h2","h3","h4","h5"]);function QIe({node:e,ctx:t}){const n=e.variant??"body",s=t.resolveString(e.text),i=XIe.has(n)?n:"p";return o.jsx(i,{className:`a2ui-text a2ui-text--${n}`,"data-a2ui-id":e.id,"data-a2ui-component":e.component,children:s})}hu("Text",QIe);async function ww(e){const[t,n,s]=await Promise.allSettled([XCe(),QCe(),dk(e)]);return{agentId:e,ready:!0,harnessEnabled:s.status==="fulfilled",builtinTools:s.status==="fulfilled"?s.value:[],temporaryEnabled:t.status==="fulfilled"&&t.value.enabled,skillCreateEnabled:n.status==="fulfilled"&&n.value.enabled}}const aa={app:"veadk.appName",view:"veadk.view",session:"veadk.sessionId"},ZIe=600,JIe=new Set,eRe=[];function ja(){return{skills:[]}}function Sw(e){return`${Dx(e)}.active`}function hT(e){return`veadk.agentOrder.${encodeURIComponent(e)}`}function tRe(e){if(!e)return[];try{const t=JSON.parse(localStorage.getItem(hT(e))||"[]");return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function mT(e,t){if(e.name===t||e.id===t)return e;for(const n of e.children){const s=mT(n,t);if(s)return s}}function $z(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(...$z(n)));return t}function T3(){const e=typeof localStorage<"u"?localStorage.getItem(aa.view):null;return e==="menu"||e==="intelligent"||e==="custom"||e==="template"||e==="workflow"?e:null}function nRe({className:e}){return o.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("ellipse",{cx:"12",cy:"12",rx:"6.6",ry:"8.2"}),o.jsx("path",{d:"M12 8.2l1.05 2.75 2.75 1.05-2.75 1.05L12 15.8l-1.05-2.75L8.2 12l2.75-1.05z",fill:"currentColor",stroke:"none"})]})}function sRe(){return o.jsxs("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":!0,children:[o.jsx("rect",{x:"3",y:"4",width:"14",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none"}),o.jsx("rect",{x:"6",y:"10.4",width:"13",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.7"}),o.jsx("rect",{x:"9",y:"16.8",width:"9",height:"3.2",rx:"1.2",fill:"currentColor",stroke:"none",opacity:"0.45"})]})}function pT(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 iRe(e){if(!e)return"";const t=[];return e.ts&&t.push(pT(e.ts)),e.tokens!=null&&t.push(`${e.tokens.toLocaleString()} tokens`),t.join(" · ")}function jb(e){return e.blocks.map(t=>t.kind==="text"?t.text:"").join("").trim()}function rRe(e,t){for(let n=t-1;n>=0;n-=1)if(e[n].role==="user")return jb(e[n]);return""}const aRe="send_a2ui_json_to_client";function oRe(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===aRe&&t.done):t.kind==="agent-transfer"?!1:t.kind==="a2ui"?e$(t.messages).some(n=>n.components[n.rootId]):t.kind==="auth")}function lRe(e){return e.blocks.some(t=>t.kind==="auth"&&!t.done)}function cRe(e){return new Promise((t,n)=>{let s="";try{s=new URL(e,window.location.href).protocol}catch{}if(s!=="http:"&&s!=="https:"){n(new Error("授权链接不是 http/https 地址,已阻止打开。"));return}const i=window.open(e,"veadk_oauth","width=520,height=720");if(!i){n(new Error("弹窗被拦截,请允许弹窗后重试。"));return}let r=!1;const a=()=>{clearInterval(u),window.removeEventListener("message",c)},l=d=>{if(!r){r=!0,a();try{i.close()}catch{}t(d)}},c=d=>{if(d.origin!==window.location.origin)return;const f=d.data;f&&f.veadkOAuth&&typeof f.url=="string"&&l(f.url)};window.addEventListener("message",c);const u=setInterval(()=>{if(!r){if(i.closed){a();const d=window.prompt("授权完成后,请粘贴回调页面(浏览器地址栏)的完整 URL:");d&&d.trim()?(r=!0,t(d.trim())):n(new Error("授权已取消。"));return}try{const d=i.location.href;d&&d!=="about:blank"&&new URL(d).origin===window.location.origin&&/[?&](code|state|error)=/.test(d)&&l(d)}catch{}}},500)})}function uRe(e,t){const n=JSON.parse(JSON.stringify(e??{})),s=n.exchangedAuthCredential??n.exchanged_auth_credential??{},i=s.oauth2??{};return i.authResponseUri=t,i.auth_response_uri=t,s.oauth2=i,n.exchangedAuthCredential=s,n}function N3({text:e}){const[t,n]=b.useState(!1);return o.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?o.jsx(Ya,{className:"icon"}):o.jsx(A1,{className:"icon"})})}const k3=["今天想做点什么?","有什么可以帮你的?","需要我帮你查点什么吗?","有问题尽管问我","嗨,我们开始吧","开始一段新对话吧","今天想先解决哪件事?","把你的想法告诉我吧","我们从哪里开始?","有什么任务交给我?","准备好一起推进了吗?","说说你现在最关心的问题","今天也一起把事情做好","我在,随时可以开始"],A3=()=>k3[Math.floor(Math.random()*k3.length)];function co(e){var t;for(const n of e)(t=n.previewUrl)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(n.previewUrl)}function C3(){return`draft-${Date.now()}-${Math.random().toString(36).slice(2)}`}function I3(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 dRe={"read-only":"只读","workspace-write":"工作区写入","danger-full-access":"完全访问"},fRe={untrusted:"仅不可信命令","on-request":"按需审批",never:"不审批"},hRe={user:"由我审批",auto_review:"自动审查"};function mRe(e,t){const n=e.kind==="file"?"文件修改":"命令执行";return t==="accept"?`已允许本次${n}`:t==="acceptForSession"?`已在本会话中允许${n}`:t==="decline"?`已拒绝${n}`:`已取消${n}审批`}function pRe(e){var n,s,i;const t=[];return(n=e.command)!=null&&n.trim()&&t.push({label:"命令",value:e.command.trim(),code:!0}),(s=e.grantRoot)!=null&&s.trim()&&t.push({label:"授权路径",value:e.grantRoot.trim(),code:!0}),(i=e.cwd)!=null&&i.trim()&&t.push({label:"执行目录",value:e.cwd.trim(),code:!0}),t}function R3(e){return e.flatMap(t=>t.apps.map(n=>Uo(t.id,n)))}function gRe(e,t){var n;return((n=e.find(s=>s.runtimeId&&s.apps.some(i=>Uo(s.id,i)===t)))==null?void 0:n.runtimeId)??""}function bRe(){const[e,t]=b.useState([]),[n,s]=b.useState(""),[i,r]=b.useState([]),[a,l]=b.useState(""),c=b.useRef(null),[u,d]=b.useState(!1),[f,h]=b.useState([]),[m,p]=b.useState(null),[g,v]=b.useState([]),[y,x]=b.useState(!1),[E,w]=b.useState(!1),[T,S]=b.useState(""),[N,A]=b.useState(!1),[C,I]=b.useState(!1),[O,L]=b.useState(null),[G,D]=b.useState(null),[F,k]=b.useState(!1),[j,P]=b.useState(""),[$,R]=b.useState(null),[q,Q]=b.useState(!1),[B,ee]=b.useState(""),[z,K]=b.useState(!1),[ne,W]=b.useState(!1),[de,ye]=b.useState("confirm"),[_e,ue]=b.useState(""),[me,Ce]=b.useState("codex"),[pe,oe]=b.useState(!1),[ve,xe]=b.useState(0),[Ze,De]=b.useState(null),[Ve,Se]=b.useState(null),Fe=b.useRef(null),He=b.useRef(null),Ge=b.useRef((m==null?void 0:m.id)??""),X=b.useRef(""),ie=b.useRef(0);Ge.current=(m==null?void 0:m.id)??"";const[se,ge]=b.useState({}),Pe=a?se[a]??[]:f,Ye=m?g:Pe,bt=(M,U)=>ge(J=>({...J,[M]:typeof U=="function"?U(J[M]??[]):U}));function ot(M,U,J=[],le=""){if(Ge.current!==M)return;const Ee=crypto.randomUUID(),ke={role:"system",blocks:[],activity:{id:Ee,title:U,...J.length>0?{details:J}:{}},meta:{localId:Ee,ts:Date.now()/1e3}};v(st=>{if(!le)return[...st,ke];const qe=st.findIndex(at=>{var lt;return((lt=at.meta)==null?void 0:lt.localId)===le});return qe<0?[...st,ke]:[...st.slice(0,qe),ke,...st.slice(qe)]})}const[fn,It]=b.useState(""),[Et,yt]=b.useState("agent"),[$e,qt]=b.useState(null),[it,vt]=b.useState({}),Xe=b.useRef(new Map),Tt=!n||it.ready===!0&&it.agentId===n,[we,Ue]=b.useState(null),[St,Qt]=b.useState(!1),zt=b.useRef(0),[Zt,Rt]=b.useState([]),[Yt,jt]=b.useState(ja),[Bt,Gn]=b.useState(null),[Ds,mi]=b.useState(0),[Bn,Kn]=b.useState(!1),[cn,Sn]=b.useState(null),[rs,Ps]=b.useState(!1),[Qs,ms]=b.useState([]),[vs,Un]=b.useState(!1),qn=b.useRef(new Set),[un,ps]=b.useState(()=>new Set),[ks,yn]=b.useState(()=>new Set),Jt=b.useRef(new Map),fe=b.useRef(new Map),Me=(M,U)=>ps(J=>{const le=new Set(J);return U?le.add(M):le.delete(M),le}),je=M=>{const U=fe.current.get(M);U!==void 0&&window.clearTimeout(U),fe.current.delete(M),yn(J=>new Set(J).add(M))},tt=M=>{const U=fe.current.get(M);U!==void 0&&window.clearTimeout(U);const J=window.setTimeout(()=>{fe.current.delete(M),yn(le=>{const Ee=new Set(le);return Ee.delete(M),Ee})},2400);fe.current.set(M,J)},et=b.useRef(""),[ht,Ae]=b.useState(""),[Ot,en]=b.useState(""),[In,Rn]=b.useState(()=>new Set),[Nt,rt]=b.useState(!1),[ws,Yn]=b.useState(A3),[Wn,Bs]=b.useState(null),[Go,Di]=b.useState(!1),[re,Ut]=b.useState(!1),[_n,jn]=b.useState(""),Ft=b.useRef(!1),[Us,Na]=b.useState(null),[Ke,Fn]=b.useState(""),[Rr,dr]=b.useState(),[Ss,Pi]=b.useState(null),Ko=(Ss==null?void 0:Ss.capabilities.runtimeScope)??"mine",[Za,Fs]=b.useState({newChat:!0,search:!0,skillCenter:!0,history:!0,addAgent:!0,manageAgents:!0,addAgentkit:!0}),[te,Te]=b.useState("cloud"),[Qe,pt]=b.useState(op),[Xn,as]=b.useState(""),[$s,Hs]=b.useState(!1),[tn,On]=b.useState(!1),[Qn,Zs]=b.useState(!1),[Yi,jr]=b.useState({}),[pi,Sg]=b.useState({}),[Fx,Ja]=b.useState({}),Jl=un.has(a),_g=ks.has(a),bu=Jl||u,Tg=!!a&&rs,eo=m?y:bu,Ng=eo||!m&&_g,bn=LIe({session:m,conversationBusy:y,onInputChange:It,onSessionPatch:M=>{const U=Ge.current;p(J=>(J==null?void 0:J.id)===U?{...J,...M}:J)},onSnapshot:M=>{const U=Ge.current;v(OIe(M)),p(J=>(J==null?void 0:J.id)===U?{...J,threadId:M.threadId,cwd:M.cwd??J.cwd,model:M.model??J.model,workspaceLocked:M.workspaceLocked,permissions:M.permissions,busy:!1}:J)},onActivity:(M,U=[])=>{const J=Ge.current;J&&ot(J,M,U)},onError:Ae}),yu=Yi[a]??"",qo=pi[a]??JIe,Zf=Fx[a]??eRe,Ti=Bt==null?void 0:Bt.graph,kg=[Bt==null?void 0:Bt.name,Ti==null?void 0:Ti.name,Ti==null?void 0:Ti.id].filter(M=>!!M),Jf=Yt.targetAgent&&Ti?mT(Ti,Yt.targetAgent.name):Ti,$x=(Jf==null?void 0:Jf.skills)??(Yt.targetAgent?[]:(Bt==null?void 0:Bt.skills)??[]),Hx=Ti?$z(Ti):[];function eh(M){co(M);for(const U of M)U.status==="uploading"?qn.current.add(U.id):U.uri&&fb(n,U.uri).catch(J=>Ae(String(J)))}function th(){zt.current+=1;const M=we;Ue(null),Qt(!1),M&&!M.id.startsWith("pending-")&&LAe(M.id).catch(U=>{Ae(U instanceof Error?U.message:String(U))})}async function xu(M){try{await zS(n,Ke,M),await HS(n,Ke,M),r(U=>U.filter(J=>J.id!==M)),ge(U=>{const{[M]:J,...le}=U;return le})}catch(U){Ae(String(U))}}function Ag(M){const U=Zt.find(Ee=>Ee.id===M);if(!U)return;const J=Zt.filter(Ee=>Ee.id!==M);co([U]),U.status==="uploading"&&qn.current.add(M),Rt(J),J.length===0&&!fn.trim()&&!!a&&Ye.length===0?(et.current="",l(""),xu(a)):U.uri&&fb(n,U.uri).catch(Ee=>Ae(String(Ee)))}const nh=(M,U)=>{var ke,st,qe,at,lt;const J=U.author&&U.author!=="user"?U.author:void 0;J&&(jr(Oe=>({...Oe,[M]:J})),Sg(Oe=>({...Oe,[M]:new Set(Oe[M]??[]).add(J)})),Ja(Oe=>{var ct;return(ct=Oe[M])!=null&&ct.length?Oe:{...Oe,[M]:[J]}}));const le=((ke=U.actions)==null?void 0:ke.transferToAgent)??((st=U.actions)==null?void 0:st.transfer_to_agent);le&&Ja(Oe=>{const ct=Oe[M]??[];return ct[ct.length-1]===le?Oe:{...Oe,[M]:[...ct,le]}}),(((qe=U.actions)==null?void 0:qe.endOfAgent)??((at=U.actions)==null?void 0:at.end_of_agent)??((lt=U.actions)==null?void 0:lt.escalate))&&Ja(Oe=>{const ct=Oe[M]??[];return ct.length<=1?Oe:{...Oe,[M]:ct.slice(0,-1)}})},[to,Pt]=b.useState(T3),[sh,Cg]=b.useState([]),[zx,ih]=b.useState({}),rh=b.useCallback(M=>{Cg(U=>{const J=U.findIndex(Ee=>Ee.id===M.id);if(J===-1)return[M,...U];const le=[...U];return le[J]={...le[J],...M},le})},[]),[Vx,Gx]=b.useState(!0),[ah,ri]=b.useState(!1),[Ig,As]=b.useState(!1),[oh,Mn]=b.useState(!1),[Rg,Js]=b.useState(null),[Eu,vu]=b.useState([]),H=b.useRef([]),ae=b.useRef(null),he=b.useRef(null),[Ie,Je]=b.useState([]),[nt,rn]=b.useState(""),ai=b.useRef(null),[hn,$n]=b.useState(!1),[wu,xn]=b.useState(!1),[aA,Kx]=b.useState(""),[Hz,zz]=b.useState("good"),[Vz,jg]=b.useState("basic"),[Gz,Kz]=b.useState("good"),[lh,Og]=b.useState(""),[qz,Yz]=b.useState(null),[Yo,gs]=b.useState(!1),[qx,ka]=b.useState(null),Yx=b.useRef(null),[Wo,ch]=b.useState(()=>{const M=da();return Vf(M),M}),[Wz,oA]=b.useState(!1),[Xz,lA]=b.useState(""),[cA,Mg]=b.useState(null),[Qz,uA]=b.useState({}),[Zz,dA]=b.useState(()=>new Set),[Su,na]=b.useState(null),[Lg,Wx]=b.useState("cn-beijing"),[fA,Bi]=b.useState(""),[hA,Ni]=b.useState(""),[En,Wi]=b.useState(null),[Jz,Xx]=b.useState(!1),Dg=b.useRef(!1),_u=b.useRef(!1),Aa=b.useCallback(M=>{if(!Ke)return!1;try{d3(localStorage,Ke,M)}catch(U){return en(U instanceof Error?U.message:"浏览器拒绝保存草稿,请稍后重试。"),!1}return H.current=M,vu(M),en(""),!0},[Ke]),Ca=b.useCallback(M=>{var U;M&&((U=ae.current)==null?void 0:U.id)!==M||(ae.current=null,he.current!==null&&(window.clearTimeout(he.current),he.current=null))},[]),Tu=b.useCallback(()=>{const M=ae.current;M&&(Ca(),Aa([M,...H.current.filter(U=>U.id!==M.id)]))},[Ca,Aa]),eV=b.useCallback((M,U,J)=>{!M||!Ke||(ae.current&&ae.current.id!==M&&Tu(),ae.current={id:M,draft:U,updatedAt:Date.now(),deploymentTarget:J},he.current!==null&&window.clearTimeout(he.current),he.current=window.setTimeout(Tu,ZIe))},[Tu,Ke]),Qx=b.useCallback(M=>{!M||!Ke||(Ca(M),Aa(H.current.filter(U=>U.id!==M)))},[Ca,Aa,Ke]),mA=b.useCallback(M=>{if(!Ke||M.length===0)return;const U=new Set(M.map(J=>J.id));ae.current&&U.has(ae.current.id)&&Ca(),Aa(H.current.filter(J=>!U.has(J.id))),ih(J=>Object.fromEntries(Object.entries(J).filter(([le])=>!U.has(le)))),U.has(nt)&&(rn(""),Js(null),na(null),ai.current=null,localStorage.removeItem(Sw(Ke)))},[Ca,Aa,nt,Ke]),pA=b.useCallback(M=>{if(!M||!Ke)return;Ca(M);const U=ai.current,J=H.current.filter(le=>le.id!==M);Aa((U==null?void 0:U.id)===M?[U,...J]:J)},[Ca,Aa,Ke]);b.useEffect(()=>(window.addEventListener("pagehide",Tu),()=>{window.removeEventListener("pagehide",Tu)}),[Tu]),b.useEffect(()=>{if(!Ke){Ca(),H.current=[],vu([]),Je([]),rn(""),en(""),ai.current=null;return}let M=[],U="";try{M=TAe(localStorage,Ke),localStorage.getItem(Dx(Ke))!==null&&d3(localStorage,Ke,M),U=localStorage.getItem(Sw(Ke))||"",en("")}catch(le){en(le instanceof Error?le.message:"无法读取本机草稿,请稍后重试。")}H.current=M,vu(M),Je(tRe(Ke));const J=M.find(le=>le.id===U);ai.current=J??null,to==="custom"&&J&&(rn(J.id),Js(J.draft),na(J.deploymentTarget??null))},[Ca,Ke]),b.useEffect(()=>{if(!Ke)return;const M=Sw(Ke);try{to==="custom"&&nt?localStorage.setItem(M,nt):localStorage.removeItem(M)}catch{en("浏览器拒绝保存当前草稿位置,请检查站点存储权限后重试。")}},[to,nt,Ke]);const tV=b.useCallback(M=>{if(!Ke)return;const U=[...new Set(M.filter(Boolean))];Je(U),localStorage.setItem(hT(Ke),JSON.stringify(U))},[Ke]),nV=b.useCallback(async M=>{const U=M.filter(at=>!!at.runtimeId&&at.canDelete===!0);if(U.length===0)return;const J=gRe(Wo,n),le=new Set(U.map(at=>at.runtimeId));dA(at=>{const lt=new Set(at);for(const Oe of le)lt.add(Oe);return lt}),R0(le);const Ee=new Set,ke=new Set,st=new Set,qe=[];for(const at of U)try{if(!at.region)throw new Error("Runtime 缺少地域信息,无法删除");await fB(at.runtimeId,at.region),Gy(at.runtimeId),Ee.add(at.runtimeId),ke.add(at.id)}catch(lt){const Oe=lt instanceof Error?lt.message:String(lt);st.add(at.runtimeId),qe.push(`${at.label}: ${Oe}`)}if(Ee.size>0&&(R0(Ee),ch(da()),Mg(lt=>{if(!lt)return lt;const Oe=new Set(lt);for(const ct of Ee)Oe.delete(ct);return Oe}),uA(lt=>Object.fromEntries(Object.entries(lt).filter(([Oe])=>!Ee.has(Oe)))),Je(lt=>{const Oe=lt.filter(ct=>!ke.has(ct));return Ke&&localStorage.setItem(hT(Ke),JSON.stringify(Oe)),Oe}),Aa(H.current.filter(lt=>{var Oe;return!((Oe=lt.deploymentTarget)!=null&&Oe.runtimeId)||!Ee.has(lt.deploymentTarget.runtimeId)})),(J?Ee.has(J):U.some(lt=>lt.id===n))&&(wV(),Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),Bi(""),Ni(""),gs(!0),Ae("")),En!=null&&En.runtime&&Ee.has(En.runtime.runtimeId)&&(Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),Bi(""),Ni(""),gs(!0),Ae(""))),st.size>0&&dA(at=>{const lt=new Set(at);for(const Oe of st)lt.delete(Oe);return lt}),qe.length>0){const at=qe.slice(0,3).join(";"),lt=qe.length>3?`;另有 ${qe.length-3} 个失败`:"";throw new Error(`${qe.length} 个 Agent 删除失败:${at}${lt}`)}},[En,n,Aa,Wo,Ke]),Zx=b.useCallback(async()=>{oA(!0),lA("");try{const M=[];let U="";do{const J=await F1({scope:Ko,region:"all",pageSize:100,nextToken:U});M.push(...J.runtimes),U=J.nextToken}while(U&&M.length<2e3);Mg(new Set(M.map(J=>J.runtimeId))),uA(Object.fromEntries(M.map(J=>[J.runtimeId,{canDelete:J.canDelete}])))}catch(M){lA(M instanceof Error?M.message:String(M))}finally{oA(!1)}},[Ko]);function Pg(M){console.log("create agent draft:",M),Pt(null),Qo()}function Jx(M,U){console.log("Agent added, navigating to:",M,U),ch(da()),Mg(null),R0(),Qx(nt),rn(""),ai.current=null,na(null),Bi(""),Ni(M),jg("basic"),Pt(null),xn(!0),s(M)}const eE=b.useCallback(M=>{Pt(null),Mn(!1),gs(!1),Wi(null),xn(!0),Ni(""),jg("basic"),Bi(M.id),Ae("")},[]),gA=b.useCallback(M=>{nt&&ih(U=>({...U,[nt]:M.id})),eE(M)},[nt,eE]),bA=b.useCallback(async M=>{if(!M.runtimeId)throw new Error("部署完成,但未返回 Runtime ID。");const U=(Su==null?void 0:Su.region)??Lg,J=await Tb(M.runtimeId,M.agentName,M.region??U,M.version);ch(da()),mi(Ee=>Ee+1);const le=await ww(J);Xe.current.set(J,le),vt(le),Mg(Ee=>{const ke=new Set(Ee??[]);return ke.add(M.runtimeId),ke}),R0(),na(null),Qx(nt),ih(Ee=>{if(!nt||!Ee[nt])return Ee;const ke={...Ee};return delete ke[nt],ke}),rn(""),ai.current=null,Ni(J),jg("basic"),Pt(null),xn(!0),s(J)},[nt,Lg,Qx,Su]),uh=b.useRef(null),tE=b.useRef(new Map),ec=b.useRef(!0),Xo=b.useRef(!1),tc=b.useRef(null),yA=b.useRef({key:"",turnCount:0}),nE=(m==null?void 0:m.id)??a;b.useLayoutEffect(()=>{const M=uh.current,U=yA.current,J=U.key!==nE,le=!J&&Ye.length>U.turnCount;if(yA.current={key:nE,turnCount:Ye.length},!M||Ye.length===0||!J&&!le)return;ec.current=!0,Xo.current=!1,tc.current!==null&&(window.clearTimeout(tc.current),tc.current=null);const Ee=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(J||Ee){M.scrollTop=M.scrollHeight;return}Xo.current=!0,M.scrollTo({top:M.scrollHeight,behavior:"smooth"}),tc.current=window.setTimeout(()=>{Xo.current=!1,tc.current=null},450)},[nE,Ye.length]),b.useLayoutEffect(()=>{const M=uh.current;!M||!ec.current||Xo.current||(M.scrollTop=M.scrollHeight)},[eo,Ye]),b.useEffect(()=>{if(!lh||wu||Ye.length===0)return;const M=tE.current.get(lh);if(!M)return;ec.current=!1,M.scrollIntoView({behavior:"smooth",block:"center"});const U=window.setTimeout(()=>{Og("")},2600);return()=>window.clearTimeout(U)},[lh,wu,Ye]),b.useEffect(()=>()=>{tc.current!==null&&window.clearTimeout(tc.current)},[]);const sV=b.useCallback(()=>{const M=uh.current;!M||Xo.current||(ec.current=M.scrollHeight-M.scrollTop-M.clientHeight<32)},[]),iV=b.useCallback(M=>{M.deltaY<0&&(Xo.current=!1,ec.current=!1)},[]),rV=b.useCallback(()=>{Xo.current=!1,ec.current=!1},[]),aV=b.useCallback(()=>{const M=uh.current;!M||!ec.current||Xo.current||(M.scrollTop=M.scrollHeight)},[]),sE=b.useCallback(()=>{Na(null),US().then(M=>{Fn(M.userId),dr(M.info),On(!!M.local),Bs(M.status),M.status==="authenticated"&&(Dg.current=!0,_u.current=!0,localStorage.removeItem(aa.app),s(""),Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),gs(!1))}).catch(M=>{Na(M instanceof Error?M.message:String(M))})},[]);b.useEffect(()=>{sE()},[sE]),b.useEffect(()=>{const M=()=>{jn(""),Di(!0)};return window.addEventListener(FS,M),FJ()&&M(),()=>window.removeEventListener(FS,M)},[]);const oV=b.useCallback(async()=>{if(Ft.current)return;Ft.current=!0;const M=OJ();if(!M){Ft.current=!1,jn("登录窗口被浏览器拦截,请允许弹出窗口后重试。");return}Ut(!0),jn("");try{for(;;){await new Promise(U=>window.setTimeout(U,1e3));try{const U=await US();if(U.status==="authenticated"){Fn(U.userId),dr(U.info),On(!!U.local),Bs(U.status),Di(!1),$J(),M.close();return}}catch{}if(M.closed){jn("登录窗口已关闭,请重新登录以继续当前操作。");return}}}finally{Ft.current=!1,Ut(!1)}},[]);b.useEffect(()=>{tn&&Ke&&PR(Ke)},[tn,Ke]),b.useEffect(()=>{if(Wn!=="authenticated"||!Ke||!n){vt({});return}const M=Xe.current.get(n);if(M){vt(M);return}let U=!1;return vt({}),ww(n).then(J=>{U||(Xe.current.set(n,J),vt(J))}),()=>{U=!0}},[n,Wn,Ke]),b.useEffect(()=>{if(Wn!=="authenticated"||!Ke){Pi(null);return}let M=!1;return Pi(null),oB().then(U=>{M||Pi(U)}).catch(U=>{console.warn("[app] /web/access failed; using ordinary-user access:",U),M||Pi(aB)}),()=>{M=!0}},[Wn,Ke]),b.useEffect(()=>{rB().then(M=>{Fs(M.features),Te(M.agentsSource),pt(M.branding),as(M.version),Hs(!0)})},[]),b.useEffect(()=>{Ss&&(Ss.capabilities.createAgents||(Pt(null),Js(null),As(!1),Mn(!1),Cg([])),Ss.capabilities.manageAgents||xn(!1))},[Ss]),b.useEffect(()=>{Wn!=="authenticated"||te!=="cloud"||!$s||!wu||En||Zx()},[En,te,Wn,wu,Zx,$s]),b.useEffect(()=>{document.title=Qe.title;let M=document.querySelector('link[rel~="icon"]');M||(M=document.createElement("link"),M.rel="icon",document.head.appendChild(M)),M.removeAttribute("type"),M.href=Qe.logoUrl||bk},[Qe]),b.useEffect(()=>{fetch("/web/runtime-config",{signal:AbortSignal.timeout(1e4)}).then(M=>M.ok?M.json():null).then(M=>{M&&Gx(!!M.credentials)}).catch(M=>{console.warn("[app] /web/runtime-config probe failed; workbench stays hidden:",M)})},[]);function lV(M){PR(M),Dg.current=!0,_u.current=!0,localStorage.removeItem(aa.app),Pi(null),Pt(null),Js(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Qo(),s(""),gs(!1),Fn(M),dr({name:M}),On(!0),Bs("authenticated")}function cV(){Pi(null),tn?(RJ(),Fn(""),dr(void 0),Bs("unauthenticated")):LJ()}b.useEffect(()=>{if(Wn==="authenticated"){if(te==="cloud"){const M=R3(Wo);s(U=>U&&M.includes(U)?U:(U&&(_u.current=!0,localStorage.removeItem(aa.app)),""));return}RP().then(M=>{t(M);const U=R3(Wo);s(J=>J&&(M.includes(J)||U.includes(J))?J:(J&&(_u.current=!0,localStorage.removeItem(aa.app)),""))}).catch(M=>Ae(String(M)))}},[Wn,te,Wo]),b.useEffect(()=>{n?(_u.current=!1,localStorage.setItem(aa.app,n)):localStorage.removeItem(aa.app)},[n]),b.useEffect(()=>{let M=!1;if(Sn(null),ms([]),Yo||En||!n||!Ke||!a){Ps(!1);return}return Ps(!0),VS(n,Ke,a).then(U=>{M||(Sn(U),dk(n).then(J=>{M||ms(J)}).catch(()=>{M||ms([])}))}).catch(()=>{M||Sn(null)}).finally(()=>{M||Ps(!1)}),()=>{M=!0}},[En,n,Yo,Ke,a]),b.useEffect(()=>{let M=!1;if(Gn(null),jt(ja()),Wn!=="authenticated"||Yo||En||!n){Kn(!1);return}return Kn(!0),fk(n).then(U=>{M||Gn(U)}).catch(()=>{M||Gn(null)}).finally(()=>{M||Kn(!1)}),()=>{M=!0}},[En,n,Ds,Wn,Yo]),b.useEffect(()=>{Ss&&localStorage.setItem(aa.view,Ss.capabilities.createAgents?to??"chat":"chat")},[Ss,to]),b.useEffect(()=>{localStorage.setItem(aa.session,a),et.current=a},[a]),b.useEffect(()=>()=>Jt.current.forEach(M=>M.abort()),[]),b.useEffect(()=>()=>fe.current.forEach(M=>{window.clearTimeout(M)}),[]),b.useEffect(()=>()=>{var M,U;(M=Fe.current)==null||M.abort(),(U=He.current)==null||U.abort()},[]),b.useEffect(()=>{if(Yo||En||m||!n||!Ke)return;let M=!1;return(async()=>{const U=await Bg(n);if(!M){if(!Dg.current){Dg.current=!0;const J=localStorage.getItem(aa.session)||"";if(T3()===null&&J&&U.some(le=>le.id===J)){dh(J);return}}Qo()}})(),()=>{M=!0}},[En,n,Yo,m,Ke]),b.useEffect(()=>{const M=Yx.current;M&&M.app===n&&(Yx.current=null,dh(M.sid))},[n]);function uV(M,U){$n(!1),M===n?dh(U):(Yx.current={app:M,sid:U},s(M))}async function Bg(M){try{const U=await lk(M,Ke),J=await Promise.allSettled(U.map(ke=>{var st;return(st=ke.events)!=null&&st.length?Promise.resolve(ke):Ey(M,Ke,ke.id)})),le=J.find(ke=>ke.status==="rejected"&&!/get session failed:\s*404\b/i.test(String(ke.reason)));if((le==null?void 0:le.status)==="rejected")throw le.reason;const Ee=J.flatMap(ke=>ke.status==="fulfilled"?[ke.value]:[]);return r(Ee),Ee}catch(U){return Ae(String(U)),[]}}function xA(M="codex",U=!1){m||(Ae(""),ue(""),ye("confirm"),Ce(M),oe(U),W(!0))}function dV(){var M;(M=Fe.current)==null||M.abort(),Fe.current=null,W(!1),ye("confirm"),ue(""),!m&&Et==="temporary"&&!pe&&yt("agent")}async function fV(M){var J;(J=Fe.current)==null||J.abort();const U=new AbortController;Fe.current=U,ye("loading"),ue("");try{const le=me==="codex"?await on.startSession({displayName:M,signal:U.signal}):await on.startAgentSession(me,{displayName:M,signal:U.signal});if(Fe.current!==U)return;if(pe){xe(ke=>ke+1),W(!1),ye("confirm"),gs(!0);return}if(me!=="codex")return;const Ee=await on.connectSession(le.id,{signal:U.signal});if(Fe.current!==U)return;et.current="",l(""),h([]),It(""),jt(ja()),yt("temporary"),th(),Qt(!1),eh(Zt),Rt([]),v([]),p(Ee),Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),gs(!1),De(null),Se(null),W(!1),ye("confirm")}catch(le){if((le==null?void 0:le.name)==="AbortError"||Fe.current!==U)return;ue(le instanceof Error?le.message:String(le)),ye("error")}finally{Fe.current===U&&(Fe.current=null)}}async function iE(M){if(Ae(""),M.toolName==="codex"){const J=await on.connectSession(M.id);et.current="",l(""),h([]),It(""),jt(ja()),v([]),p(J),De(null),Se(null),gs(!1),xn(!1);return}const U=await on.openAgentSession(M.toolName,M.id);Se(U),De(null),gs(!1),xn(!1)}function hV(M){De(M),Se(null),gs(!1),xn(!1),Ae("")}async function mV(M){(m==null?void 0:m.id)===M.id&&no(),M.toolName==="codex"?await on.deleteSession(M.id):await on.deleteAgentSession(M.toolName,M.id),De(null),Se(null),xe(U=>U+1),gs(!0)}function no(){var U;(U=He.current)==null||U.abort(),He.current=null,Ge.current="",X.current="",x(!1),v([]),co(Zt),Rt([]),It(""),Ae(""),yt("agent"),w(!1),S(""),A(!1),I(!1),L(null),D(null),k(!1),P(""),R(null),Q(!1),ee(""),K(!1),ie.current+=1;const M=m;p(null),M&&on.closeSession(M.id).catch(J=>Ae(String(J)))}async function rE(M){const U=m;if(U){L(M),D(null),P(""),k(!0);try{const J=M==="terminal"?await on.launchTerminal(U.id):await on.launchBrowser(U.id);D(J)}catch(J){P(J instanceof Error?J.message:String(J))}finally{k(!1)}}}async function pV(M){const U=m;if(!(!U||E)){w(!0),S("");try{const J=await on.updatePermissions(U.id,M);p(le=>(le==null?void 0:le.id)===U.id?{...le,permissions:J}:le),ot(U.id,"已更新当前 Sandbox Session 的 Codex 权限",[{label:"沙箱模式",value:dRe[J.sandboxMode]},{label:"审批策略",value:fRe[J.approvalPolicy]},{label:"审批方式",value:hRe[J.approvalsReviewer]},{label:"网络访问",value:J.networkAccess?"允许":"关闭"}]),Ge.current===U.id&&A(!1)}catch(J){S(J instanceof Error?J.message:String(J))}finally{w(!1)}}}const gV=b.useCallback(async M=>{const U=m==null?void 0:m.id;if(!U)throw new Error("当前没有已连接的 Sandbox。");return on.listDirectories(U,M)},[m==null?void 0:m.id]);async function bV(M){const U=m;if(!(!U||U.workspaceLocked||E)){w(!0),S("");try{const J=await on.updateWorkspace(U.id,M);p(le=>(le==null?void 0:le.id)===U.id?{...le,cwd:J}:le),bn.invalidateSkills(),ot(U.id,"已更新工作空间",[{label:"工作目录",value:J,code:!0}]),Ge.current===U.id&&I(!1)}catch(J){S(J instanceof Error?J.message:String(J))}finally{w(!1)}}}async function yV(M){const U=m,J=$;if(!(!U||!J||q)){Q(!0),ee("");try{await on.resolveApproval(U.id,J.id,M),ot(U.id,mRe(J,M),pRe(J),X.current),R(le=>(le==null?void 0:le.id)===J.id?null:le)}catch(le){ee(le instanceof Error?le.message:String(le))}finally{Q(!1)}}}async function xV(M){const U=m;if(!U||z)return;const J=++ie.current;Ae(""),K(!0);const le=Array.from(M).map(Ee=>{const ke={id:C3(),mimeType:I3(Ee),name:Ee.name,sizeBytes:Ee.size,status:"uploading",previewUrl:URL.createObjectURL(Ee)};return{file:Ee,attachment:ke}});Rt(Ee=>[...Ee,...le.map(({attachment:ke})=>ke)]);try{const ke=(await Promise.all(le.map(async({file:st,attachment:qe})=>{try{const at=await on.uploadFile(U.id,st);return ie.current!==J?null:(Rt(lt=>lt.map(Oe=>Oe.id===qe.id?{...Oe,id:at.id,uri:at.path,name:at.name,mimeType:at.mimeType,sizeBytes:at.sizeBytes,status:"ready"}:Oe)),at)}catch(at){if(ie.current!==J)return null;const lt=at instanceof Error?at.message:String(at);return Rt(Oe=>Oe.map(ct=>ct.id===qe.id?{...ct,status:"error",error:lt}:ct)),Ae(lt),null}}))).filter(st=>st!==null);ie.current===J&&ke.length>0&&ot(U.id,ke.length===1?"已上传文件到 Sandbox":`已上传 ${ke.length} 个文件到 Sandbox`,ke.map((st,qe)=>({label:ke.length===1?"文件":`文件 ${qe+1}`,value:st.path,code:!0})))}finally{ie.current===J?K(!1):co(le.map(({attachment:Ee})=>Ee))}}function EV(M){const U=Zt.find(J=>J.id===M);U&&(co([U]),Rt(J=>J.filter(le=>le.id!==M)))}async function EA(M,U=[],J=[]){var Xi;const le=m,Ee=U.filter(ut=>ut.status==="ready"&&ut.uri);if(!le||y||!M.trim()&&Ee.length===0)return;Ae(""),R(null),ee("");const ke=new AbortController;(Xi=He.current)==null||Xi.abort(),He.current=ke;const st=[];J.length>0&&st.push({kind:"invocation",value:{skills:J.map(({name:ut,description:dt})=>({name:ut,description:dt}))}}),Ee.length>0&&st.push({kind:"attachment",files:Ee.map(ut=>({id:ut.id,mimeType:ut.mimeType,name:ut.name,sizeBytes:ut.sizeBytes}))}),M.trim()&&st.push({kind:"text",text:M});const qe=Ee.map(ut=>ut.uri).filter(ut=>!!ut),lt=[J.map(ut=>`$${ut.name}`).join(" "),M.trim()].filter(Boolean).join(" "),Oe=qe.length>0?[lt,"以下文件已上传到当前 Sandbox 工作空间,请在任务中使用:",...qe.map(ut=>`- ${ut}`)].filter(Boolean).join(` -`):lt,ct=crypto.randomUUID(),$t=crypto.randomUUID(),as=[{role:"user",blocks:nt,meta:{localId:ct,ts:Date.now()/1e3}},{role:"assistant",blocks:[],meta:{localId:$t}}];X.current=$t,v(ft=>[...ft,...as]),x(!0),p(ft=>(ft==null?void 0:ft.id)===le.id?{...ft,busy:!0,workspaceLocked:!0}:ft);try{const ft=await ln.sendMessage({sessionId:le.id,text:Oe,skillIds:J.map(ht=>ht.id)},{signal:ke.signal,onApproval:ht=>{Fe.current===ke&&(ee(""),I(ht))},onApprovalResolved:ht=>{Fe.current===ke&&I(Nt=>(Nt==null?void 0:Nt.id)===ht?null:Nt)},onBlocks:ht=>{Fe.current===ke&&v(Nt=>{const mt=Nt.slice(),dn=mt.findIndex(Pi=>{var os;return((os=Pi.meta)==null?void 0:os.localId)===$t}),bs=mt[dn];return(bs==null?void 0:bs.role)==="assistant"&&(mt[dn]={...bs,blocks:ht}),mt})},onUsage:ht=>{Fe.current===ke&&v(Nt=>{const mt=Nt.slice(),dn=mt.findIndex(Pi=>{var os;return((os=Pi.meta)==null?void 0:os.localId)===$t}),bs=mt[dn];return(bs==null?void 0:bs.role)==="assistant"&&(mt[dn]={...bs,meta:{...bs.meta,sandboxUsage:ht.usage}}),mt})}});if(Fe.current!==ke)return;v(ht=>{const Nt=ht.slice(),mt=Nt.findIndex(bs=>{var Pi;return((Pi=bs.meta)==null?void 0:Pi.localId)===$t}),dn=Nt[mt];return(dn==null?void 0:dn.role)==="assistant"&&(Nt[mt]={...dn,blocks:ft.blocks,meta:{...dn.meta,ts:Date.now()/1e3,...ft.usage?{sandboxUsage:ft.usage.usage}:{}}}),Nt}),co(U)}catch(ft){if((ft==null?void 0:ft.name)==="AbortError"){co(U);return}if(Fe.current!==ke){co(U);return}v(ht=>ht.filter(Nt=>{var mt,dn;return((mt=Nt.meta)==null?void 0:mt.localId)!==ct&&((dn=Nt.meta)==null?void 0:dn.localId)!==$t})),vt(j),Vt(U),gn.setSelectedSkills(J),Le(`内置智能体发送失败:${ft instanceof Error?ft.message:String(ft)}`);try{const ht=await ln.getSettings(le.id);p(Nt=>(Nt==null?void 0:Nt.id)===le.id?{...Nt,...ht}:Nt)}catch{}}finally{Fe.current===ke&&(Fe.current=null,X.current===$t&&(X.current=""),x(!1),I(null),p(ft=>(ft==null?void 0:ft.id)===le.id?{...ft,busy:!1}:ft))}}async function hV(j){if(await gn.executeSlash(j)||!m||y||gn.commandBusy)return;const U=Xt,J=gn.selectedSkills;vt(""),Vt([]),gn.setSelectedSkills([]),await bA(j.trim(),U,J)}function Qo(){no(),Le(""),ji(S3()),Ht("agent"),zt(null),th(),nn(!1);const j=a&&Ue.length===0&&Xt.length>0?a:"";bt.current="",l(""),Sn(null),is([]),d(!1),h([]),Rt(Oa()),eh(Xt),Vt([]),j&&xu(j)}function mV(){var j;_u.current=!0,localStorage.removeItem(aa.app),a&&((j=Je.current.get(a))==null||j.abort()),c.current=null,Qo(),s(""),St({}),qn(null)}function pV(){Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka(null),Qo()}async function gV(j){var U;try{(U=Je.current.get(j))==null||U.abort(),await FS(n,Ve,j),await US(n,Ve,j);const J=ut.current.get(j);J!==void 0&&window.clearTimeout(J),ut.current.delete(j),Ae(le=>{if(!le.has(j))return le;const ve=new Set(le);return ve.delete(j),ve}),ge(le=>{const{[j]:ve,...ke}=le;return ke}),j===a&&Qo(),await Pg(n)}catch(J){Le(String(J))}}async function dh(j){if(m&&no(),j!==a&&(bt.current=j,Le(""),d(!1),h([]),Ht("agent"),zt(null),th(),Rt(Oa()),Sn(null),is([]),l(j),te[j]===void 0)){Ws(!0);try{const U=await xy(n,Ve,j);xt(j,uee(U.events??[],U.state))}catch(U){Le(String(U))}finally{Ws(!1)}}}async function bV(j){if(!j.sessionId||!j.messageId){Le("这条案例缺少会话定位信息,无法跳转。");return}zn(!1),Pt(null),Ts(!1),Ln(!1),ni(!1),yn(!1),zx(n),Lz(j.kind),Og(j.messageId),await dh(j.sessionId)}function yV(){const j=sA||n;zn(!1),Pt(null),Ts(!1),Ln(!1),ni(!1),Di(""),Si(j),Rg("evaluations"),Bz(Mz),yn(!0),zx(""),Og("")}function xV(j){const U=new Map,J=new Map;for(const le of j){if(!le.sessionId||!le.messageId)continue;const ve=U.get(le.sessionId)??new Set;if(ve.add(le.messageId),U.set(le.sessionId,ve),le.runtimeId&&le.userId){const ke=[le.runtimeId,n,le.userId,le.sessionId].join(":"),nt=J.get(ke)??{runtimeId:le.runtimeId,appName:n,userId:le.userId,sessionId:le.sessionId,eventIds:new Set};nt.eventIds.add(le.messageId),J.set(ke,nt)}}if(U.size!==0){ge(le=>{const ve={...le};for(const[ke,nt]of U){const Ge=ve[ke];Ge&&(ve[ke]=Ge.map(rt=>{var lt;return(lt=rt.meta)!=null&<.eventId&&nt.has(rt.meta.eventId)?{...rt,meta:{...rt.meta,feedback:void 0}}:rt}))}return ve}),r(le=>le.map(ve=>{const ke=U.get(ve.id);if(!ke||!ve.state)return ve;const nt={...ve.state};for(const Ge of ke)delete nt[`veadk_feedback:${Ge}`];return{...ve,state:nt}})),bn(le=>{const ve=new Set(le);for(const ke of U.values())for(const nt of ke)ve.delete(nt);return ve});for(const le of J.values())SP({runtimeId:le.runtimeId,appName:le.appName,userId:le.userId,sessionId:le.sessionId,eventIds:[...le.eventIds]});Fz(le=>le&&(j.some(ve=>ve.id===le.id||ve.messageId===le.messageId)?null:le))}}async function yA(j=!0){if(a)return a;c.current||(c.current=yy(n,Ve));const U=c.current;try{const J=await U;j&&l(J);const le=Date.now()/1e3,ve={id:J,lastUpdateTime:le,events:[]};return r(ke=>[ve,...ke.filter(nt=>nt.id!==J)]),J}finally{c.current===U&&(c.current=null)}}async function EV(j){if(!n||!Ve||!a||!rn)return!1;Rn(!0),Le("");try{const U=await HS(n,Ve,a,j,rn.revision);return Sn(U),!0}catch(U){return Le(String(U)),!1}finally{Rn(!1)}}async function vV(j){if(!(!n||!Ve||!a||!rn)){Rn(!0),Le("");try{const U=await GP(n,Ve,a,j,rn.revision);Sn(U)}catch(U){Le(String(U))}finally{Rn(!1)}}}async function wV(j){Le("");let U;try{U=await yA()}catch(le){Le(String(le));return}const J=Array.from(j).map(le=>({file:le,attachment:{id:_3(),mimeType:T3(le),name:le.name,sizeBytes:le.size,status:"uploading"}}));Vt(le=>[...le,...J.map(ve=>ve.attachment)]),await Promise.all(J.map(async({file:le,attachment:ve})=>{try{const ke=await FP(n,Ve,U,le);if($n.current.delete(ve.id)){ke.uri&&await db(n,ke.uri);return}Vt(nt=>nt.map(Ge=>Ge.id===ve.id?ke:Ge))}catch(ke){if($n.current.delete(ve.id))return;const nt=ke instanceof Error?ke.message:String(ke);Vt(Ge=>Ge.map(rt=>rt.id===ve.id?{...rt,status:"error",error:nt}:rt)),Le(nt)}}))}async function xA(j,U=[],J=Oa()){if(!j.trim()&&U.length===0||bu||_g||!n||!Ve)return;Le("");const le=[];(J.skills.length>0||J.targetAgent)&&le.push({kind:"invocation",value:J}),U.length&&le.push({kind:"attachment",files:U.map(Oe=>({id:Oe.id,mimeType:Oe.mimeType,data:Oe.data,uri:Oe.uri,name:Oe.name,sizeBytes:Oe.sizeBytes}))}),j.trim()&&le.push({kind:"text",text:j});const ve=[{role:"user",blocks:le,meta:{ts:Date.now()/1e3}},{role:"assistant",blocks:[]}],ke=!a;ke&&(h(ve),d(!0));const nt=qe;let Ge;try{Ge=await yA(!ke)}catch(Oe){ke&&(h([]),d(!1),vt(j),Rt(J)),Le(String(Oe));return}let rt=rv(rn);if(nt)try{let Oe=await $S(n,Ve,Ge);const ct=u_e[nt].filter($t=>{var as;return(as=st.builtinTools)==null?void 0:as.includes($t)});for(const $t of[...n$[nt],...ct])Oe.tools.some(as=>as.name===$t)||(Oe=await HS(n,Ve,Ge,{kind:"tool",name:$t},Oe.revision));Sn(Oe),rt=rv(Oe)}catch(Oe){ke&&(h([]),d(!1),vt(j),Rt(J)),Le(`任务能力挂载失败:${String(Oe)}`);return}xt(Ge,Oe=>ke?ve:[...Oe,...ve]),ke&&(bt.current=Ge,l(Ge),h([]),d(!1));const lt=new AbortController;Je.current.set(Ge,lt),pt(Ge,!0),Ot(Ge),bt.current=Ge,Or(Oe=>({...Oe,[Ge]:""})),wg(Oe=>({...Oe,[Ge]:new Set})),Ja(Oe=>({...Oe,[Ge]:[]}));try{let Oe=ma(),ct="",$t=0,as=Date.now()/1e3,Wi="",ft="";for await(const ht of rp({appName:n,userId:Ve,sessionId:Ge,text:j,attachments:U,invocation:J,signal:lt.signal,sessionCapabilities:rt})){if(lt.signal.aborted)break;const Nt=ht.error??ht.errorMessage??ht.error_message;if(typeof Nt=="string"&&Nt){bt.current===Ge&&Le(Nt);break}nh(Ge,ht);const mt=ht.author&&ht.author!=="user"?ht.author:"";mt&&mt!==ct&&(ct=mt,Oe=ma()),Oe=ef(Oe,ht);const dn=ht.usageMetadata??ht.usage_metadata;dn!=null&&dn.totalTokenCount&&($t=dn.totalTokenCount),ht.timestamp&&(as=ht.timestamp),ht.id&&(Wi=ht.id);const bs=ht.invocationId??ht.invocation_id;bs&&(ft=bs);const Pi=Oe.blocks,os={author:ct||void 0,tokens:$t||void 0,ts:as,eventId:Wi||void 0,invocationId:ft||void 0};xt(Ge,Ia=>{var hh;const ii=Ia.slice(),on=ii[ii.length-1];return(on==null?void 0:on.role)==="assistant"&&(!((hh=on.meta)!=null&&hh.author)||on.meta.author===ct)?ii[ii.length-1]={...on,blocks:Pi,meta:os}:ii.push({role:"assistant",blocks:Pi,meta:os}),ii})}Pg(n)}catch(Oe){(Oe==null?void 0:Oe.name)!=="AbortError"&&!lt.signal.aborted&&bt.current===Ge&&Le(String(Oe))}finally{Je.current.get(Ge)===lt&&Je.current.delete(Ge),pt(Ge,!1),jt(Ge),Or(Oe=>({...Oe,[Ge]:""})),Ja(Oe=>({...Oe,[Ge]:[]}))}}function SV(j,U){var ve,ke;const J=((ve=j==null?void 0:j.event)==null?void 0:ve.name)??U.id,le=((ke=j==null?void 0:j.event)==null?void 0:ke.context)??{};xA(`[ui-action] ${J}: ${JSON.stringify(le)}`)}async function _V(j){var rt,lt,Oe;if(!j.authUri)throw new Error("事件中没有授权地址。");if(!n||!Ve||!a)throw new Error("会话尚未就绪。");const U=a,J=await QIe(j.authUri),le=ZIe(j.authConfig,J),ve=ct=>ct.map($t=>$t.kind==="auth"&&!$t.done?{...$t,done:!0}:$t);xt(U,ct=>{const $t=ct.slice(),as=$t[$t.length-1];return(as==null?void 0:as.role)==="assistant"&&($t[$t.length-1]={...as,blocks:ve(as.blocks)}),$t});const ke=Ye[Ye.length-1],nt=ve(ke&&ke.role==="assistant"?ke.blocks:[]),Ge=new AbortController;Je.current.set(U,Ge),pt(U,!0),Ot(U);try{let ct=ma(),$t=((rt=ke==null?void 0:ke.meta)==null?void 0:rt.author)??"",as=nt,Wi=0,ft=Date.now()/1e3,ht=((lt=ke==null?void 0:ke.meta)==null?void 0:lt.eventId)??"",Nt=((Oe=ke==null?void 0:ke.meta)==null?void 0:Oe.invocationId)??"";for await(const mt of rp({appName:n,userId:Ve,sessionId:a,text:"",functionResponses:[{id:j.callId,name:"adk_request_credential",response:le}],signal:Ge.signal,sessionCapabilities:rv(rn)})){if(Ge.signal.aborted)break;nh(U,mt);const dn=mt.author&&mt.author!=="user"?mt.author:"";dn&&dn!==$t&&($t=dn,as=[],ct=ma()),ct=ef(ct,mt);const bs=mt.usageMetadata??mt.usage_metadata;bs!=null&&bs.totalTokenCount&&(Wi=bs.totalTokenCount),mt.timestamp&&(ft=mt.timestamp),mt.id&&(ht=mt.id);const Pi=mt.invocationId??mt.invocation_id;Pi&&(Nt=Pi);const os=[...as,...ct.blocks];xt(U,Ia=>{var AA,CA,IA,RA,OA;const ii=Ia.slice(),on=ii[ii.length-1],hh={author:$t||((AA=on==null?void 0:on.meta)==null?void 0:AA.author),tokens:Wi||((CA=on==null?void 0:on.meta)==null?void 0:CA.tokens),ts:ft,eventId:ht||((IA=on==null?void 0:on.meta)==null?void 0:IA.eventId),invocationId:Nt||((RA=on==null?void 0:on.meta)==null?void 0:RA.invocationId)};return(on==null?void 0:on.role)==="assistant"&&(!((OA=on.meta)!=null&&OA.author)||on.meta.author===$t)?ii[ii.length-1]={...on,blocks:os,meta:hh}:ii.push({role:"assistant",blocks:os,meta:hh}),ii})}Pg(n)}catch(ct){(ct==null?void 0:ct.name)!=="AbortError"&&!Ge.signal.aborted&&bt.current===U&&Le(String(ct))}finally{Je.current.get(U)===Ge&&Je.current.delete(U),pt(U,!1),jt(U),Or(ct=>({...ct,[U]:""})),Ja(ct=>({...ct,[U]:[]}))}}if(Ls)return o.jsxs("div",{className:"boot boot-error",children:[o.jsx("p",{children:Ls}),o.jsx("button",{type:"button",onClick:eE,children:"重试"})]});if(Yn===null)return o.jsx("div",{className:"boot"});if(Yn==="unauthenticated")return o.jsx(kIe,{branding:Ze,onUsername:eV});if(!vs)return o.jsx("div",{className:"boot"});const jr=vs.capabilities.createAgents,EA=vs.capabilities.manageAgents,Zo=jr?to:null,vA=jr&&oh,wA=jr&&Cg,SA=wu&&!!(xn||cA||uA),_A=CF(e,Wo),fh=_A.filter(j=>j.runtimeId&&(aA===null||aA.has(j.runtimeId))).map(j=>{var U;return{...j,canDelete:j.runtimeId?((U=zz[j.runtimeId])==null?void 0:U.canDelete)===!0:!1}}),TV=(()=>{if(fh.length===0)return fh;const j=new Map(Ce.map((U,J)=>[U,J]));return[...fh].sort((U,J)=>{const le=j.get(U.id),ve=j.get(J.id);return le!=null&&ve!=null?le-ve:le!=null?-1:ve!=null?1:fh.indexOf(U)-fh.indexOf(J)})})(),TA=j=>{var U;return((U=_A.find(J=>J.id===j))==null?void 0:U.label)??j},Nn=Wo.find(j=>j.runtimeId&&j.apps.some(U=>Uo(j.id,U)===n)),Jo=Nn&&Nn.runtimeId&&Nn.region?{runtimeId:Nn.runtimeId,name:Nn.name,region:Nn.region}:void 0,NV=(Jo==null?void 0:Jo.runtimeId)??"",nc=Nn?Nn.apps.find(j=>Uo(Nn.id,j)===n)??(Bt==null?void 0:Bt.appName)??Nn.apps[0]??Nn.name:"",NA=async(j,U,J="")=>{var rt,lt,Oe,ct,$t,as,Wi,ft;const le=(rt=j.meta)==null?void 0:rt.eventId,ve=a;if(!le||!ve||!Jo)return;const ke=Rb(j),nt=(lt=j.meta)==null?void 0:lt.feedback,Ge={...nt,rating:U,syncStatus:"syncing",updatedAt:Date.now()/1e3};xt(ve,ht=>ht.map(Nt=>{var mt;return((mt=Nt.meta)==null?void 0:mt.eventId)===le?{...Nt,meta:{...Nt.meta,feedback:Ge}}:Nt})),bn(ht=>new Set(ht).add(le)),Nn!=null&&Nn.runtimeId&&nc&&ub({runtimeId:Nn.runtimeId,region:Nn.region??"cn-beijing",appName:nc,userId:Ve,sessionId:ve,messageId:le,invocationId:(Oe=j.meta)==null?void 0:Oe.invocationId,rating:U,input:J,output:ke,createdAt:(ct=j.meta)!=null&&ct.ts?new Date(j.meta.ts*1e3).toISOString():void 0});try{const ht=await OP({appName:n,userId:Ve,sessionId:ve,eventId:le,rating:U});xt(ve,Nt=>Nt.map(mt=>{var dn;return((dn=mt.meta)==null?void 0:dn.eventId)===le?{...mt,meta:{...mt.meta,feedback:ht}}:mt})),r(Nt=>Nt.map(mt=>mt.id===ve?{...mt,state:{...mt.state??{},[`veadk_feedback:${le}`]:ht}}:mt)),Nn!=null&&Nn.runtimeId&&nc&&(ub({runtimeId:Nn.runtimeId,region:Nn.region??"cn-beijing",appName:nc,userId:Ve,sessionId:ve,messageId:le,invocationId:($t=j.meta)==null?void 0:$t.invocationId,rating:ht.rating,input:J,output:ke,createdAt:(as=j.meta)!=null&&as.ts?new Date(j.meta.ts*1e3).toISOString():void 0}),MP({runtimeId:Nn.runtimeId,region:Nn.region??"cn-beijing",appName:nc,pageSize:100}))}catch(ht){xt(ve,Nt=>Nt.map(mt=>{var dn;return((dn=mt.meta)==null?void 0:dn.eventId)===le?{...mt,meta:{...mt.meta,feedback:nt}}:mt})),Nn!=null&&Nn.runtimeId&&nc&&ub({runtimeId:Nn.runtimeId,region:Nn.region??"cn-beijing",appName:nc,userId:Ve,sessionId:ve,messageId:le,invocationId:(Wi=j.meta)==null?void 0:Wi.invocationId,rating:(nt==null?void 0:nt.rating)??null,input:J,output:ke,createdAt:(ft=j.meta)!=null&&ft.ts?new Date(j.meta.ts*1e3).toISOString():void 0}),bt.current===ve&&Le(ht instanceof Error?ht.message:String(ht))}finally{bn(ht=>{const Nt=new Set(ht);return Nt.delete(le),Nt})}},Bg=async j=>{ch(da());let U=$e.current.get(j);U||(U=await xw(j),$e.current.set(j,U)),St(U),Ys(J=>J+1),s(j),Yi(null),Di(""),Si(""),gs(!1),yn(!1),Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),Qo()},kV=async j=>{await Bg(j)},AV=j=>{if(!jr){Le("当前账号没有添加 Agent 的权限。");return}gs(!1),yn(!1),Kx(j),Xs(null),Pt(null),Ln(!0),Le("")},kA=async(j,U=!1)=>{if(j.runtime)try{const J=await _b(j.runtime.runtimeId,j.name,j.runtime.region,j.runtime.currentVersion);await Bg(J)}catch(J){const le=J instanceof Error?J.message:String(J);if(Le(le),U)throw new Error(le)}},CV=j=>{j.runtime&&(Yi(j),Di(""),Si(""),gs(!1),yn(!0),Le(""))},IV=j=>{if(!jr){Le("当前账号没有创建智能体的权限。");return}gA(j,!0)},sE=()=>{m&&no(),bt.current="",l(""),Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),Di(""),Si(""),gs(!0),ka(null),Le("")},RV=()=>{m&&no(),bt.current="",l(""),Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka("catalog"),Le("")},OV=async j=>{if(zx(""),Og(""),j.runtimeId&&j.id.startsWith("detail:")){try{const U=await _b(j.runtimeId,j.label,j.region??"cn-beijing",j.currentVersion);await Bg(U)}catch(U){Le(U instanceof Error?U.message:String(U))}return}await Bg(j.id)},iE=xn!=null&&xn.runtime?Wo.find(j=>{var U;return j.runtimeId===((U=xn.runtime)==null?void 0:U.runtimeId)}):void 0,el=xn!=null&&xn.runtime?{id:`detail:${xn.runtime.runtimeId}`,label:xn.name,app:xn.appName??xn.name,remote:!0,runtimeApp:iE==null?void 0:iE.apps[0],runtimeId:xn.runtime.runtimeId,region:xn.runtime.region,currentVersion:xn.runtime.currentVersion,canDelete:xn.runtime.canDelete}:null,jV=Vx?"applications":hn?"search":Yo||wu||Xe||ze?"agents":a||to||ah||Cg||oh?null:"new-chat";return o.jsxs("div",{className:"layout",children:[o.jsx(Iee,{branding:Ze,access:vs,features:Za,sessions:i,currentSessionId:a,activePage:jV,streamingSids:un,onNewChat:pV,onSearch:()=>{m&&no(),Pt(null),ni(!1),Ts(!1),Ln(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka(null),zn(!0),Le("")},onQuickCreate:()=>{if(!jr){Le("当前账号没有添加 Agent 的权限。");return}m&&no(),bt.current="",l(""),ni(!1),Ts(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka(null),Pt(null),Xs(null),Kx("cn-beijing"),Ln(!0),Le("")},onSkillCenter:()=>{m&&no(),Pt(null),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka(null),ni(!0),Le("")},onAddAgent:()=>{if(!jr){Le("当前账号没有添加 Agent 的权限。");return}m&&no(),bt.current="",Pt(null),ni(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka(null),l(""),Ln(!1),Ts(!0),Le("")},onMyAgents:sE,onApplications:RV,onPickSession:j=>{Pt(null),ni(!1),Ts(!1),Ln(!1),zn(!1),yn(!1),Yi(null),Me(null),_e(null),gs(!1),ka(null),Le(""),dh(j)},onDeleteSession:gV,userInfo:Rr,version:Wn,onLogout:tV}),(()=>{const j=o.jsxs("div",{className:`composer-slot${m?" sandbox-composer-wrap":""}`,children:[m&&o.jsx(HCe,{agentName:m.toolName==="codex"?"Codex":m.toolName==="openclaw"?"OpenClaw":"Hermes",onExit:Qo}),m?o.jsx(wIe,{appName:n,value:fn,onChange:vt,onSubmit:U=>void hV(U),disabled:!1,busy:y||gn.commandBusy,attachments:Xt,onAddFiles:dV,onRemoveAttachment:fV,actions:{onOpenTerminal:()=>void nE("terminal"),onOpenBrowser:()=>void nE("browser"),onOpenPermissions:()=>{S(""),A(!0)},onOpenWorkspace:()=>{S(""),R(!0)},workspaceLocked:m.workspaceLocked,settingsBusy:E,uploadBusy:z||y},models:gn.models,modelsLoading:gn.modelsLoading,modelsLoaded:gn.modelsLoaded,currentModel:m.model,onRequestModels:()=>void gn.loadModels(),skills:gn.skills,skillsLoading:gn.skillsLoading,skillsLoaded:gn.skillsLoaded,selectedSkills:gn.selectedSkills,onRequestSkills:()=>void gn.loadSkills(),onSelectedSkillsChange:gn.setSelectedSkills}):o.jsx(d_e,{sessionId:a,sessionInitializing:u,appName:n,agentName:n?TA(n):"Agent",value:fn,onChange:vt,onSubmit:()=>{if(!m&&it==="skill-create"){const ve=fn.trim();if(!ve||kt)return;const ke={id:`pending-${Date.now()}`,prompt:ve,status:"provisioning",candidates:E2.map((Ge,rt)=>({id:`pending-${rt}`,model:Ge,modelLabel:Ge,status:"queued",stage:"provisioning",files:[],activities:[{id:"provisioning",kind:"status",text:"正在拉起 Sandbox",status:"running"}]}))};nn(!0);const nt=++Kt.current;Le(""),Qe(ke),vt(""),vAe(ve,Ge=>{Kt.current===nt&&Qe(Ge)}).then(Ge=>{Kt.current===nt&&Qe(Ge)}).catch(Ge=>{Kt.current===nt&&(Qe(null),vt(ve),Le(Ge instanceof Error?Ge.message:String(Ge)))}).finally(()=>{Kt.current===nt&&nn(!1)});return}const U=fn;if(vt(""),m){bA(U);return}const J=Xt,le=Qt;Vt([]),Rt(Oa()),xA(U,J,le),co(J)},disabled:m?!1:!Ve||it==="temporary"||it==="agent"&&!n,busy:m?y:it==="skill-create"?kt:bu,showMeta:Ye.length>0&&!m,attachments:m?[]:Xt,skills:m?[]:Bx,agents:m?[]:Ux,invocation:m?Oa():Qt,capabilitiesLoading:!m&&Un,allowAttachments:!m,onInvocationChange:Rt,onAddFiles:wV,onRemoveAttachment:kg,newChatMode:m?"agent":it,newChatTask:m?null:qe,newChatLayout:!m&&Ye.length===0&&Ee===null,showAgentPicker:!m&&Ye.length===0&&Ee===null&&it==="agent",agentPickerDisabled:!Ve||bu,selectedRuntimeId:Jo==null?void 0:Jo.runtimeId,runtimeScope:vs.capabilities.runtimeScope,onSelectRuntime:async U=>{var J;await kA({id:U.runtimeId,name:U.name,description:((J=U.description)==null?void 0:J.trim())||"暂无描述",createdAt:U.createdAt??"",specificationLabel:"地域",specification:U.region==="cn-shanghai"?"上海":"北京",isMine:U.isMine,runtime:{runtimeId:U.runtimeId,region:U.region,currentVersion:U.currentVersion,canDelete:U.canDelete}},!0)},onSelectSandboxSession:tE,showModeSelector:!1,temporaryEnabled:Tt&&st.temporaryEnabled,skillCreateEnabled:Tt&&st.skillCreateEnabled,harnessEnabled:Tt&&st.harnessEnabled,builtinTools:Tt?st.builtinTools:[],onModeChange:U=>{if(!(U==="temporary"&&!st.temporaryEnabled||U==="skill-create"&&!st.skillCreateEnabled)){if(U==="temporary"){zt(null),Ht(U),gA();return}if(Ht(U),U!=="agent"&&zt(null),Le(""),U==="skill-create"){Rt(Oa());const J=a&&Ue.length===0&&Xt.length>0?a:"";eh(Xt),Vt([]),J&&(bt.current="",l(""),xu(J))}}},onTaskChange:zt})]});return o.jsx("section",{className:"main-shell",children:o.jsxs("main",{className:`main${m?" is-sandbox-session":""}`,children:[_n&&o.jsx("div",{className:"error",role:"alert",children:_n}),ot&&o.jsx("div",{className:"error",role:"alert",children:ot}),Xn&&o.jsxs("div",{className:"session-loading",children:[o.jsx(wn,{className:"icon spin"})," 加载会话…"]}),sA&&!SA&&!vA&&!wA&&!hn&&!ah&&Zo===null&&o.jsx("div",{className:"case-return-bar",children:o.jsxs("button",{type:"button",onClick:yV,children:[o.jsx(KN,{"aria-hidden":!0}),o.jsx("span",{children:"返回评测案例"})]})}),Vx==="github"?o.jsx(vSe,{onBack:()=>ka("catalog")}):Vx==="catalog"?o.jsx(mSe,{onOpenGitHub:()=>ka("github")}):ze?o.jsx(mIe,{workspace:ze,onBack:sE}):Xe?o.jsx(cIe,{session:Xe,onBack:sE,onOpen:()=>tE(Xe),onDelete:()=>aV(Xe)}):Yo?o.jsx(dSe,{canCreate:jr,runtimeScope:vs.capabilities.runtimeScope,onCreateAgent:AV,onUseAgent:kA,onViewAgentDetails:CV,onCreateSandboxAgent:IV,onUseSandboxAgent:tE,onViewSandboxAgentDetails:rV,sandboxRefreshKey:Te,connectedRuntimeId:NV,hiddenRuntimeIds:Vz,drafts:Eu,deploymentTasks:sh,draftDeploymentTaskIds:Fx,onViewDeploymentTask:Qx,onEditDraft:U=>{gs(!1),Xs(U.draft),an(U.id),si.current=U,na(U.deploymentTarget??null),Di(""),Si(""),Pt("custom"),Le("")},onDeleteDraft:U=>dA([U])}):SA?o.jsx(twe,{agents:el?[el]:TV,drafts:Eu,agentOrder:Ce,selectedAgentId:n,agentInfo:Bt,agentInfoAgentId:n,loadingAgentInfo:Un,canCreate:jr,canUpdate:jr||EA,loadingAgents:$z,agentsError:Hz,deploymentTasks:sh,focusedDeploymentTaskId:cA,focusedAgentId:(el==null?void 0:el.id)??uA,focusedAgentSection:Dz,focusedCaseKind:Pz,feedbackCasePreview:Uz,detailOnly:!0,onRetryAgents:()=>void Wx(),onAgentOrderChange:qz,onDeleteAgents:Yz,onDeleteDrafts:dA,onSelectAgent:kV,onTalkAgent:OV,onOpenFeedbackCase:U=>void bV(U),onFeedbackCasesDeleted:xV,onCreateAgent:()=>{if(!jr){Le("当前账号没有添加 Agent 的权限。");return}yn(!1),Ln(!0),Pt(null),Xs(null),na(null),Kx("cn-beijing"),an(""),si.current=null,Di(""),Si(""),Le("")},onUpdateAgent:(U,J)=>{var ve;if(!EA&&!jr){Le("当前账号没有管理 Agent 的权限。");return}if(!J.canUpdate){Le(J.reason||"当前 Runtime 不支持原地更新。");return}if(!J.runtime.runtimeId){Le("仅支持更新已部署的云端智能体。");return}if(!J.runtime.region){Le("Runtime 缺少地域信息,无法更新。");return}if(!((ve=J.agent)!=null&&ve.appName)){Le("Runtime 缺少智能体名称,无法更新。");return}yn(!1),Xs(U);const le=`runtime-${J.runtime.runtimeId}`;an(le),si.current=Eu.find(ke=>ke.id===le)??null,Di(""),Si(""),na({runtimeId:J.runtime.runtimeId,name:J.runtime.name||J.agent.name||U.name,region:J.runtime.region,appName:J.agent.appName,currentVersion:J.runtime.currentVersion}),Pt("custom"),Le("")},onEditDraft:U=>{yn(!1),Xs(U.draft),an(U.id),si.current=U,na(U.deploymentTarget??null),Di(""),Si(""),Pt("custom"),Le("")}},(el==null?void 0:el.id)??"workspace"):vA?o.jsx(s$,{title:"您想以哪种方式添加 Agent 来运行?",sub:"选择最适合你的方式,下一步即可开始",cards:[{key:"scratch",icon:VIe,title:"从 0 快速创建",desc:"用智能 / 自定义 / 模板 / 工作流的方式从零创建一个 Agent。",onClick:()=>{Ln(!1),Xs(null),Pt("menu")}},{key:"package",icon:UZ,title:"从代码包添加和部署",desc:"上传 Agent 项目压缩包,查看代码并直接部署到 AgentKit Runtime。",onClick:()=>{Ln(!1),Xs(null),Pt("package")}}]}):hn?o.jsx(See,{userId:Ve,appId:n,agentInfo:Bt,capabilitiesLoading:Un,agentLabel:TA,onOpenSession:nV}):wA?o.jsx(Pve,{onAdded:U=>{ch(da()),Ts(!1),s(U)},onCancel:()=>Ts(!1)}):ah?o.jsx(jve,{}):Zo!==null&&!$x?o.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:[o.jsx("div",{style:{fontSize:18,fontWeight:600},children:"需要配置火山引擎 AK/SK"}),o.jsxs("div",{style:{maxWidth:420,lineHeight:1.6},children:["智能体工作台需要 Volcengine 凭据才能使用。请在运行环境中设置"," ",o.jsx("code",{children:"VOLCENGINE_ACCESS_KEY"})," 与"," ",o.jsx("code",{children:"VOLCENGINE_SECRET_KEY"})," 后重试。"]})]}):Zo==="menu"?o.jsx(ATe,{onSelect:U=>{Xs(null),na(null),Di(""),Si(""),an(U==="custom"?`draft-${Date.now().toString(36)}`:""),si.current=null,Pt(U)},onImport:U=>{Xs(U),na(null),Di(""),Si(""),an(`draft-${Date.now().toString(36)}`),si.current=null,Pt("custom")}}):Zo==="intelligent"?o.jsx(rNe,{userId:Ve,onBack:()=>Pt("menu"),onCreate:Dg,onAgentAdded:Xx,onDeploymentTaskChange:rh}):Zo==="custom"?o.jsx(Y2e,{initialDraft:Ig??void 0,onBack:()=>Pt("menu"),onCreate:Dg,onAgentAdded:Xx,features:Za,onDeploymentTaskChange:rh,deploymentTarget:Su??void 0,initialDeployRegion:Mg,onDraftChange:(U,J)=>{tt&&(J?Kz(tt,U,Su??void 0):fA(tt))},onDiscard:tt?()=>{fA(tt),an(""),si.current=null,Xs(null),na(null),Di(""),Si(n),Pt(null),Ln(!1),yn(!0),Le("")}:void 0,onDeploymentStarted:hA,onDeploymentComplete:mA},tt||"custom"):Zo==="template"?o.jsx(Q2e,{onBack:()=>Pt("menu"),onCreate:Dg}):Zo==="workflow"?o.jsx(rAe,{onBack:()=>Pt("menu"),onCreate:Dg}):Zo==="package"?o.jsx(uAe,{onBack:()=>{Pt(null),Ln(!0)},onAgentAdded:Xx,onDeploymentTaskChange:rh,onDeploymentStarted:hA,onDeploymentComplete:mA,initialDeployRegion:Mg}):Ye.length===0&&Ee?o.jsx(DAe,{initialJob:Ee}):Ye.length===0&&!Tt?o.jsxs("div",{className:"session-loading",children:[o.jsx(wn,{className:"icon spin"})," 正在检查 Agent 能力…"]}):Ye.length===0?o.jsxs("div",{className:"welcome",children:[o.jsxs("div",{className:"welcome-primary",children:[o.jsxs("div",{className:"welcome-heading",children:[o.jsx(DCe,{canUpdate:vs.role==="admin"}),o.jsx("h1",{className:"welcome-title",children:m?"让灵感自由生长":it==="skill-create"?"想创建一个什么 Skill?":ur})]}),j]}),o.jsx(_Ce,{})]},`welcome-${st.agentId??n}`):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`transcript${Tg?" is-streaming":""}`,ref:uh,onScroll:Wz,onWheel:Xz,onTouchMove:Qz,children:Ye.map((U,J)=>{var ft,ht,Nt,mt,dn,bs,Pi;const le=J===Ye.length-1;if(U.role==="system")return U.activity?o.jsx("div",{className:"turn turn--system",children:o.jsx(zCe,{activity:U.activity,time:fT((ft=U.meta)==null?void 0:ft.ts)})},U.activity.id):null;if(U.role==="user"){const os=U.blocks.map(on=>on.kind==="text"?on.text:"").join(""),Ia=U.blocks.flatMap(on=>on.kind==="attachment"?on.files:[]),ii=U.blocks.find(on=>on.kind==="invocation");return o.jsxs(es.div,{className:"turn turn--user",initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[(ii==null?void 0:ii.kind)==="invocation"&&o.jsx(gx,{value:ii.value}),Ia.length>0&&o.jsx(bx,{appName:n,items:Ia}),os&&o.jsx("div",{className:"bubble",children:o.jsx(zf,{text:os})}),o.jsxs("div",{className:"turn-actions turn-actions--right",children:[((ht=U.meta)==null?void 0:ht.ts)&&o.jsx("span",{className:"meta-text",children:fT(U.meta.ts)}),o.jsx(v3,{text:os})]})]},J)}const ve=((Nt=U.meta)==null?void 0:Nt.author)??"",ke=ve&&wi?dT(wi,ve):void 0,nt=!!(ve&&Ng.length>0&&!Ng.includes(ve)),Ge=(ke==null?void 0:ke.name)||ve,rt=(ke==null?void 0:ke.description)||(nt?"正在执行主 Agent 移交的任务。":"");if(U.blocks.length>0&&U.blocks.every(os=>os.kind==="agent-transfer"))return null;const lt=U.blocks.length===0,Oe=((dn=(mt=U.meta)==null?void 0:mt.feedback)==null?void 0:dn.rating)??null,ct=((bs=U.meta)==null?void 0:bs.eventId)??"",$t=On.has(ct),as=!!(Jo&&ct&&Rb(U)),Wi=as?qIe(Ye,J):"";return o.jsxs(es.div,{ref:os=>{ct&&(os?Zx.current.set(ct,os):Zx.current.delete(ct))},className:["turn turn--assistant",nt?"turn--subagent":"",lh&&lh===ct?"is-feedback-target":""].filter(Boolean).join(" "),initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[nt&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"subagent-run-label",children:[o.jsxs("span",{className:"subagent-run-handoff",children:[o.jsx(LZ,{}),o.jsx("span",{children:"智能体移交"})]}),o.jsx("span",{className:"subagent-run-title",children:Ge})]}),o.jsx("p",{className:"subagent-run-description",title:rt,children:rt})]}),lt?le&&eo?o.jsx(t$,{}):null:o.jsxs(o.Fragment,{children:[o.jsx(y2,{appName:n,blocks:U.blocks,streaming:le&&(eo||Sg),onStreamFrame:le?Zz:void 0,onAction:SV,onAuth:_V,onArtifactDownload:(os,Ia)=>PP(n,Ve,a,os,Ia),onArtifactPreview:(os,Ia)=>UP(n,Ve,a,os,Ia)}),!(le&&eo)&&!WIe(U)&&o.jsx("div",{className:"turn-empty",children:"本次没有返回可显示的内容。"}),!(le&&eo)&&!XIe(U)&&o.jsxs("div",{className:"turn-meta",children:[m&&((Pi=U.meta)!=null&&Pi.sandboxUsage)?o.jsx(GCe,{usage:U.meta.sandboxUsage}):null,o.jsxs("div",{className:"turn-actions",children:[as&&o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:`icon-btn feedback-btn${Oe==="good"?" feedback-btn--good":""}`,"aria-label":"赞","aria-pressed":Oe==="good","aria-busy":$t,title:Oe==="good"?"取消点赞":"赞",disabled:$t,onClick:()=>void NA(U,Oe==="good"?null:"good",Wi),children:o.jsx(_Ie,{className:"icon",filled:Oe==="good"})}),o.jsx("button",{type:"button",className:`icon-btn feedback-btn${Oe==="bad"?" feedback-btn--bad":""}`,"aria-label":"踩","aria-pressed":Oe==="bad","aria-busy":$t,title:Oe==="bad"?"取消点踩":"踩",disabled:$t,onClick:()=>void NA(U,Oe==="bad"?null:"bad",Wi),children:o.jsx(TIe,{className:"icon",filled:Oe==="bad"})})]}),!m&&o.jsx("button",{className:"icon-btn",title:"Tracing 火焰图",onClick:()=>ps(!0),children:o.jsx(GIe,{})}),o.jsx(v3,{text:Rb(U)})]}),U.meta&&o.jsx("span",{className:"meta-text",children:KIe(U.meta)})]})]})]},J)})}),!m&&o.jsx(Zue,{appName:n,info:Bt,loading:Un,activeAgent:yu,seenAgents:qo,execPath:Zf,capabilities:rn,capabilityLoading:hs,capabilityMutating:ms,builtinTools:vi,onAddCapability:EV,onRemoveCapability:U=>void vV(U)}),o.jsx("div",{className:"conversation-composer-slot",children:j})]})]})})})(),Ki&&a&&o.jsx(oz,{appName:n,sessionId:a,onClose:()=>ps(!1)}),o.jsx($Ce,{open:se,state:de,agentKind:he,error:we,onCancel:sV,onConfirm:j=>void iV(j)}),m?o.jsxs(o.Fragment,{children:[o.jsx(eIe,{open:M!==null,kind:M??"terminal",launch:G,loading:F,error:O,onReload:()=>{M&&nE(M)},onClose:()=>{L(null),D(null),N(!1),P("")}}),o.jsx(rIe,{open:k,value:m.permissions,busy:E||y,error:T,onSave:j=>void oV(j),onClose:()=>{E||(A(!1),S(""))}}),o.jsx(aIe,{open:C,cwd:m.cwd,locked:m.workspaceLocked,busy:E,error:T,browse:lV,onSave:j=>void cV(j),onClose:()=>{E||(R(!1),S(""))}}),o.jsx(tIe,{open:gn.threadsOpen,threads:gn.threads,currentThreadId:m.threadId,loading:gn.threadsLoading,error:gn.threadsError,onSelect:j=>void gn.resumeThread(j),onClose:gn.closeThreads}),o.jsx(oIe,{approval:$,busy:q,error:B,onDecision:j=>void uV(j)})]}):null,o.jsx(AIe,{open:Go,checking:ie,error:Tn,onLogin:()=>void Jz()}),Gz&&o.jsx("div",{className:"confirm-scrim",onClick:()=>qx(!1),children:o.jsxs("div",{className:"confirm-box",onClick:j=>j.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",children:"返回创建首页?"}),o.jsx("div",{className:"confirm-text",children:"返回后当前填写的内容将会丢失,确定要返回吗?"}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{className:"confirm-btn",onClick:()=>qx(!1),children:"取消"}),o.jsx("button",{className:"confirm-btn confirm-btn--danger",onClick:()=>{Xs(null),Pt("menu"),qx(!1)},children:"确定返回"})]})]})})]})}const k3="veadk.preloadRecoveryAt";window.addEventListener("vite:preloadError",e=>{const t=Date.now();let n=0;try{n=Number(sessionStorage.getItem(k3)||"0")}catch{}if(!(t-n<1e4)){e.preventDefault();try{sessionStorage.setItem(k3,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})()||jq.createRoot(document.getElementById("root")).render(o.jsx(Lt.StrictMode,{children:o.jsx(Vq,{reducedMotion:"user",children:o.jsx(SZ,{maskOpacity:.9,children:o.jsx(rRe,{})})})}));export{U2 as $,s0e as A,i0e as B,GU as C,o as D,gt as E,Bn as F,Wt as G,cRe as H,FH as I,Ege as J,xi as K,b as L,rx as M,Nr as N,uRe as O,SH as P,km as Q,Lt as R,Xc as S,Mke as T,AH as U,Ri as V,ar as W,mu as X,kx as Y,kH as Z,Zc as _,Jr as a,MU as a0,UH as b,Uke as c,aM as d,hf as e,Vi as f,dRe as g,dH as h,Zl as i,Cx as j,xf as k,lNe as l,yRe as m,Kk as n,rme as o,gNe as p,Ep as q,sn as r,wge as s,Cge as t,ome as u,Ef as v,C0e as w,uge as x,dge as y,P0e as z}; +`):lt,ct=crypto.randomUUID(),$t=crypto.randomUUID(),os=[{role:"user",blocks:st,meta:{localId:ct,ts:Date.now()/1e3}},{role:"assistant",blocks:[],meta:{localId:$t}}];X.current=$t,v(ut=>[...ut,...os]),x(!0),p(ut=>(ut==null?void 0:ut.id)===le.id?{...ut,busy:!0,workspaceLocked:!0}:ut);try{const ut=await on.sendMessage({sessionId:le.id,text:Oe,skillIds:J.map(dt=>dt.id)},{signal:ke.signal,onApproval:dt=>{He.current===ke&&(ee(""),R(dt))},onApprovalResolved:dt=>{He.current===ke&&R(_t=>(_t==null?void 0:_t.id)===dt?null:_t)},onBlocks:dt=>{He.current===ke&&v(_t=>{const ft=_t.slice(),dn=ft.findIndex(Ui=>{var ls;return((ls=Ui.meta)==null?void 0:ls.localId)===$t}),bs=ft[dn];return(bs==null?void 0:bs.role)==="assistant"&&(ft[dn]={...bs,blocks:dt}),ft})},onUsage:dt=>{He.current===ke&&v(_t=>{const ft=_t.slice(),dn=ft.findIndex(Ui=>{var ls;return((ls=Ui.meta)==null?void 0:ls.localId)===$t}),bs=ft[dn];return(bs==null?void 0:bs.role)==="assistant"&&(ft[dn]={...bs,meta:{...bs.meta,sandboxUsage:dt.usage}}),ft})}});if(He.current!==ke)return;v(dt=>{const _t=dt.slice(),ft=_t.findIndex(bs=>{var Ui;return((Ui=bs.meta)==null?void 0:Ui.localId)===$t}),dn=_t[ft];return(dn==null?void 0:dn.role)==="assistant"&&(_t[ft]={...dn,blocks:ut.blocks,meta:{...dn.meta,ts:Date.now()/1e3,...ut.usage?{sandboxUsage:ut.usage.usage}:{}}}),_t}),co(U)}catch(ut){if((ut==null?void 0:ut.name)==="AbortError"){co(U);return}if(He.current!==ke){co(U);return}v(dt=>dt.filter(_t=>{var ft,dn;return((ft=_t.meta)==null?void 0:ft.localId)!==ct&&((dn=_t.meta)==null?void 0:dn.localId)!==$t})),It(M),Rt(U),bn.setSelectedSkills(J),Ae(`内置智能体发送失败:${ut instanceof Error?ut.message:String(ut)}`);try{const dt=await on.getSettings(le.id);p(_t=>(_t==null?void 0:_t.id)===le.id?{..._t,...dt}:_t)}catch{}}finally{He.current===ke&&(He.current=null,X.current===$t&&(X.current=""),x(!1),R(null),p(ut=>(ut==null?void 0:ut.id)===le.id?{...ut,busy:!1}:ut))}}async function vV(M){if(await bn.executeSlash(M)||!m||y||bn.commandBusy)return;const U=Zt,J=bn.selectedSkills;It(""),Rt([]),bn.setSelectedSkills([]),await EA(M.trim(),U,J)}function Qo(){no(),Ae(""),Yn(A3()),yt("agent"),qt(null),th(),Qt(!1);const M=a&&Pe.length===0&&Zt.length>0?a:"";et.current="",l(""),Sn(null),ms([]),d(!1),h([]),jt(ja()),eh(Zt),Rt([]),M&&xu(M)}function wV(){var M;_u.current=!0,localStorage.removeItem(aa.app),a&&((M=Jt.current.get(a))==null||M.abort()),c.current=null,Qo(),s(""),vt({}),Gn(null)}function SV(){Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka(null),Qo()}async function _V(M){var U;try{(U=Jt.current.get(M))==null||U.abort(),await zS(n,Ke,M),await HS(n,Ke,M);const J=fe.current.get(M);J!==void 0&&window.clearTimeout(J),fe.current.delete(M),yn(le=>{if(!le.has(M))return le;const Ee=new Set(le);return Ee.delete(M),Ee}),ge(le=>{const{[M]:Ee,...ke}=le;return ke}),M===a&&Qo(),await Bg(n)}catch(J){Ae(String(J))}}async function dh(M){if(m&&no(),M!==a&&(et.current=M,Ae(""),d(!1),h([]),yt("agent"),qt(null),th(),jt(ja()),Sn(null),ms([]),l(M),se[M]===void 0)){Zs(!0);try{const U=await Ey(n,Ke,M);bt(M,xee(U.events??[],U.state))}catch(U){Ae(String(U))}finally{Zs(!1)}}}async function TV(M){if(!M.sessionId||!M.messageId){Ae("这条案例缺少会话定位信息,无法跳转。");return}$n(!1),Pt(null),As(!1),Mn(!1),ri(!1),xn(!1),Kx(n),zz(M.kind),Og(M.messageId),await dh(M.sessionId)}function NV(){const M=aA||n;$n(!1),Pt(null),As(!1),Mn(!1),ri(!1),Bi(""),Ni(M),jg("evaluations"),Kz(Hz),xn(!0),Kx(""),Og("")}function kV(M){const U=new Map,J=new Map;for(const le of M){if(!le.sessionId||!le.messageId)continue;const Ee=U.get(le.sessionId)??new Set;if(Ee.add(le.messageId),U.set(le.sessionId,Ee),le.runtimeId&&le.userId){const ke=[le.runtimeId,n,le.userId,le.sessionId].join(":"),st=J.get(ke)??{runtimeId:le.runtimeId,appName:n,userId:le.userId,sessionId:le.sessionId,eventIds:new Set};st.eventIds.add(le.messageId),J.set(ke,st)}}if(U.size!==0){ge(le=>{const Ee={...le};for(const[ke,st]of U){const qe=Ee[ke];qe&&(Ee[ke]=qe.map(at=>{var lt;return(lt=at.meta)!=null&<.eventId&&st.has(at.meta.eventId)?{...at,meta:{...at.meta,feedback:void 0}}:at}))}return Ee}),r(le=>le.map(Ee=>{const ke=U.get(Ee.id);if(!ke||!Ee.state)return Ee;const st={...Ee.state};for(const qe of ke)delete st[`veadk_feedback:${qe}`];return{...Ee,state:st}})),Rn(le=>{const Ee=new Set(le);for(const ke of U.values())for(const st of ke)Ee.delete(st);return Ee});for(const le of J.values())AP({runtimeId:le.runtimeId,appName:le.appName,userId:le.userId,sessionId:le.sessionId,eventIds:[...le.eventIds]});Yz(le=>le&&(M.some(Ee=>Ee.id===le.id||Ee.messageId===le.messageId)?null:le))}}async function vA(M=!0){if(a)return a;c.current||(c.current=xy(n,Ke));const U=c.current;try{const J=await U;M&&l(J);const le=Date.now()/1e3,Ee={id:J,lastUpdateTime:le,events:[]};return r(ke=>[Ee,...ke.filter(st=>st.id!==J)]),J}finally{c.current===U&&(c.current=null)}}async function AV(M){if(!n||!Ke||!a||!cn)return!1;Un(!0),Ae("");try{const U=await GS(n,Ke,a,M,cn.revision);return Sn(U),!0}catch(U){return Ae(String(U)),!1}finally{Un(!1)}}async function CV(M){if(!(!n||!Ke||!a||!cn)){Un(!0),Ae("");try{const U=await XP(n,Ke,a,M,cn.revision);Sn(U)}catch(U){Ae(String(U))}finally{Un(!1)}}}async function IV(M){Ae("");let U;try{U=await vA()}catch(le){Ae(String(le));return}const J=Array.from(M).map(le=>({file:le,attachment:{id:C3(),mimeType:I3(le),name:le.name,sizeBytes:le.size,status:"uploading"}}));Rt(le=>[...le,...J.map(Ee=>Ee.attachment)]),await Promise.all(J.map(async({file:le,attachment:Ee})=>{try{const ke=await GP(n,Ke,U,le);if(qn.current.delete(Ee.id)){ke.uri&&await fb(n,ke.uri);return}Rt(st=>st.map(qe=>qe.id===Ee.id?ke:qe))}catch(ke){if(qn.current.delete(Ee.id))return;const st=ke instanceof Error?ke.message:String(ke);Rt(qe=>qe.map(at=>at.id===Ee.id?{...at,status:"error",error:st}:at)),Ae(st)}}))}async function wA(M,U=[],J=ja()){if(!M.trim()&&U.length===0||bu||Tg||!n||!Ke)return;Ae("");const le=[];(J.skills.length>0||J.targetAgent)&&le.push({kind:"invocation",value:J}),U.length&&le.push({kind:"attachment",files:U.map(Oe=>({id:Oe.id,mimeType:Oe.mimeType,data:Oe.data,uri:Oe.uri,name:Oe.name,sizeBytes:Oe.sizeBytes}))}),M.trim()&&le.push({kind:"text",text:M});const Ee=[{role:"user",blocks:le,meta:{ts:Date.now()/1e3}},{role:"assistant",blocks:[]}],ke=!a;ke&&(h(Ee),d(!0));const st=$e;let qe;try{qe=await vA(!ke)}catch(Oe){ke&&(h([]),d(!1),It(M),jt(J)),Ae(String(Oe));return}let at=lv(cn);if(st)try{let Oe=await VS(n,Ke,qe);const ct=x_e[st].filter($t=>{var os;return(os=it.builtinTools)==null?void 0:os.includes($t)});for(const $t of[...u$[st],...ct])Oe.tools.some(os=>os.name===$t)||(Oe=await GS(n,Ke,qe,{kind:"tool",name:$t},Oe.revision));Sn(Oe),at=lv(Oe)}catch(Oe){ke&&(h([]),d(!1),It(M),jt(J)),Ae(`任务能力挂载失败:${String(Oe)}`);return}bt(qe,Oe=>ke?Ee:[...Oe,...Ee]),ke&&(et.current=qe,l(qe),h([]),d(!1));const lt=new AbortController;Jt.current.set(qe,lt),Me(qe,!0),je(qe),et.current=qe,jr(Oe=>({...Oe,[qe]:""})),Sg(Oe=>({...Oe,[qe]:new Set})),Ja(Oe=>({...Oe,[qe]:[]}));try{let Oe=ma(),ct="",$t=0,os=Date.now()/1e3,Xi="",ut="";for await(const dt of ap({appName:n,userId:Ke,sessionId:qe,text:M,attachments:U,invocation:J,signal:lt.signal,sessionCapabilities:at})){if(lt.signal.aborted)break;const _t=dt.error??dt.errorMessage??dt.error_message;if(typeof _t=="string"&&_t){et.current===qe&&Ae(_t);break}nh(qe,dt);const ft=dt.author&&dt.author!=="user"?dt.author:"";ft&&ft!==ct&&(ct=ft,Oe=ma()),Oe=ef(Oe,dt);const dn=dt.usageMetadata??dt.usage_metadata;dn!=null&&dn.totalTokenCount&&($t=dn.totalTokenCount),dt.timestamp&&(os=dt.timestamp),dt.id&&(Xi=dt.id);const bs=dt.invocationId??dt.invocation_id;bs&&(ut=bs);const Ui=Oe.blocks,ls={author:ct||void 0,tokens:$t||void 0,ts:os,eventId:Xi||void 0,invocationId:ut||void 0};bt(qe,Ia=>{var hh;const oi=Ia.slice(),an=oi[oi.length-1];return(an==null?void 0:an.role)==="assistant"&&(!((hh=an.meta)!=null&&hh.author)||an.meta.author===ct)?oi[oi.length-1]={...an,blocks:Ui,meta:ls}:oi.push({role:"assistant",blocks:Ui,meta:ls}),oi})}Bg(n)}catch(Oe){(Oe==null?void 0:Oe.name)!=="AbortError"&&!lt.signal.aborted&&et.current===qe&&Ae(String(Oe))}finally{Jt.current.get(qe)===lt&&Jt.current.delete(qe),Me(qe,!1),tt(qe),jr(Oe=>({...Oe,[qe]:""})),Ja(Oe=>({...Oe,[qe]:[]}))}}function RV(M,U){var Ee,ke;const J=((Ee=M==null?void 0:M.event)==null?void 0:Ee.name)??U.id,le=((ke=M==null?void 0:M.event)==null?void 0:ke.context)??{};wA(`[ui-action] ${J}: ${JSON.stringify(le)}`)}async function jV(M){var at,lt,Oe;if(!M.authUri)throw new Error("事件中没有授权地址。");if(!n||!Ke||!a)throw new Error("会话尚未就绪。");const U=a,J=await cRe(M.authUri),le=uRe(M.authConfig,J),Ee=ct=>ct.map($t=>$t.kind==="auth"&&!$t.done?{...$t,done:!0}:$t);bt(U,ct=>{const $t=ct.slice(),os=$t[$t.length-1];return(os==null?void 0:os.role)==="assistant"&&($t[$t.length-1]={...os,blocks:Ee(os.blocks)}),$t});const ke=Ye[Ye.length-1],st=Ee(ke&&ke.role==="assistant"?ke.blocks:[]),qe=new AbortController;Jt.current.set(U,qe),Me(U,!0),je(U);try{let ct=ma(),$t=((at=ke==null?void 0:ke.meta)==null?void 0:at.author)??"",os=st,Xi=0,ut=Date.now()/1e3,dt=((lt=ke==null?void 0:ke.meta)==null?void 0:lt.eventId)??"",_t=((Oe=ke==null?void 0:ke.meta)==null?void 0:Oe.invocationId)??"";for await(const ft of ap({appName:n,userId:Ke,sessionId:a,text:"",functionResponses:[{id:M.callId,name:"adk_request_credential",response:le}],signal:qe.signal,sessionCapabilities:lv(cn)})){if(qe.signal.aborted)break;nh(U,ft);const dn=ft.author&&ft.author!=="user"?ft.author:"";dn&&dn!==$t&&($t=dn,os=[],ct=ma()),ct=ef(ct,ft);const bs=ft.usageMetadata??ft.usage_metadata;bs!=null&&bs.totalTokenCount&&(Xi=bs.totalTokenCount),ft.timestamp&&(ut=ft.timestamp),ft.id&&(dt=ft.id);const Ui=ft.invocationId??ft.invocation_id;Ui&&(_t=Ui);const ls=[...os,...ct.blocks];bt(U,Ia=>{var RA,jA,OA,MA,LA;const oi=Ia.slice(),an=oi[oi.length-1],hh={author:$t||((RA=an==null?void 0:an.meta)==null?void 0:RA.author),tokens:Xi||((jA=an==null?void 0:an.meta)==null?void 0:jA.tokens),ts:ut,eventId:dt||((OA=an==null?void 0:an.meta)==null?void 0:OA.eventId),invocationId:_t||((MA=an==null?void 0:an.meta)==null?void 0:MA.invocationId)};return(an==null?void 0:an.role)==="assistant"&&(!((LA=an.meta)!=null&&LA.author)||an.meta.author===$t)?oi[oi.length-1]={...an,blocks:ls,meta:hh}:oi.push({role:"assistant",blocks:ls,meta:hh}),oi})}Bg(n)}catch(ct){(ct==null?void 0:ct.name)!=="AbortError"&&!qe.signal.aborted&&et.current===U&&Ae(String(ct))}finally{Jt.current.get(U)===qe&&Jt.current.delete(U),Me(U,!1),tt(U),jr(ct=>({...ct,[U]:""})),Ja(ct=>({...ct,[U]:[]}))}}if(Us)return o.jsxs("div",{className:"boot boot-error",children:[o.jsx("p",{children:Us}),o.jsx("button",{type:"button",onClick:sE,children:"重试"})]});if(Wn===null)return o.jsx("div",{className:"boot"});if(Wn==="unauthenticated")return o.jsx(UIe,{branding:Qe,onUsername:lV});if(!Ss)return o.jsx("div",{className:"boot"});const Or=Ss.capabilities.createAgents,SA=Ss.capabilities.manageAgents,Zo=Or?to:null,_A=Or&&oh,TA=Or&&Ig,NA=wu&&!!(En||fA||hA),kA=PF(e,Wo),fh=kA.filter(M=>M.runtimeId&&(cA===null||cA.has(M.runtimeId))).map(M=>{var U;return{...M,canDelete:M.runtimeId?((U=Qz[M.runtimeId])==null?void 0:U.canDelete)===!0:!1}}),OV=(()=>{if(fh.length===0)return fh;const M=new Map(Ie.map((U,J)=>[U,J]));return[...fh].sort((U,J)=>{const le=M.get(U.id),Ee=M.get(J.id);return le!=null&&Ee!=null?le-Ee:le!=null?-1:Ee!=null?1:fh.indexOf(U)-fh.indexOf(J)})})(),AA=M=>{var U;return((U=kA.find(J=>J.id===M))==null?void 0:U.label)??M},Tn=Wo.find(M=>M.runtimeId&&M.apps.some(U=>Uo(M.id,U)===n)),Jo=Tn&&Tn.runtimeId&&Tn.region?{runtimeId:Tn.runtimeId,name:Tn.name,region:Tn.region}:void 0,MV=(Jo==null?void 0:Jo.runtimeId)??"",nc=Tn?Tn.apps.find(M=>Uo(Tn.id,M)===n)??(Bt==null?void 0:Bt.appName)??Tn.apps[0]??Tn.name:"",CA=async(M,U,J="")=>{var at,lt,Oe,ct,$t,os,Xi,ut;const le=(at=M.meta)==null?void 0:at.eventId,Ee=a;if(!le||!Ee||!Jo)return;const ke=jb(M),st=(lt=M.meta)==null?void 0:lt.feedback,qe={...st,rating:U,syncStatus:"syncing",updatedAt:Date.now()/1e3};bt(Ee,dt=>dt.map(_t=>{var ft;return((ft=_t.meta)==null?void 0:ft.eventId)===le?{..._t,meta:{..._t.meta,feedback:qe}}:_t})),Rn(dt=>new Set(dt).add(le)),Tn!=null&&Tn.runtimeId&&nc&&db({runtimeId:Tn.runtimeId,region:Tn.region??"cn-beijing",appName:nc,userId:Ke,sessionId:Ee,messageId:le,invocationId:(Oe=M.meta)==null?void 0:Oe.invocationId,rating:U,input:J,output:ke,createdAt:(ct=M.meta)!=null&&ct.ts?new Date(M.meta.ts*1e3).toISOString():void 0});try{const dt=await PP({appName:n,userId:Ke,sessionId:Ee,eventId:le,rating:U});bt(Ee,_t=>_t.map(ft=>{var dn;return((dn=ft.meta)==null?void 0:dn.eventId)===le?{...ft,meta:{...ft.meta,feedback:dt}}:ft})),r(_t=>_t.map(ft=>ft.id===Ee?{...ft,state:{...ft.state??{},[`veadk_feedback:${le}`]:dt}}:ft)),Tn!=null&&Tn.runtimeId&&nc&&(db({runtimeId:Tn.runtimeId,region:Tn.region??"cn-beijing",appName:nc,userId:Ke,sessionId:Ee,messageId:le,invocationId:($t=M.meta)==null?void 0:$t.invocationId,rating:dt.rating,input:J,output:ke,createdAt:(os=M.meta)!=null&&os.ts?new Date(M.meta.ts*1e3).toISOString():void 0}),UP({runtimeId:Tn.runtimeId,region:Tn.region??"cn-beijing",appName:nc,pageSize:100}))}catch(dt){bt(Ee,_t=>_t.map(ft=>{var dn;return((dn=ft.meta)==null?void 0:dn.eventId)===le?{...ft,meta:{...ft.meta,feedback:st}}:ft})),Tn!=null&&Tn.runtimeId&&nc&&db({runtimeId:Tn.runtimeId,region:Tn.region??"cn-beijing",appName:nc,userId:Ke,sessionId:Ee,messageId:le,invocationId:(Xi=M.meta)==null?void 0:Xi.invocationId,rating:(st==null?void 0:st.rating)??null,input:J,output:ke,createdAt:(ut=M.meta)!=null&&ut.ts?new Date(M.meta.ts*1e3).toISOString():void 0}),et.current===Ee&&Ae(dt instanceof Error?dt.message:String(dt))}finally{Rn(dt=>{const _t=new Set(dt);return _t.delete(le),_t})}},Ug=async M=>{ch(da());let U=Xe.current.get(M);U||(U=await ww(M),Xe.current.set(M,U)),vt(U),mi(J=>J+1),s(M),Wi(null),Bi(""),Ni(""),gs(!1),xn(!1),Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),Qo()},LV=async M=>{await Ug(M)},DV=M=>{if(!Or){Ae("当前账号没有添加 Agent 的权限。");return}gs(!1),xn(!1),Wx(M),Js(null),Pt(null),Mn(!0),Ae("")},IA=async(M,U=!1)=>{if(M.runtime)try{const J=await Tb(M.runtime.runtimeId,M.name,M.runtime.region,M.runtime.currentVersion);await Ug(J)}catch(J){const le=J instanceof Error?J.message:String(J);if(Ae(le),U)throw new Error(le)}},PV=M=>{M.runtime&&(Wi(M),Bi(""),Ni(""),gs(!1),xn(!0),Ae(""))},BV=M=>{if(!Or){Ae("当前账号没有创建智能体的权限。");return}xA(M,!0)},aE=()=>{m&&no(),et.current="",l(""),Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),Bi(""),Ni(""),gs(!0),ka(null),Ae("")},UV=()=>{m&&no(),et.current="",l(""),Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka("catalog"),Ae("")},FV=async M=>{if(Kx(""),Og(""),M.runtimeId&&M.id.startsWith("detail:")){try{const U=await Tb(M.runtimeId,M.label,M.region??"cn-beijing",M.currentVersion);await Ug(U)}catch(U){Ae(U instanceof Error?U.message:String(U))}return}await Ug(M.id)},oE=En!=null&&En.runtime?Wo.find(M=>{var U;return M.runtimeId===((U=En.runtime)==null?void 0:U.runtimeId)}):void 0,el=En!=null&&En.runtime?{id:`detail:${En.runtime.runtimeId}`,label:En.name,app:En.appName??En.name,remote:!0,runtimeApp:oE==null?void 0:oE.apps[0],runtimeId:En.runtime.runtimeId,region:En.runtime.region,currentVersion:En.runtime.currentVersion,canDelete:En.runtime.canDelete}:null,$V=qx?"applications":hn?"search":Yo||wu||Ze||Ve?"agents":a||to||ah||Ig||oh?null:"new-chat";return o.jsxs("div",{className:"layout",children:[o.jsx(Uee,{branding:Qe,access:Ss,features:Za,sessions:i,currentSessionId:a,activePage:$V,streamingSids:un,onNewChat:SV,onSearch:()=>{m&&no(),Pt(null),ri(!1),As(!1),Mn(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka(null),$n(!0),Ae("")},onQuickCreate:()=>{if(!Or){Ae("当前账号没有添加 Agent 的权限。");return}m&&no(),et.current="",l(""),ri(!1),As(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka(null),Pt(null),Js(null),Wx("cn-beijing"),Mn(!0),Ae("")},onSkillCenter:()=>{m&&no(),Pt(null),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka(null),ri(!0),Ae("")},onAddAgent:()=>{if(!Or){Ae("当前账号没有添加 Agent 的权限。");return}m&&no(),et.current="",Pt(null),ri(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka(null),l(""),Mn(!1),As(!0),Ae("")},onMyAgents:aE,onApplications:UV,onPickSession:M=>{Pt(null),ri(!1),As(!1),Mn(!1),$n(!1),xn(!1),Wi(null),De(null),Se(null),gs(!1),ka(null),Ae(""),dh(M)},onDeleteSession:_V,userInfo:Rr,version:Xn,onLogout:cV}),(()=>{const M=o.jsxs("div",{className:`composer-slot${m?" sandbox-composer-wrap":""}`,children:[m&&o.jsx(eIe,{agentName:m.toolName==="codex"?"Codex":m.toolName==="openclaw"?"OpenClaw":"Hermes",onExit:Qo}),m?o.jsx(MIe,{appName:n,value:fn,onChange:It,onSubmit:U=>void vV(U),disabled:!1,busy:y||bn.commandBusy,attachments:Zt,onAddFiles:xV,onRemoveAttachment:EV,actions:{onOpenTerminal:()=>void rE("terminal"),onOpenBrowser:()=>void rE("browser"),onOpenPermissions:()=>{S(""),A(!0)},onOpenWorkspace:()=>{S(""),I(!0)},workspaceLocked:m.workspaceLocked,settingsBusy:E,uploadBusy:z||y},models:bn.models,modelsLoading:bn.modelsLoading,modelsLoaded:bn.modelsLoaded,currentModel:m.model,onRequestModels:()=>void bn.loadModels(),skills:bn.skills,skillsLoading:bn.skillsLoading,skillsLoaded:bn.skillsLoaded,selectedSkills:bn.selectedSkills,onRequestSkills:()=>void bn.loadSkills(),onSelectedSkillsChange:bn.setSelectedSkills}):o.jsx(E_e,{sessionId:a,sessionInitializing:u,appName:n,agentName:n?AA(n):"Agent",value:fn,onChange:It,onSubmit:()=>{if(!m&&Et==="skill-create"){const Ee=fn.trim();if(!Ee||St)return;const ke={id:`pending-${Date.now()}`,prompt:Ee,status:"provisioning",candidates:S2.map((qe,at)=>({id:`pending-${at}`,model:qe,modelLabel:qe,status:"queued",stage:"provisioning",files:[],activities:[{id:"provisioning",kind:"status",text:"正在拉起 Sandbox",status:"running"}]}))};Qt(!0);const st=++zt.current;Ae(""),Ue(ke),It(""),OAe(Ee,qe=>{zt.current===st&&Ue(qe)}).then(qe=>{zt.current===st&&Ue(qe)}).catch(qe=>{zt.current===st&&(Ue(null),It(Ee),Ae(qe instanceof Error?qe.message:String(qe)))}).finally(()=>{zt.current===st&&Qt(!1)});return}const U=fn;if(It(""),m){EA(U);return}const J=Zt,le=Yt;Rt([]),jt(ja()),wA(U,J,le),co(J)},disabled:m?!1:!Ke||Et==="temporary"||Et==="agent"&&!n,busy:m?y:Et==="skill-create"?St:bu,showMeta:Ye.length>0&&!m,attachments:m?[]:Zt,skills:m?[]:$x,agents:m?[]:Hx,invocation:m?ja():Yt,capabilitiesLoading:!m&&Bn,allowAttachments:!m,onInvocationChange:jt,onAddFiles:IV,onRemoveAttachment:Ag,newChatMode:m?"agent":Et,newChatTask:m?null:$e,newChatLayout:!m&&Ye.length===0&&we===null,showAgentPicker:!m&&Ye.length===0&&we===null&&Et==="agent",agentPickerDisabled:!Ke||bu,selectedRuntimeId:Jo==null?void 0:Jo.runtimeId,runtimeScope:Ss.capabilities.runtimeScope,onSelectRuntime:async U=>{var J;await IA({id:U.runtimeId,name:U.name,description:((J=U.description)==null?void 0:J.trim())||"暂无描述",createdAt:U.createdAt??"",specificationLabel:"地域",specification:U.region==="cn-shanghai"?"上海":"北京",isMine:U.isMine,runtime:{runtimeId:U.runtimeId,region:U.region,currentVersion:U.currentVersion,canDelete:U.canDelete}},!0)},onSelectSandboxSession:iE,showModeSelector:!1,temporaryEnabled:Tt&&it.temporaryEnabled,skillCreateEnabled:Tt&&it.skillCreateEnabled,harnessEnabled:Tt&&it.harnessEnabled,builtinTools:Tt?it.builtinTools:[],onModeChange:U=>{if(!(U==="temporary"&&!it.temporaryEnabled||U==="skill-create"&&!it.skillCreateEnabled)){if(U==="temporary"){qt(null),yt(U),xA();return}if(yt(U),U!=="agent"&&qt(null),Ae(""),U==="skill-create"){jt(ja());const J=a&&Pe.length===0&&Zt.length>0?a:"";eh(Zt),Rt([]),J&&(et.current="",l(""),xu(J))}}},onTaskChange:qt})]});return o.jsx("section",{className:"main-shell",children:o.jsxs("main",{className:`main${m?" is-sandbox-session":""}`,children:[ht&&o.jsx("div",{className:"error",role:"alert",children:ht}),Ot&&o.jsx("div",{className:"error",role:"alert",children:Ot}),Qn&&o.jsxs("div",{className:"session-loading",children:[o.jsx(gn,{className:"icon spin"})," 加载会话…"]}),aA&&!NA&&!_A&&!TA&&!hn&&!ah&&Zo===null&&o.jsx("div",{className:"case-return-bar",children:o.jsxs("button",{type:"button",onClick:NV,children:[o.jsx(WN,{"aria-hidden":!0}),o.jsx("span",{children:"返回评测案例"})]})}),qx==="github"?o.jsx(ISe,{onBack:()=>ka("catalog")}):qx==="catalog"?o.jsx(SSe,{onOpenGitHub:()=>ka("github")}):Ve?o.jsx(NIe,{workspace:Ve,onBack:aE}):Ze?o.jsx(vIe,{session:Ze,onBack:aE,onOpen:()=>iE(Ze),onDelete:()=>mV(Ze)}):Yo?o.jsx(ESe,{canCreate:Or,runtimeScope:Ss.capabilities.runtimeScope,onCreateAgent:DV,onUseAgent:IA,onViewAgentDetails:PV,onCreateSandboxAgent:BV,onUseSandboxAgent:iE,onViewSandboxAgentDetails:hV,sandboxRefreshKey:ve,connectedRuntimeId:MV,hiddenRuntimeIds:Zz,drafts:Eu,deploymentTasks:sh,draftDeploymentTaskIds:zx,onViewDeploymentTask:eE,onEditDraft:U=>{gs(!1),Js(U.draft),rn(U.id),ai.current=U,na(U.deploymentTarget??null),Bi(""),Ni(""),Pt("custom"),Ae("")},onDeleteDraft:U=>mA([U])}):NA?o.jsx(uwe,{agents:el?[el]:OV,drafts:Eu,agentOrder:Ie,selectedAgentId:n,agentInfo:Bt,agentInfoAgentId:n,loadingAgentInfo:Bn,canCreate:Or,canUpdate:Or||SA,loadingAgents:Wz,agentsError:Xz,deploymentTasks:sh,focusedDeploymentTaskId:fA,focusedAgentId:(el==null?void 0:el.id)??hA,focusedAgentSection:Vz,focusedCaseKind:Gz,feedbackCasePreview:qz,detailOnly:!0,onRetryAgents:()=>void Zx(),onAgentOrderChange:tV,onDeleteAgents:nV,onDeleteDrafts:mA,onSelectAgent:LV,onTalkAgent:FV,onOpenFeedbackCase:U=>void TV(U),onFeedbackCasesDeleted:kV,onCreateAgent:()=>{if(!Or){Ae("当前账号没有添加 Agent 的权限。");return}xn(!1),Mn(!0),Pt(null),Js(null),na(null),Wx("cn-beijing"),rn(""),ai.current=null,Bi(""),Ni(""),Ae("")},onUpdateAgent:(U,J)=>{var Ee;if(!SA&&!Or){Ae("当前账号没有管理 Agent 的权限。");return}if(!J.canUpdate){Ae(J.reason||"当前 Runtime 不支持原地更新。");return}if(!J.runtime.runtimeId){Ae("仅支持更新已部署的云端智能体。");return}if(!J.runtime.region){Ae("Runtime 缺少地域信息,无法更新。");return}if(!((Ee=J.agent)!=null&&Ee.appName)){Ae("Runtime 缺少智能体名称,无法更新。");return}xn(!1),Js(U);const le=`runtime-${J.runtime.runtimeId}`;rn(le),ai.current=Eu.find(ke=>ke.id===le)??null,Bi(""),Ni(""),na({runtimeId:J.runtime.runtimeId,name:J.runtime.name||J.agent.name||U.name,region:J.runtime.region,appName:J.agent.appName,currentVersion:J.runtime.currentVersion}),Pt("custom"),Ae("")},onEditDraft:U=>{xn(!1),Js(U.draft),rn(U.id),ai.current=U,na(U.deploymentTarget??null),Bi(""),Ni(""),Pt("custom"),Ae("")}},(el==null?void 0:el.id)??"workspace"):_A?o.jsx(d$,{title:"您想以哪种方式添加 Agent 来运行?",sub:"选择最适合你的方式,下一步即可开始",cards:[{key:"scratch",icon:nRe,title:"从 0 快速创建",desc:"用智能 / 自定义 / 模板 / 工作流的方式从零创建一个 Agent。",onClick:()=>{Mn(!1),Js(null),Pt("menu")}},{key:"package",icon:qZ,title:"从代码包添加和部署",desc:"上传 Agent 项目压缩包,查看代码并直接部署到 AgentKit Runtime。",onClick:()=>{Mn(!1),Js(null),Pt("package")}}]}):hn?o.jsx(jee,{userId:Ke,appId:n,agentInfo:Bt,capabilitiesLoading:Bn,agentLabel:AA,onOpenSession:uV}):TA?o.jsx(Kve,{onAdded:U=>{ch(da()),As(!1),s(U)},onCancel:()=>As(!1)}):ah?o.jsx(Hve,{}):Zo!==null&&!Vx?o.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:[o.jsx("div",{style:{fontSize:18,fontWeight:600},children:"需要配置火山引擎 AK/SK"}),o.jsxs("div",{style:{maxWidth:420,lineHeight:1.6},children:["智能体工作台需要 Volcengine 凭据才能使用。请在运行环境中设置"," ",o.jsx("code",{children:"VOLCENGINE_ACCESS_KEY"})," 与"," ",o.jsx("code",{children:"VOLCENGINE_SECRET_KEY"})," 后重试。"]})]}):Zo==="menu"?o.jsx(PTe,{onSelect:U=>{Js(null),na(null),Bi(""),Ni(""),rn(U==="custom"?`draft-${Date.now().toString(36)}`:""),ai.current=null,Pt(U)},onImport:U=>{Js(U),na(null),Bi(""),Ni(""),rn(`draft-${Date.now().toString(36)}`),ai.current=null,Pt("custom")}}):Zo==="intelligent"?o.jsx(bNe,{userId:Ke,onBack:()=>Pt("menu"),onCreate:Pg,onAgentAdded:Jx,onDeploymentTaskChange:rh}):Zo==="custom"?o.jsx(aAe,{initialDraft:Rg??void 0,onBack:()=>Pt("menu"),onCreate:Pg,onAgentAdded:Jx,features:Za,onDeploymentTaskChange:rh,deploymentTarget:Su??void 0,initialDeployRegion:Lg,onDraftChange:(U,J)=>{nt&&(J?eV(nt,U,Su??void 0):pA(nt))},onDiscard:nt?()=>{pA(nt),rn(""),ai.current=null,Js(null),na(null),Bi(""),Ni(n),Pt(null),Mn(!1),xn(!0),Ae("")}:void 0,onDeploymentStarted:gA,onDeploymentComplete:bA},nt||"custom"):Zo==="template"?o.jsx(cAe,{onBack:()=>Pt("menu"),onCreate:Pg}):Zo==="workflow"?o.jsx(bAe,{onBack:()=>Pt("menu"),onCreate:Pg}):Zo==="package"?o.jsx(wAe,{onBack:()=>{Pt(null),Mn(!0)},onAgentAdded:Jx,onDeploymentTaskChange:rh,onDeploymentStarted:gA,onDeploymentComplete:bA,initialDeployRegion:Lg}):Ye.length===0&&we?o.jsx(YAe,{initialJob:we}):Ye.length===0&&!Tt?o.jsxs("div",{className:"session-loading",children:[o.jsx(gn,{className:"icon spin"})," 正在检查 Agent 能力…"]}):Ye.length===0?o.jsxs("div",{className:"welcome",children:[o.jsxs("div",{className:"welcome-primary",children:[o.jsxs("div",{className:"welcome-heading",children:[o.jsx(YCe,{canUpdate:Ss.role==="admin"}),o.jsx("h1",{className:"welcome-title",children:m?"让灵感自由生长":Et==="skill-create"?"想创建一个什么 Skill?":ws})]}),M]}),o.jsx(DCe,{})]},`welcome-${it.agentId??n}`):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`transcript${Ng?" is-streaming":""}`,ref:uh,onScroll:sV,onWheel:iV,onTouchMove:rV,children:Ye.map((U,J)=>{var ut,dt,_t,ft,dn,bs,Ui;const le=J===Ye.length-1;if(U.role==="system")return U.activity?o.jsx("div",{className:"turn turn--system",children:o.jsx(tIe,{activity:U.activity,time:pT((ut=U.meta)==null?void 0:ut.ts)})},U.activity.id):null;if(U.role==="user"){const ls=U.blocks.map(an=>an.kind==="text"?an.text:"").join(""),Ia=U.blocks.flatMap(an=>an.kind==="attachment"?an.files:[]),oi=U.blocks.find(an=>an.kind==="invocation");return o.jsxs(ts.div,{className:"turn turn--user",initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[(oi==null?void 0:oi.kind)==="invocation"&&o.jsx(xx,{value:oi.value}),Ia.length>0&&o.jsx(Ex,{appName:n,items:Ia}),ls&&o.jsx("div",{className:"bubble",children:o.jsx(zf,{text:ls})}),o.jsxs("div",{className:"turn-actions turn-actions--right",children:[((dt=U.meta)==null?void 0:dt.ts)&&o.jsx("span",{className:"meta-text",children:pT(U.meta.ts)}),o.jsx(N3,{text:ls})]})]},J)}const Ee=((_t=U.meta)==null?void 0:_t.author)??"",ke=Ee&&Ti?mT(Ti,Ee):void 0,st=!!(Ee&&kg.length>0&&!kg.includes(Ee)),qe=(ke==null?void 0:ke.name)||Ee,at=(ke==null?void 0:ke.description)||(st?"正在执行主 Agent 移交的任务。":"");if(U.blocks.length>0&&U.blocks.every(ls=>ls.kind==="agent-transfer"))return null;const lt=U.blocks.length===0,Oe=((dn=(ft=U.meta)==null?void 0:ft.feedback)==null?void 0:dn.rating)??null,ct=((bs=U.meta)==null?void 0:bs.eventId)??"",$t=In.has(ct),os=!!(Jo&&ct&&jb(U)),Xi=os?rRe(Ye,J):"";return o.jsxs(ts.div,{ref:ls=>{ct&&(ls?tE.current.set(ct,ls):tE.current.delete(ct))},className:["turn turn--assistant",st?"turn--subagent":"",lh&&lh===ct?"is-feedback-target":""].filter(Boolean).join(" "),initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:[st&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"subagent-run-label",children:[o.jsxs("span",{className:"subagent-run-handoff",children:[o.jsx(zZ,{}),o.jsx("span",{children:"智能体移交"})]}),o.jsx("span",{className:"subagent-run-title",children:qe})]}),o.jsx("p",{className:"subagent-run-description",title:at,children:at})]}),lt?le&&eo?o.jsx(c$,{}):null:o.jsxs(o.Fragment,{children:[o.jsx(v2,{appName:n,blocks:U.blocks,streaming:le&&(eo||_g),onStreamFrame:le?aV:void 0,onAction:RV,onAuth:jV,onArtifactDownload:(ls,Ia)=>HP(n,Ke,a,ls,Ia),onArtifactPreview:(ls,Ia)=>VP(n,Ke,a,ls,Ia)}),!(le&&eo)&&!oRe(U)&&o.jsx("div",{className:"turn-empty",children:"本次没有返回可显示的内容。"}),!(le&&eo)&&!lRe(U)&&o.jsxs("div",{className:"turn-meta",children:[m&&((Ui=U.meta)!=null&&Ui.sandboxUsage)?o.jsx(sIe,{usage:U.meta.sandboxUsage}):null,o.jsxs("div",{className:"turn-actions",children:[os&&o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",className:`icon-btn feedback-btn${Oe==="good"?" feedback-btn--good":""}`,"aria-label":"赞","aria-pressed":Oe==="good","aria-busy":$t,title:Oe==="good"?"取消点赞":"赞",disabled:$t,onClick:()=>void CA(U,Oe==="good"?null:"good",Xi),children:o.jsx(DIe,{className:"icon",filled:Oe==="good"})}),o.jsx("button",{type:"button",className:`icon-btn feedback-btn${Oe==="bad"?" feedback-btn--bad":""}`,"aria-label":"踩","aria-pressed":Oe==="bad","aria-busy":$t,title:Oe==="bad"?"取消点踩":"踩",disabled:$t,onClick:()=>void CA(U,Oe==="bad"?null:"bad",Xi),children:o.jsx(PIe,{className:"icon",filled:Oe==="bad"})})]}),!m&&o.jsx("button",{className:"icon-btn",title:"Tracing 火焰图",onClick:()=>rt(!0),children:o.jsx(sRe,{})}),o.jsx(N3,{text:jb(U)})]}),U.meta&&o.jsx("span",{className:"meta-text",children:iRe(U.meta)})]})]})]},J)})}),!m&&o.jsx(ode,{appName:n,info:Bt,loading:Bn,activeAgent:yu,seenAgents:qo,execPath:Zf,capabilities:cn,capabilityLoading:rs,capabilityMutating:vs,builtinTools:Qs,onAddCapability:AV,onRemoveCapability:U=>void CV(U)}),o.jsx("div",{className:"conversation-composer-slot",children:M})]})]})})})(),Nt&&a&&o.jsx(pz,{appName:n,sessionId:a,onClose:()=>rt(!1)}),o.jsx(JCe,{open:ne,state:de,agentKind:me,error:_e,onCancel:dV,onConfirm:M=>void fV(M)}),m?o.jsxs(o.Fragment,{children:[o.jsx(fIe,{open:O!==null,kind:O??"terminal",launch:G,loading:F,error:j,onReload:()=>{O&&rE(O)},onClose:()=>{L(null),D(null),k(!1),P("")}}),o.jsx(bIe,{open:N,value:m.permissions,busy:E||y,error:T,onSave:M=>void pV(M),onClose:()=>{E||(A(!1),S(""))}}),o.jsx(yIe,{open:C,cwd:m.cwd,locked:m.workspaceLocked,busy:E,error:T,browse:gV,onSave:M=>void bV(M),onClose:()=>{E||(I(!1),S(""))}}),o.jsx(hIe,{open:bn.threadsOpen,threads:bn.threads,currentThreadId:m.threadId,loading:bn.threadsLoading,error:bn.threadsError,onSelect:M=>void bn.resumeThread(M),onClose:bn.closeThreads}),o.jsx(xIe,{approval:$,busy:q,error:B,onDecision:M=>void yV(M)})]}):null,o.jsx(FIe,{open:Go,checking:re,error:_n,onLogin:()=>void oV()}),Jz&&o.jsx("div",{className:"confirm-scrim",onClick:()=>Xx(!1),children:o.jsxs("div",{className:"confirm-box",onClick:M=>M.stopPropagation(),children:[o.jsx("div",{className:"confirm-title",children:"返回创建首页?"}),o.jsx("div",{className:"confirm-text",children:"返回后当前填写的内容将会丢失,确定要返回吗?"}),o.jsxs("div",{className:"confirm-actions",children:[o.jsx("button",{className:"confirm-btn",onClick:()=>Xx(!1),children:"取消"}),o.jsx("button",{className:"confirm-btn confirm-btn--danger",onClick:()=>{Js(null),Pt("menu"),Xx(!1)},children:"确定返回"})]})]})})]})}const j3="veadk.preloadRecoveryAt";window.addEventListener("vite:preloadError",e=>{const t=Date.now();let n=0;try{n=Number(sessionStorage.getItem(j3)||"0")}catch{}if(!(t-n<1e4)){e.preventDefault();try{sessionStorage.setItem(j3,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})()||$q.createRoot(document.getElementById("root")).render(o.jsx(Lt.StrictMode,{children:o.jsx(Zq,{reducedMotion:"user",children:o.jsx(RZ,{maskOpacity:.9,children:o.jsx(bRe,{})})})}));export{H2 as $,f0e as A,h0e as B,JU as C,o as D,mt as E,Pn as F,Kt as G,vRe as H,YH as I,Cge as J,Si as K,b as L,lx as M,Nr as N,wRe as O,RH as P,Am as Q,Lt as R,Xc as S,Kke as T,DH as U,Mi as V,or as W,mu as X,Ix as Y,LH as Z,Zc as _,Jr as a,HU as a0,qH as b,Qke as c,cM as d,hf as e,Ki as f,SRe as g,xH as h,Zl as i,jx as j,xf as k,ENe as l,IRe as m,Wk as n,mme as o,ANe as p,vp as q,sn as r,Rge as s,Bge as t,gme as u,Ef as v,B0e as w,xge as x,Ege as y,K0e as z}; diff --git a/veadk/webui/assets/index-BifCkzti.css b/veadk/webui/assets/index-DJv6-8d-.css similarity index 67% rename from veadk/webui/assets/index-BifCkzti.css rename to veadk/webui/assets/index-DJv6-8d-.css index 69541231..f5b527a4 100644 --- a/veadk/webui/assets/index-BifCkzti.css +++ b/veadk/webui/assets/index-DJv6-8d-.css @@ -7,4 +7,4 @@ 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}.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 .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:18px;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;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:12.5px;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:12px;padding:0 24px 80px}.aw-basic-stack,.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-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-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:16px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;margin-bottom:14px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button,.aw-case-note{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-note{margin-bottom:14px;padding:12px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.aw-case-search{width:100%;height:38px;box-sizing:border-box;display:flex;align-items:center;gap:9px;margin-bottom:14px;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:12px}.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:28px;padding:0 10px;border-radius:6px;font-size:11.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:hidden;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-height:86px;display:grid;grid-template-columns:minmax(190px,.78fr) minmax(260px,1.32fr) minmax(150px,.52fr);align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:12px}.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:10.5px;font-weight:600}.aw-case-text,.aw-case-output,.aw-case-meta{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-title-line,.aw-case-meta-top{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{min-width:0}.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:10.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-meta{align-items:flex-start}.aw-case-meta-top{width:100%;justify-content:space-between}.aw-case-tag{width:fit-content;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:650}.aw-case-tag{background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-weight:540}.aw-case-delete{width:26px;height:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--destructive) / .2);border-radius:7px;background:transparent;color:hsl(var(--destructive));cursor:pointer}.aw-case-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-tag.is-good{background:#3c86661a;color:#28674c}.aw-case-tag.is-bad{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.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-option-panel,.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-option-content{position:relative;overflow:hidden;border-radius:11px}.aw-option-list{display:flex;flex-direction:column;gap:10px}.aw-option-glass{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--background) / .68),hsl(var(--background) / .5));-webkit-backdrop-filter:blur(10px) saturate(88%);backdrop-filter:blur(10px) saturate(88%);color:hsl(var(--foreground) / .72);font-size:12.5px;font-weight:600;letter-spacing:.08em}.aw-option-list>label{min-height:66px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid hsl(var(--border));border-radius:11px;color:hsl(var(--muted-foreground));opacity:.68}.aw-option-list input{width:16px;height:16px}.aw-option-list label>span{min-width:0;display:flex;flex-direction:column;gap:4px}.aw-option-list strong{color:hsl(var(--foreground));font-size:12.5px}.aw-option-list small{font-size:11.5px;line-height:1.45}.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{grid-template-columns:minmax(160px,.86fr) minmax(200px,1.14fr) 104px}}@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,.aw-case-summary,.aw-case-row{grid-template-columns:minmax(0,1fr)}.aw-case-meta{align-items:flex-start}.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}}@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)}}.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));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.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-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{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd{color:hsl(var(--muted-foreground));font-weight:400}.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-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}}.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{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-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-copy{min-width:0}.application-card-copy h2{margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.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}}.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:min(100%,760px);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:12px;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:36px;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:12.5px;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-field-help{min-height:17px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.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:12px;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:4px;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:11.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}}.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)}.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__skill-icon path:first-child{fill:currentColor;stroke:none}.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__menu{position:absolute;z-index:43;top:calc(100% + 7px);left:0;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__beta{flex:0 0 auto;padding:1px 5px;border:1px solid hsl(var(--border));border-radius:999px;color:hsl(var(--muted-foreground));font-size:9px;font-weight:500;line-height:1.2}.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{position:absolute;z-index:44;top:calc(100% + 7px);left:294px;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 (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 2px 6px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;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-icon,.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-icon{width:17px;height:17px;flex:0 0 auto}.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}}.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-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}.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}}.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:inset 0 1px hsl(var(--background)),0 8px 28px hsl(var(--foreground) / .045)}.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:inset 0 1px hsl(var(--background)),0 8px 28px hsl(var(--foreground) / .045)}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{margin:0 -18px 12px;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-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.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-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-channel-fields input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input{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-channel-fields input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-config-select:disabled,.pp-channel-fields input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input: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-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-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:31;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{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-network-check 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{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{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check 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 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-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-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-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-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.ic-root{display:flex;flex-direction:column;height:100%;min-height:0}.ic-body{flex:1;min-height:0;display:flex}.ic-chat{flex:0 0 380px;width:380px;min-width:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid hsl(var(--border))}.ic-transcript{flex:1;min-height:0;overflow-y:auto;padding:24px 20px 12px}.ic-turn{display:flex;gap:10px;max-width:760px;margin:0 auto 16px}.ic-turn:last-child{margin-bottom:0}.ic-turn--assistant{justify-content:flex-start}.ic-turn--user{justify-content:flex-end}.ic-avatar{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:hsl(var(--secondary));color:#7c48f4}.ic-avatar-icon{width:17px;height:17px}.ic-bubble{max-width:78%;padding:11px 15px;border-radius:16px;font-size:14px;line-height:1.6;word-break:break-word}.ic-turn--user .ic-bubble{white-space:pre-wrap}.ic-turn--assistant .ic-bubble{background:hsl(var(--secondary));color:hsl(var(--foreground));border-top-left-radius:5px}.ic-turn--user .ic-bubble{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-top-right-radius:5px}.ic-bubble .md>:first-child{margin-top:0}.ic-bubble .md>:last-child{margin-bottom:0}.ic-bubble--typing{display:inline-flex;align-items:center;gap:4px;padding:14px 16px}.ic-dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground));animation:ic-bounce 1.2s ease-in-out infinite}.ic-dot:nth-child(2){animation-delay:.16s}.ic-dot:nth-child(3){animation-delay:.32s}@keyframes ic-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ic-error{flex-shrink:0;display:flex;align-items:center;gap:8px;max-width:760px;width:100%;margin:0 auto;padding:9px 14px;border-radius:10px;background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));font-size:13px;line-height:1.45}.ic-error-icon{width:15px;height:15px;flex-shrink:0}.ic-composer{flex-shrink:0;max-width:760px;width:100%;margin:0 auto;padding:8px 20px 18px}.ic-composer-box{display:flex;align-items:flex-end;gap:6px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background));transition:border-color .15s,box-shadow .15s}.ic-composer-box:focus-within{border-color:hsl(var(--ring) / .4);box-shadow:0 0 0 3px hsl(var(--ring) / .08)}.ic-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:15px;line-height:1.5;padding:8px 2px;max-height:160px;overflow-y:auto}.ic-input::placeholder{color:hsl(var(--muted-foreground))}.ic-input:disabled{opacity:.6}.ic-send{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;transition:opacity .15s,transform .1s}.ic-send-icon{width:17px;height:17px}.ic-send:hover:not(:disabled){opacity:.85}.ic-send:active:not(:disabled){transform:scale(.94)}.ic-send:disabled{opacity:.3;cursor:default}.ic-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}.ic-composer-hint{flex:1;text-align:center;font-size:11px;color:hsl(var(--muted-foreground))}.ic-ab-toggle{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.ic-ab-checkbox{position:absolute;opacity:0;width:0;height:0}.ic-ab-track{position:relative;display:inline-block;width:30px;height:17px;border-radius:999px;background:hsl(var(--muted-foreground) / .35);transition:background .15s}.ic-ab-thumb{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.ic-ab-checkbox:checked+.ic-ab-track{background:hsl(var(--primary))}.ic-ab-checkbox:checked+.ic-ab-track .ic-ab-thumb{transform:translate(13px)}.ic-ab-checkbox:disabled+.ic-ab-track{opacity:.5}.ic-ab-checkbox:focus-visible+.ic-ab-track{box-shadow:0 0 0 3px hsl(var(--ring) / .25)}.ic-ab-label{font-size:12px;font-weight:600;color:hsl(var(--foreground))}.ic-compare{flex:1;min-height:0;display:flex}.ic-compare-divider{flex:0 0 1px;background:hsl(var(--border))}.ic-pane{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column}.ic-pane-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background))}.ic-pane-title{display:flex;align-items:center;gap:8px;min-width:0}.ic-pane-tag{flex-shrink:0;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;color:#fff}.ic-pane-tag--a{background:#7c48f4}.ic-pane-tag--b{background:#0da2e7}.ic-pane-model{font-size:12px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-adopt{flex-shrink:0;padding:6px 12px;border:none;border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.ic-adopt:hover:not(:disabled){opacity:.85}.ic-adopt:active:not(:disabled){transform:scale(.96)}.ic-adopt:disabled{opacity:.4;cursor:default}.ic-pane-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ic-pane-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:13px;color:hsl(var(--muted-foreground))}.ic-pane-spinner{width:22px;height:22px;color:#7c48f4;animation:ic-spin .9s linear infinite}@keyframes ic-spin{to{transform:rotate(360deg)}}.ic-pane-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:13px;color:hsl(var(--muted-foreground))}.ic-preview{flex:1 1 0;min-width:0;display:flex;flex-direction:column;min-height:0;background:hsl(var(--muted) / .35)}.ic-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center}.ic-preview-empty-icon{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:#7c48f414;color:#7c48f4;margin-bottom:4px}.ic-preview-empty-glyph{width:30px;height:30px}.ic-preview-empty-spark{position:absolute;top:9px;right:9px;width:14px;height:14px}.ic-preview-empty-title{font-size:15px;font-weight:650;letter-spacing:-.01em;color:hsl(var(--foreground))}.ic-preview-empty-sub{font-size:13px;line-height:1.55;color:hsl(var(--muted-foreground));max-width:240px}@media (max-width: 920px){.ic-body{flex-direction:column}.ic-preview{width:100%;border-left:none;border-top:1px solid hsl(var(--border));min-height:320px}}@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}}}.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:inset 0 1px hsl(var(--background)),0 8px 28px hsl(var(--foreground) / .045)}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.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>: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{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{display:flex;flex-direction:column;gap:8px}.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:30;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-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-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-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.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.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.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 .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(124px,.34fr) minmax(0,1fr);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-desc{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-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}}.tpl-root{flex:1;min-height:0;display:flex;flex-direction:column}.tpl-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;padding:6px 10px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:background .12s,color .12s}.tpl-back:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.tpl-back .icon{width:15px;height:15px}.tpl-scroll{flex:1;min-height:0;overflow-y:auto;padding:24px 28px 40px}.tpl-scroll--detail{padding-left:14px;padding-right:14px}.tpl-head{max-width:720px;margin:8px auto 28px;text-align:center}.tpl-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em;color:hsl(var(--foreground))}.tpl-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-width:1100px;margin:0 auto}.tpl-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;height:100%;padding:16px 16px 18px;text-align:left;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;transition:background .14s,border-color .14s}.tpl-card:hover{background:hsl(var(--foreground) / .05)}.tpl-card:active{background:hsl(var(--foreground) / .08)}.tpl-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:hsl(var(--muted-foreground))}.tpl-card-icon .icon{width:20px;height:20px}.tpl-card-name{font-size:14px;font-weight:600;letter-spacing:-.01em;color:hsl(var(--foreground))}.tpl-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.tpl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tpl-tags--detail{margin-top:0}.tpl-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid hsl(var(--border));border-radius:999px;background:none;color:hsl(var(--muted-foreground));font-size:11.5px;white-space:nowrap}.tpl-tag-icon{width:12px;height:12px;flex-shrink:0}.tpl-detail{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.tpl-detail-head{display:flex;align-items:flex-start;gap:14px}.tpl-detail-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid hsl(var(--border));border-radius:12px;background:none;color:hsl(var(--muted-foreground))}.tpl-detail-icon .icon{width:22px;height:22px}.tpl-detail-headtext{min-width:0}.tpl-detail-name{font-size:20px;font-weight:650;letter-spacing:-.02em;color:hsl(var(--foreground))}.tpl-detail-desc{margin-top:4px;font-size:13.5px;line-height:1.6;color:hsl(var(--muted-foreground))}.tpl-field{display:flex;flex-direction:column;gap:8px}.tpl-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.tpl-input{width:100%;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .15s}.tpl-input:focus{outline:none;border-color:hsl(var(--ring) / .4)}.tpl-instruction{margin:0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--foreground) / .03);color:hsl(var(--foreground));font-size:13px;line-height:1.7;white-space:pre-wrap}.tpl-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.tpl-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid hsl(var(--border));font-size:13px}.tpl-meta-key{flex-shrink:0;color:hsl(var(--muted-foreground))}.tpl-meta-val{text-align:right;word-break:break-word;color:hsl(var(--foreground))}.tpl-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.tpl-subagents{display:flex;flex-direction:column;gap:10px}.tpl-subagent{padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background))}.tpl-subagent-top{display:flex;align-items:center;gap:8px}.tpl-subagent-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.tpl-subagent-tools{margin-left:auto;font-size:11px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tpl-subagent-desc{margin-top:5px;font-size:12.5px;line-height:1.55;color:hsl(var(--muted-foreground))}.tpl-create{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;margin-top:4px;padding:11px 20px;border:none;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.tpl-create:hover{opacity:.88}.tpl-create:active{transform:scale(.98)}.tpl-create .icon{width:17px;height:17px}@media (max-width: 560px){.tpl-meta-grid{grid-template-columns:1fr}.tpl-scroll{padding:20px 16px 32px}}.wfb{flex:1;min-height:0;display:flex;flex-direction:column;height:100%}.wfb-create{position:absolute;top:14px;right:14px;z-index:5;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid transparent;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:550;cursor:pointer;box-shadow:0 4px 16px -8px hsl(var(--foreground) / .4);transition:opacity .15s,transform .1s}.wfb-create:hover:not(:disabled){opacity:.88}.wfb-create:active:not(:disabled){transform:scale(.97)}.wfb-create:disabled{opacity:.4;cursor:default}.wfb-grid{flex:1;min-height:0;display:grid;grid-template-columns:248px minmax(0,1fr) 288px}.wfb-section-label{margin:4px 0 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.wfb-field{display:flex;flex-direction:column;gap:5px}.wfb-field-label{font-size:12px;color:hsl(var(--muted-foreground))}.wfb-input{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:13px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.wfb-input::placeholder{color:hsl(var(--muted-foreground) / .7)}.wfb-input:focus{outline:none;border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 3px hsl(var(--ring) / .08)}.wfb-input--error,.wfb-input--error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.wfb-field-error,.wfb-field-help{font-size:11px;line-height:1.4}.wfb-field-error{color:hsl(var(--destructive))}.wfb-field-help{color:hsl(var(--muted-foreground))}.wfb-textarea{resize:vertical;min-height:52px;line-height:1.5}.wfb-palette{display:flex;flex-direction:column;gap:12px;padding:16px 14px;border-right:1px solid hsl(var(--border));overflow-y:auto;background:hsl(var(--card))}.wfb-types{display:flex;flex-direction:column;gap:6px}.wfb-type{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.wfb-type:hover{border-color:hsl(var(--ring) / .3)}.wfb-type .icon{color:hsl(var(--muted-foreground))}.wfb-type--active{border-color:hsl(var(--ring) / .55);background:hsl(var(--accent))}.wfb-type--active .icon{color:#7c48f4}.wfb-type-text{display:flex;flex-direction:column;gap:1px;min-width:0}.wfb-type-name{font-size:13px;font-weight:550}.wfb-type-desc{font-size:11px;color:hsl(var(--muted-foreground))}.wfb-palette-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));cursor:grab;transition:border-color .12s,background .12s}.wfb-palette-item:hover{border-color:hsl(var(--ring) / .4);background:hsl(var(--accent))}.wfb-palette-item:active{cursor:grabbing}.wfb-grip{color:hsl(var(--muted-foreground) / .7)}.wfb-palette-item-text{font-size:13px;font-weight:500}.wfb-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s}.wfb-add:hover{background:hsl(var(--accent))}.wfb-hint{margin-top:auto;padding-top:10px;font-size:11.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.wfb-canvas{position:relative;min-width:0;height:100%;background:hsl(var(--canvas))}.wfb-canvas .react-flow{background:transparent}.wfb-node{display:flex;align-items:center;gap:10px;width:188px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .04),0 8px 24px -16px hsl(var(--foreground) / .2);transition:border-color .12s,box-shadow .12s}.wfb-node--selected{border-color:hsl(var(--ring) / .6);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.wfb-node-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:hsl(var(--secondary));color:#7c48f4}.wfb-node-icon--sm{width:24px;height:24px;border-radius:7px}.wfb-node-body{min-width:0;display:flex;flex-direction:column;gap:2px}.wfb-node-name{font-size:13px;font-weight:600;letter-spacing:-.01em;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wfb-node-desc{font-size:11px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wfb-handle{width:9px!important;height:9px!important;background:hsl(var(--background))!important;border:2px solid hsl(258 89% 62%)!important}.wfb-handle:hover{background:#7c48f4!important}.wfb-canvas .react-flow__controls{border-radius:10px;overflow:hidden;box-shadow:0 4px 16px -8px hsl(var(--foreground) / .25);border:1px solid hsl(var(--border))}.wfb-canvas .react-flow__controls-button{background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground))}.wfb-canvas .react-flow__controls-button:hover{background:hsl(var(--accent))}.wfb-canvas .react-flow__controls-button svg{fill:hsl(var(--foreground))}.wfb-canvas .react-flow__edge-path{stroke:hsl(var(--muted-foreground) / .55);stroke-width:1.5}.wfb-canvas .react-flow__edge.selected .react-flow__edge-path,.wfb-canvas .react-flow__edge:hover .react-flow__edge-path{stroke:#7c48f4}.wfb-canvas .react-flow__arrowhead *{fill:hsl(var(--muted-foreground) / .55)}.wfb-minimap{border:1px solid hsl(var(--border));border-radius:10px;overflow:hidden}.wfb-inspector{display:flex;flex-direction:column;gap:12px;padding:16px 14px;border-left:1px solid hsl(var(--border));overflow-y:auto;background:hsl(var(--card))}.wfb-inspector-head{display:flex;align-items:center;justify-content:space-between}.wfb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:7px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.wfb-icon-btn:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.wfb-inspector-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid hsl(var(--border))}.wfb-meta-key{font-size:12px;color:hsl(var(--muted-foreground))}.wfb-meta-val{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:2px 7px;border-radius:6px;background:hsl(var(--muted));color:hsl(var(--foreground))}.wfb-inspector-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:hsl(var(--muted-foreground));font-size:13px}.wfb-empty-icon{width:32px;height:32px;opacity:.4;margin-bottom:4px}.wfb-inspector-empty p{margin:0}.wfb-empty-sub{font-size:12px;color:hsl(var(--muted-foreground) / .8)}@media (max-width: 900px){.wfb-grid{grid-template-columns:220px minmax(0,1fr)}.wfb-inspector{display:none}}.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}}.skill-workspace{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:34px clamp(18px,4vw,54px) 44px;background:hsl(var(--panel))}.skill-workspace__intro{width:min(1180px,100%);margin:0 auto 32px}.skill-workspace__intro h1{margin:0;font-size:22px;font-weight:620;letter-spacing:-.025em}.skill-workspace__poll-error{width:min(1180px,100%);margin:0 auto 14px;padding:9px 11px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px}.skill-workspace__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1;min-height:0;gap:clamp(36px,5vw,72px);width:min(1180px,100%);margin:0 auto}.skill-candidate{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:transparent}.skill-candidate:nth-child(2):before{position:absolute;top:0;bottom:0;left:calc(clamp(36px,5vw,72px)/-2);width:1px;background:hsl(var(--border));content:""}.skill-candidate__header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 0 12px;border-bottom:1px solid hsl(var(--border))}.skill-candidate__header h2{margin:0;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:0}.skill-candidate__selected{padding:3px 7px;border-radius:999px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-size:10px}.skill-candidate__view{min-height:0;overflow-y:auto;padding-right:8px;scrollbar-gutter:stable;animation:skill-view-in .18s ease-out}.skill-candidate__status{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.4;text-align:left}.skill-candidate--succeeded .skill-candidate__status{color:#2a844f}.skill-candidate--failed .skill-candidate__status{color:hsl(var(--destructive))}.skill-candidate__status-icon{display:inline-grid;place-items:center;width:18px;height:18px}.skill-candidate__status-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.skill-candidate__spinner{animation:skill-spin .9s linear infinite}.skill-candidate__spinner circle{opacity:.2}.skill-candidate__duration{margin-left:auto;font-size:10px;color:hsl(var(--muted-foreground))}.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-candidate__error{margin:0 0 14px;padding:9px 10px;border-radius:7px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:11px;line-height:1.5}.skill-candidate__view-actions{display:flex;justify-content:flex-start;padding:4px 0 20px}.skill-candidate__preview-nav{display:flex;align-items:center;min-height:46px}.skill-candidate__back{display:inline-flex;align-items:center;gap:6px;padding:5px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-candidate__back:hover{color:hsl(var(--foreground))}.skill-candidate__back svg,.skill-action--preview svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.skill-candidate__result{padding:0 0 20px}.skill-candidate__summary{display:grid;grid-template-columns:1fr .55fr .7fr;gap:8px;margin-bottom:13px}.skill-candidate__summary>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:9px 10px;border-radius:8px;background:hsl(var(--muted) / .55)}.skill-candidate__summary span{color:hsl(var(--muted-foreground));font-size:9px;text-transform:uppercase;letter-spacing:.05em}.skill-candidate__summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:560}.skill-candidate__summary .is-valid{color:#2a844f}.skill-candidate__summary .is-invalid{color:hsl(var(--destructive))}.skill-candidate__description{margin:0 0 13px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-validation{margin-bottom:12px;font-size:11px;color:hsl(var(--muted-foreground))}.skill-validation summary{margin-bottom:6px;cursor:pointer;color:hsl(var(--foreground))}.skill-files{overflow:hidden;margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:9px}.skill-files__tabs{display:flex;gap:2px;overflow-x:auto;padding:5px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .34)}.skill-files__tabs button{flex:0 0 auto;max-width:180px;overflow:hidden;text-overflow:ellipsis;padding:4px 7px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.skill-files__tabs button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px hsl(var(--foreground) / .08)}.skill-files__content{margin:0;overflow-x:auto;padding:12px;background:hsl(var(--background));color:hsl(var(--foreground));font:10.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.skill-files__truncated{margin:0;padding:8px 12px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:10px}.skill-files__unavailable{padding:20px 12px;color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.skill-candidate__actions{display:flex;flex-wrap:wrap;gap:7px}.skill-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11px;text-decoration:none;cursor:pointer}.skill-action:hover:not(:disabled){background:hsl(var(--accent))}.skill-action:disabled{cursor:default;opacity:.42}.skill-action--select{border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.skill-action--select[aria-pressed=true]{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-action--preview{gap:7px;border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.skill-publish-form{display:flex;flex-direction:column;gap:9px;margin-top:12px;padding:11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--muted) / .28)}.skill-publish-form label{display:flex;flex-direction:column;gap:4px;color:hsl(var(--muted-foreground));font-size:10px}.skill-publish-form input{min-width:0;height:31px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11px}.skill-publish-form input:focus{border-color:hsl(var(--primary) / .55)}.skill-publish-form__optional{display:grid;grid-template-columns:1fr 1fr;gap:8px}@keyframes skill-spin{to{transform:rotate(360deg)}}@keyframes skill-view-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 780px){.skill-workspace{overflow-y:auto;padding:24px 12px 32px}.skill-workspace__grid{flex:none;grid-template-columns:1fr;gap:32px}.skill-candidate{display:block}.skill-candidate__view{overflow:visible;padding-right:0}.skill-candidate:nth-child(2){padding-top:32px;border-top:1px solid hsl(var(--border))}.skill-candidate:nth-child(2):before{display:none}.skill-workspace__intro h1{font-size:20px}.skill-publish-form__optional{grid-template-columns:1fr}.skill-action{min-height:44px}}@media (prefers-reduced-motion: reduce){.skill-candidate__view,.skill-candidate__spinner{animation:none}}.ui-carousel{position:relative}.ui-carousel__viewport{overflow:hidden;touch-action:pan-y pinch-zoom}.ui-carousel__track{display:flex;margin-left:-12px}.ui-carousel__track.is-vertical{flex-direction:column;margin-top:-12px;margin-left:0}.ui-carousel__item{min-width:0;flex:0 0 100%;padding-left:12px}.ui-carousel__item.is-vertical{padding-top:12px;padding-left:0}.ui-carousel__control{position:absolute;z-index:2;top:50%;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background) / .92);color:hsl(var(--foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;transform:translateY(-50%);transition:background-color .14s ease,border-color .14s ease,opacity .14s ease;touch-action:manipulation}.ui-carousel__control--previous{left:8px}.ui-carousel__control--next{right:8px}.ui-carousel__control:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.ui-carousel__control:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:2px}.ui-carousel__control:disabled{cursor:default;opacity:.34}.ui-carousel__control svg{width:15px;height:15px}.ui-carousel__control.is-vertical{left:50%;transform:translate(-50%) rotate(90deg)}.ui-carousel__control--previous.is-vertical{top:8px}.ui-carousel__control--next.is-vertical{top:auto;right:auto;bottom:8px}@media (prefers-reduced-motion: reduce){.ui-carousel__control{transition:none}}.new-chat-feature-carousel{position:absolute;bottom:10px;left:50%;display:grid;grid-template-columns:28px minmax(0,230px) 28px;align-items:center;column-gap:12px;width:min(310px,calc(100% - 32px));transform:translate(-50%)}.new-chat-feature-carousel .ui-carousel__viewport{grid-column:2;grid-row:1;min-width:0}.new-chat-feature-carousel .ui-carousel__track{margin-left:-10px}.new-chat-feature-carousel .ui-carousel__item{padding-left:10px}.new-chat-feature-carousel .ui-carousel__control{position:static;grid-row:1;border:0;background:transparent;box-shadow:none;transform:none}.new-chat-feature-carousel .ui-carousel__control:hover:not(:disabled){border:0;background:transparent}.new-chat-feature-carousel .ui-carousel__control--previous{grid-column:1}.new-chat-feature-carousel .ui-carousel__control--next{grid-column:3}.new-chat-feature-carousel__close{position:absolute;z-index:3;top:4px;left:41px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-feature-carousel__close:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-feature-carousel__close:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:1px}.new-chat-feature-carousel__close svg{width:14px;height:14px}.new-chat-feature-card{position:relative;display:flex;height:104px;align-items:flex-end;overflow:hidden;padding:12px 28px 12px 12px;border:0;border-radius:12px;background:hsl(var(--muted) / .58);color:hsl(var(--foreground));-webkit-user-select:none;user-select:none}.new-chat-feature-card>div{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}.new-chat-feature-card__copy{max-width:118px}.new-chat-feature-card__illustration{position:absolute;top:28px;right:8px;width:86px;height:64px;fill:none;stroke:hsl(var(--foreground) / .44);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.new-chat-feature-card__illustration-connectors{stroke:hsl(var(--foreground) / .3)}.new-chat-feature-card__illustration-surfaces{fill:hsl(var(--panel) / .82)}.new-chat-feature-card__illustration-details{fill:none}.new-chat-feature-card__illustration-dot{fill:hsl(var(--foreground) / .4);stroke:none}.new-chat-feature-card strong{font-size:13px;font-weight:600;line-height:1.35}.new-chat-feature-card>div>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}@media (max-width: 720px){.new-chat-feature-carousel{grid-template-columns:28px minmax(0,1fr) 28px;column-gap:8px;width:min(310px,calc(100% - 24px))}.new-chat-feature-carousel__close{left:37px}}@media (max-width: 440px){.new-chat-feature-carousel{width:calc(100% - 16px)}}@media (max-height: 640px){.new-chat-feature-carousel{grid-template-columns:28px minmax(0,1fr) 28px;column-gap:8px;width:min(280px,calc(100% - 24px))}}@media (prefers-reduced-motion: reduce){.new-chat-feature-carousel__close{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));min-width:0}.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;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{overflow-wrap:anywhere}.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:grid;gap:5px;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li,.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}.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-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}}.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}.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 .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:18px;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;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:12.5px;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:12px;padding:0 24px 80px}.aw-basic-stack,.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-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-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:16px;font-weight:700}.aw-case-filters{width:fit-content;gap:3px;margin-bottom:14px;padding:3px;border-radius:8px;background:hsl(var(--secondary) / .62)}.aw-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.aw-case-summary>button,.aw-case-note{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-note{margin-bottom:14px;padding:12px 14px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.45}.aw-case-search{width:100%;height:38px;box-sizing:border-box;display:flex;align-items:center;gap:9px;margin-bottom:14px;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:12px}.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:28px;padding:0 10px;border-radius:6px;font-size:11.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:hidden;border:1px solid hsl(var(--border));border-radius:12px}.aw-case-row{min-height:86px;display:grid;grid-template-columns:minmax(190px,.78fr) minmax(260px,1.32fr) minmax(150px,.52fr);align-items:start;gap:14px;padding:14px 16px;border-top:1px solid hsl(var(--border));font-size:12px}.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:10.5px;font-weight:600}.aw-case-text,.aw-case-output,.aw-case-meta{min-width:0;display:flex;flex-direction:column;gap:5px}.aw-case-title-line,.aw-case-meta-top{min-width:0;display:flex;align-items:center;gap:8px}.aw-case-title-line strong{min-width:0}.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:10.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-meta{align-items:flex-start}.aw-case-meta-top{width:100%;justify-content:space-between}.aw-case-tag{width:fit-content;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:650}.aw-case-tag{background:hsl(var(--secondary));color:hsl(var(--muted-foreground));font-weight:540}.aw-case-delete{width:26px;height:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--destructive) / .2);border-radius:7px;background:transparent;color:hsl(var(--destructive));cursor:pointer}.aw-case-delete:hover:not(:disabled){background:hsl(var(--destructive) / .08)}.aw-case-delete:disabled{cursor:default;opacity:.42}.aw-case-delete svg{width:13px;height:13px}.aw-case-tag.is-good{background:#3c86661a;color:#28674c}.aw-case-tag.is-bad{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.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-option-panel,.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-option-content{position:relative;overflow:hidden;border-radius:11px}.aw-option-list{display:flex;flex-direction:column;gap:10px}.aw-option-glass{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--background) / .68),hsl(var(--background) / .5));-webkit-backdrop-filter:blur(10px) saturate(88%);backdrop-filter:blur(10px) saturate(88%);color:hsl(var(--foreground) / .72);font-size:12.5px;font-weight:600;letter-spacing:.08em}.aw-option-list>label{min-height:66px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid hsl(var(--border));border-radius:11px;color:hsl(var(--muted-foreground));opacity:.68}.aw-option-list input{width:16px;height:16px}.aw-option-list label>span{min-width:0;display:flex;flex-direction:column;gap:4px}.aw-option-list strong{color:hsl(var(--foreground));font-size:12.5px}.aw-option-list small{font-size:11.5px;line-height:1.45}.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{grid-template-columns:minmax(160px,.86fr) minmax(200px,1.14fr) 104px}}@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,.aw-case-summary,.aw-case-row{grid-template-columns:minmax(0,1fr)}.aw-case-meta{align-items:flex-start}.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}}@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)}}.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));box-shadow:0 1px 2px hsl(var(--foreground) / .035)}.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-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{width:100%;display:flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground))}.my-agent-created-at dt,.my-agent-region dt{color:hsl(var(--foreground));font-weight:600}.my-agent-created-at dd,.my-agent-region dd{color:hsl(var(--muted-foreground));font-weight:400}.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-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}}.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{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-icon{width:36px;height:36px;flex:0 0 36px;color:hsl(var(--foreground))}.application-card-copy{min-width:0}.application-card-copy h2{margin:1px 0 0;font-size:15px;font-weight:620;line-height:1.4}.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}}.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:min(100%,760px);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:12px;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:36px;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:12.5px;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-field-help{min-height:17px;margin-top:5px;color:hsl(var(--muted-foreground));font-size:11px;line-height:1.45}.github-field-error{margin-top:3px;color:hsl(var(--destructive));font-size:11.5px;line-height:1.45}.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:12px;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:4px;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:11.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}}.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)}.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__skill-icon path:first-child{fill:currentColor;stroke:none}.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__menu{position:absolute;z-index:43;top:calc(100% + 7px);left:0;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__beta{flex:0 0 auto;padding:1px 5px;border:1px solid hsl(var(--border));border-radius:999px;color:hsl(var(--muted-foreground));font-size:9px;font-weight:500;line-height:1.2}.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{position:absolute;z-index:44;top:calc(100% + 7px);left:294px;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 (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 2px 6px;border:0;border-radius:7px;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:15px;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-icon,.new-chat-agent-picker__trigger-chevron{display:block}.new-chat-agent-picker__trigger-icon{width:17px;height:17px;flex:0 0 auto}.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}}.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-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}.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}}.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:inset 0 1px hsl(var(--background)),0 8px 28px hsl(var(--foreground) / .045)}.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:inset 0 1px hsl(var(--background)),0 8px 28px hsl(var(--foreground) / .045)}.pp-env-section,.pp-progress-section,.pp-deploy-result,.pp-config-scroll>.pp-error{width:100%;margin-inline:0}.pp-config-label{margin:0 -18px 12px;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-env-head{margin:0 -18px 12px;padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.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-github-cicd-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.pp-github-cicd-copy{margin:-4px 0 12px;color:hsl(var(--muted-foreground));font-size:12.5px;line-height:1.5}.pp-github-cicd-status{display:inline-flex;align-items:center;gap:5px;color:hsl(var(--primary));font-size:11.5px;font-weight:560;white-space:nowrap}.pp-github-cicd-status .pp-ic{width:13px;height:13px}.pp-github-cicd-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr);gap:10px}.pp-github-cicd-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:hsl(var(--muted-foreground));font-size:12.5px}.pp-github-cicd-field:first-child{grid-column:1 / -1}.pp-github-cicd-field>span{color:hsl(var(--foreground));font-weight:560}.pp-github-cicd-submit{grid-column:1 / -1;align-self:end;min-width:0;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid hsl(var(--primary));border-radius:6px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font:inherit;font-size:12.5px;font-weight:620;cursor:pointer;white-space:nowrap}.pp-github-cicd-submit:disabled{opacity:.52;cursor:default}.pp-github-cicd-result,.pp-github-cicd-error{margin-top:14px;padding-top:12px;border-top:1px solid hsl(var(--border) / .72)}.pp-github-cicd-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pp-github-cicd-result-head strong,.pp-github-cicd-error strong{color:hsl(var(--foreground));font-size:13px;font-weight:650}.pp-github-cicd-result-head span{color:hsl(var(--primary));font-size:11.5px;font-weight:620}.pp-github-cicd-result-grid,.pp-github-cicd-error dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0}.pp-github-cicd-result-grid div,.pp-github-cicd-error dl div{min-width:0}.pp-github-cicd-result dt,.pp-github-cicd-error dt{margin-bottom:3px;color:hsl(var(--muted-foreground));font-size:11.5px}.pp-github-cicd-result dd,.pp-github-cicd-error dd{margin:0;overflow-wrap:anywhere;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.pp-github-cicd-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.pp-github-cicd-links a{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:5px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12px;font-weight:600;text-decoration:none}.pp-github-cicd-error{color:hsl(var(--destructive))}.pp-github-cicd-error p{margin:6px 0 10px;color:hsl(var(--destructive));font-size:12.5px;line-height:1.5}.pp-github-cicd-error dd{color:hsl(var(--destructive))}.pp-github-cicd-bound-note{margin:10px 0 0;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.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-channel-fields input,.pp-github-cicd-field input,.pp-instance-fields input,.pp-network-fields input,.pp-env-row input{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-channel-fields input:focus,.pp-github-cicd-field input:focus,.pp-instance-fields input:focus,.pp-network-fields input:focus,.pp-env-row input:focus{border-color:hsl(var(--ring) / .55);box-shadow:0 0 0 2px hsl(var(--ring) / .08)}.pp-config-select:disabled,.pp-channel-fields input:disabled,.pp-github-cicd-field input:disabled,.pp-instance-fields input:disabled,.pp-network-fields input:disabled,.pp-env-row input: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-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-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:31;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{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-network-check 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{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{border-color:hsl(var(--primary));background:hsl(var(--primary))}.pp-network-check 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 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-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-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-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-github-cicd-form,.pp-github-cicd-result-grid,.pp-github-cicd-error dl{grid-template-columns:minmax(0,1fr)}.pp-github-cicd-submit{width:100%}.pp-network-layout{grid-template-columns:minmax(0,1fr);gap:16px}.pp-env-section{width:100%}}.ic-root{display:flex;flex-direction:column;height:100%;min-height:0}.ic-body{flex:1;min-height:0;display:flex}.ic-chat{flex:0 0 380px;width:380px;min-width:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid hsl(var(--border))}.ic-transcript{flex:1;min-height:0;overflow-y:auto;padding:24px 20px 12px}.ic-turn{display:flex;gap:10px;max-width:760px;margin:0 auto 16px}.ic-turn:last-child{margin-bottom:0}.ic-turn--assistant{justify-content:flex-start}.ic-turn--user{justify-content:flex-end}.ic-avatar{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:hsl(var(--secondary));color:#7c48f4}.ic-avatar-icon{width:17px;height:17px}.ic-bubble{max-width:78%;padding:11px 15px;border-radius:16px;font-size:14px;line-height:1.6;word-break:break-word}.ic-turn--user .ic-bubble{white-space:pre-wrap}.ic-turn--assistant .ic-bubble{background:hsl(var(--secondary));color:hsl(var(--foreground));border-top-left-radius:5px}.ic-turn--user .ic-bubble{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-top-right-radius:5px}.ic-bubble .md>:first-child{margin-top:0}.ic-bubble .md>:last-child{margin-bottom:0}.ic-bubble--typing{display:inline-flex;align-items:center;gap:4px;padding:14px 16px}.ic-dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground));animation:ic-bounce 1.2s ease-in-out infinite}.ic-dot:nth-child(2){animation-delay:.16s}.ic-dot:nth-child(3){animation-delay:.32s}@keyframes ic-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ic-error{flex-shrink:0;display:flex;align-items:center;gap:8px;max-width:760px;width:100%;margin:0 auto;padding:9px 14px;border-radius:10px;background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));font-size:13px;line-height:1.45}.ic-error-icon{width:15px;height:15px;flex-shrink:0}.ic-composer{flex-shrink:0;max-width:760px;width:100%;margin:0 auto;padding:8px 20px 18px}.ic-composer-box{display:flex;align-items:flex-end;gap:6px;padding:6px 6px 6px 12px;border:1px solid hsl(var(--border));border-radius:24px;background:hsl(var(--background));transition:border-color .15s,box-shadow .15s}.ic-composer-box:focus-within{border-color:hsl(var(--ring) / .4);box-shadow:0 0 0 3px hsl(var(--ring) / .08)}.ic-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:hsl(var(--foreground));font:inherit;font-size:15px;line-height:1.5;padding:8px 2px;max-height:160px;overflow-y:auto}.ic-input::placeholder{color:hsl(var(--muted-foreground))}.ic-input:disabled{opacity:.6}.ic-send{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;transition:opacity .15s,transform .1s}.ic-send-icon{width:17px;height:17px}.ic-send:hover:not(:disabled){opacity:.85}.ic-send:active:not(:disabled){transform:scale(.94)}.ic-send:disabled{opacity:.3;cursor:default}.ic-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}.ic-composer-hint{flex:1;text-align:center;font-size:11px;color:hsl(var(--muted-foreground))}.ic-ab-toggle{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.ic-ab-checkbox{position:absolute;opacity:0;width:0;height:0}.ic-ab-track{position:relative;display:inline-block;width:30px;height:17px;border-radius:999px;background:hsl(var(--muted-foreground) / .35);transition:background .15s}.ic-ab-thumb{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.ic-ab-checkbox:checked+.ic-ab-track{background:hsl(var(--primary))}.ic-ab-checkbox:checked+.ic-ab-track .ic-ab-thumb{transform:translate(13px)}.ic-ab-checkbox:disabled+.ic-ab-track{opacity:.5}.ic-ab-checkbox:focus-visible+.ic-ab-track{box-shadow:0 0 0 3px hsl(var(--ring) / .25)}.ic-ab-label{font-size:12px;font-weight:600;color:hsl(var(--foreground))}.ic-compare{flex:1;min-height:0;display:flex}.ic-compare-divider{flex:0 0 1px;background:hsl(var(--border))}.ic-pane{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column}.ic-pane-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background))}.ic-pane-title{display:flex;align-items:center;gap:8px;min-width:0}.ic-pane-tag{flex-shrink:0;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;color:#fff}.ic-pane-tag--a{background:#7c48f4}.ic-pane-tag--b{background:#0da2e7}.ic-pane-model{font-size:12px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-adopt{flex-shrink:0;padding:6px 12px;border:none;border-radius:8px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.ic-adopt:hover:not(:disabled){opacity:.85}.ic-adopt:active:not(:disabled){transform:scale(.96)}.ic-adopt:disabled{opacity:.4;cursor:default}.ic-pane-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ic-pane-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:13px;color:hsl(var(--muted-foreground))}.ic-pane-spinner{width:22px;height:22px;color:#7c48f4;animation:ic-spin .9s linear infinite}@keyframes ic-spin{to{transform:rotate(360deg)}}.ic-pane-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:13px;color:hsl(var(--muted-foreground))}.ic-preview{flex:1 1 0;min-width:0;display:flex;flex-direction:column;min-height:0;background:hsl(var(--muted) / .35)}.ic-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;text-align:center}.ic-preview-empty-icon{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:#7c48f414;color:#7c48f4;margin-bottom:4px}.ic-preview-empty-glyph{width:30px;height:30px}.ic-preview-empty-spark{position:absolute;top:9px;right:9px;width:14px;height:14px}.ic-preview-empty-title{font-size:15px;font-weight:650;letter-spacing:-.01em;color:hsl(var(--foreground))}.ic-preview-empty-sub{font-size:13px;line-height:1.55;color:hsl(var(--muted-foreground));max-width:240px}@media (max-width: 920px){.ic-body{flex-direction:column}.ic-preview{width:100%;border-left:none;border-top:1px solid hsl(var(--border));min-height:320px}}@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}}}.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:inset 0 1px hsl(var(--background)),0 8px 28px hsl(var(--foreground) / .045)}.cw-sec-head{padding:13px 18px;border-bottom:1px solid hsl(var(--border) / .68);background:hsl(var(--muted) / .34)}.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>: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{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{display:flex;flex-direction:column;gap:8px}.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:30;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-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-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-label{min-width:0;line-height:1.4;overflow-wrap:anywhere}.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.is-error{border-color:hsl(var(--destructive) / .6);box-shadow:0 0 0 3px hsl(var(--destructive) / .1)}.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 .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(124px,.34fr) minmax(0,1fr);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-desc{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-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}}.tpl-root{flex:1;min-height:0;display:flex;flex-direction:column}.tpl-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;padding:6px 10px;border:none;border-radius:8px;background:none;color:hsl(var(--muted-foreground));font:inherit;font-size:13px;cursor:pointer;transition:background .12s,color .12s}.tpl-back:hover{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.tpl-back .icon{width:15px;height:15px}.tpl-scroll{flex:1;min-height:0;overflow-y:auto;padding:24px 28px 40px}.tpl-scroll--detail{padding-left:14px;padding-right:14px}.tpl-head{max-width:720px;margin:8px auto 28px;text-align:center}.tpl-title{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em;color:hsl(var(--foreground))}.tpl-sub{margin:8px 0 0;font-size:14px;color:hsl(var(--muted-foreground))}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-width:1100px;margin:0 auto}.tpl-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;height:100%;padding:16px 16px 18px;text-align:left;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;font:inherit;transition:background .14s,border-color .14s}.tpl-card:hover{background:hsl(var(--foreground) / .05)}.tpl-card:active{background:hsl(var(--foreground) / .08)}.tpl-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:hsl(var(--muted-foreground))}.tpl-card-icon .icon{width:20px;height:20px}.tpl-card-name{font-size:14px;font-weight:600;letter-spacing:-.01em;color:hsl(var(--foreground))}.tpl-card-desc{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.tpl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tpl-tags--detail{margin-top:0}.tpl-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid hsl(var(--border));border-radius:999px;background:none;color:hsl(var(--muted-foreground));font-size:11.5px;white-space:nowrap}.tpl-tag-icon{width:12px;height:12px;flex-shrink:0}.tpl-detail{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.tpl-detail-head{display:flex;align-items:flex-start;gap:14px}.tpl-detail-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid hsl(var(--border));border-radius:12px;background:none;color:hsl(var(--muted-foreground))}.tpl-detail-icon .icon{width:22px;height:22px}.tpl-detail-headtext{min-width:0}.tpl-detail-name{font-size:20px;font-weight:650;letter-spacing:-.02em;color:hsl(var(--foreground))}.tpl-detail-desc{margin-top:4px;font-size:13.5px;line-height:1.6;color:hsl(var(--muted-foreground))}.tpl-field{display:flex;flex-direction:column;gap:8px}.tpl-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.tpl-input{width:100%;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:14px;transition:border-color .15s}.tpl-input:focus{outline:none;border-color:hsl(var(--ring) / .4)}.tpl-instruction{margin:0;padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--foreground) / .03);color:hsl(var(--foreground));font-size:13px;line-height:1.7;white-space:pre-wrap}.tpl-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.tpl-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid hsl(var(--border));font-size:13px}.tpl-meta-key{flex-shrink:0;color:hsl(var(--muted-foreground))}.tpl-meta-val{text-align:right;word-break:break-word;color:hsl(var(--foreground))}.tpl-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.tpl-subagents{display:flex;flex-direction:column;gap:10px}.tpl-subagent{padding:12px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background))}.tpl-subagent-top{display:flex;align-items:center;gap:8px}.tpl-subagent-name{font-size:13.5px;font-weight:600;color:hsl(var(--foreground))}.tpl-subagent-tools{margin-left:auto;font-size:11px;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tpl-subagent-desc{margin-top:5px;font-size:12.5px;line-height:1.55;color:hsl(var(--muted-foreground))}.tpl-create{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;margin-top:4px;padding:11px 20px;border:none;border-radius:12px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.tpl-create:hover{opacity:.88}.tpl-create:active{transform:scale(.98)}.tpl-create .icon{width:17px;height:17px}@media (max-width: 560px){.tpl-meta-grid{grid-template-columns:1fr}.tpl-scroll{padding:20px 16px 32px}}.wfb{flex:1;min-height:0;display:flex;flex-direction:column;height:100%}.wfb-create{position:absolute;top:14px;right:14px;z-index:5;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid transparent;border-radius:8px;background:hsl(var(--foreground));color:hsl(var(--background));font:inherit;font-size:13px;font-weight:550;cursor:pointer;box-shadow:0 4px 16px -8px hsl(var(--foreground) / .4);transition:opacity .15s,transform .1s}.wfb-create:hover:not(:disabled){opacity:.88}.wfb-create:active:not(:disabled){transform:scale(.97)}.wfb-create:disabled{opacity:.4;cursor:default}.wfb-grid{flex:1;min-height:0;display:grid;grid-template-columns:248px minmax(0,1fr) 288px}.wfb-section-label{margin:4px 0 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.wfb-field{display:flex;flex-direction:column;gap:5px}.wfb-field-label{font-size:12px;color:hsl(var(--muted-foreground))}.wfb-input{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:8px 10px;font:inherit;font-size:13px;background:hsl(var(--background));color:hsl(var(--foreground));transition:border-color .12s,box-shadow .12s}.wfb-input::placeholder{color:hsl(var(--muted-foreground) / .7)}.wfb-input:focus{outline:none;border-color:hsl(var(--ring) / .5);box-shadow:0 0 0 3px hsl(var(--ring) / .08)}.wfb-input--error,.wfb-input--error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 3px hsl(var(--destructive) / .08)}.wfb-field-error,.wfb-field-help{font-size:11px;line-height:1.4}.wfb-field-error{color:hsl(var(--destructive))}.wfb-field-help{color:hsl(var(--muted-foreground))}.wfb-textarea{resize:vertical;min-height:52px;line-height:1.5}.wfb-palette{display:flex;flex-direction:column;gap:12px;padding:16px 14px;border-right:1px solid hsl(var(--border));overflow-y:auto;background:hsl(var(--card))}.wfb-types{display:flex;flex-direction:column;gap:6px}.wfb-type{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.wfb-type:hover{border-color:hsl(var(--ring) / .3)}.wfb-type .icon{color:hsl(var(--muted-foreground))}.wfb-type--active{border-color:hsl(var(--ring) / .55);background:hsl(var(--accent))}.wfb-type--active .icon{color:#7c48f4}.wfb-type-text{display:flex;flex-direction:column;gap:1px;min-width:0}.wfb-type-name{font-size:13px;font-weight:550}.wfb-type-desc{font-size:11px;color:hsl(var(--muted-foreground))}.wfb-palette-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));cursor:grab;transition:border-color .12s,background .12s}.wfb-palette-item:hover{border-color:hsl(var(--ring) / .4);background:hsl(var(--accent))}.wfb-palette-item:active{cursor:grabbing}.wfb-grip{color:hsl(var(--muted-foreground) / .7)}.wfb-palette-item-text{font-size:13px;font-weight:500}.wfb-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s}.wfb-add:hover{background:hsl(var(--accent))}.wfb-hint{margin-top:auto;padding-top:10px;font-size:11.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.wfb-canvas{position:relative;min-width:0;height:100%;background:hsl(var(--canvas))}.wfb-canvas .react-flow{background:transparent}.wfb-node{display:flex;align-items:center;gap:10px;width:188px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));box-shadow:0 1px 2px hsl(var(--foreground) / .04),0 8px 24px -16px hsl(var(--foreground) / .2);transition:border-color .12s,box-shadow .12s}.wfb-node--selected{border-color:hsl(var(--ring) / .6);box-shadow:0 0 0 3px hsl(var(--ring) / .12)}.wfb-node-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:hsl(var(--secondary));color:#7c48f4}.wfb-node-icon--sm{width:24px;height:24px;border-radius:7px}.wfb-node-body{min-width:0;display:flex;flex-direction:column;gap:2px}.wfb-node-name{font-size:13px;font-weight:600;letter-spacing:-.01em;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wfb-node-desc{font-size:11px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wfb-handle{width:9px!important;height:9px!important;background:hsl(var(--background))!important;border:2px solid hsl(258 89% 62%)!important}.wfb-handle:hover{background:#7c48f4!important}.wfb-canvas .react-flow__controls{border-radius:10px;overflow:hidden;box-shadow:0 4px 16px -8px hsl(var(--foreground) / .25);border:1px solid hsl(var(--border))}.wfb-canvas .react-flow__controls-button{background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground))}.wfb-canvas .react-flow__controls-button:hover{background:hsl(var(--accent))}.wfb-canvas .react-flow__controls-button svg{fill:hsl(var(--foreground))}.wfb-canvas .react-flow__edge-path{stroke:hsl(var(--muted-foreground) / .55);stroke-width:1.5}.wfb-canvas .react-flow__edge.selected .react-flow__edge-path,.wfb-canvas .react-flow__edge:hover .react-flow__edge-path{stroke:#7c48f4}.wfb-canvas .react-flow__arrowhead *{fill:hsl(var(--muted-foreground) / .55)}.wfb-minimap{border:1px solid hsl(var(--border));border-radius:10px;overflow:hidden}.wfb-inspector{display:flex;flex-direction:column;gap:12px;padding:16px 14px;border-left:1px solid hsl(var(--border));overflow-y:auto;background:hsl(var(--card))}.wfb-inspector-head{display:flex;align-items:center;justify-content:space-between}.wfb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:7px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:background .12s,color .12s}.wfb-icon-btn:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.wfb-inspector-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid hsl(var(--border))}.wfb-meta-key{font-size:12px;color:hsl(var(--muted-foreground))}.wfb-meta-val{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:2px 7px;border-radius:6px;background:hsl(var(--muted));color:hsl(var(--foreground))}.wfb-inspector-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:hsl(var(--muted-foreground));font-size:13px}.wfb-empty-icon{width:32px;height:32px;opacity:.4;margin-bottom:4px}.wfb-inspector-empty p{margin:0}.wfb-empty-sub{font-size:12px;color:hsl(var(--muted-foreground) / .8)}@media (max-width: 900px){.wfb-grid{grid-template-columns:220px minmax(0,1fr)}.wfb-inspector{display:none}}.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}}.skill-workspace{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:34px clamp(18px,4vw,54px) 44px;background:hsl(var(--panel))}.skill-workspace__intro{width:min(1180px,100%);margin:0 auto 32px}.skill-workspace__intro h1{margin:0;font-size:22px;font-weight:620;letter-spacing:-.025em}.skill-workspace__poll-error{width:min(1180px,100%);margin:0 auto 14px;padding:9px 11px;border-radius:8px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:12px}.skill-workspace__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1;min-height:0;gap:clamp(36px,5vw,72px);width:min(1180px,100%);margin:0 auto}.skill-candidate{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:transparent}.skill-candidate:nth-child(2):before{position:absolute;top:0;bottom:0;left:calc(clamp(36px,5vw,72px)/-2);width:1px;background:hsl(var(--border));content:""}.skill-candidate__header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 0 12px;border-bottom:1px solid hsl(var(--border))}.skill-candidate__header h2{margin:0;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:0}.skill-candidate__selected{padding:3px 7px;border-radius:999px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-size:10px}.skill-candidate__view{min-height:0;overflow-y:auto;padding-right:8px;scrollbar-gutter:stable;animation:skill-view-in .18s ease-out}.skill-candidate__status{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:0;color:hsl(var(--muted-foreground));font-size:13px;line-height:1.4;text-align:left}.skill-candidate--succeeded .skill-candidate__status{color:#2a844f}.skill-candidate--failed .skill-candidate__status{color:hsl(var(--destructive))}.skill-candidate__status-icon{display:inline-grid;place-items:center;width:18px;height:18px}.skill-candidate__status-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.skill-candidate__spinner{animation:skill-spin .9s linear infinite}.skill-candidate__spinner circle{opacity:.2}.skill-candidate__duration{margin-left:auto;font-size:10px;color:hsl(var(--muted-foreground))}.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-candidate__error{margin:0 0 14px;padding:9px 10px;border-radius:7px;background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));font-size:11px;line-height:1.5}.skill-candidate__view-actions{display:flex;justify-content:flex-start;padding:4px 0 20px}.skill-candidate__preview-nav{display:flex;align-items:center;min-height:46px}.skill-candidate__back{display:inline-flex;align-items:center;gap:6px;padding:5px 0;border:0;background:transparent;color:hsl(var(--muted-foreground));font:inherit;font-size:12px;cursor:pointer}.skill-candidate__back:hover{color:hsl(var(--foreground))}.skill-candidate__back svg,.skill-action--preview svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.skill-candidate__result{padding:0 0 20px}.skill-candidate__summary{display:grid;grid-template-columns:1fr .55fr .7fr;gap:8px;margin-bottom:13px}.skill-candidate__summary>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:9px 10px;border-radius:8px;background:hsl(var(--muted) / .55)}.skill-candidate__summary span{color:hsl(var(--muted-foreground));font-size:9px;text-transform:uppercase;letter-spacing:.05em}.skill-candidate__summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:560}.skill-candidate__summary .is-valid{color:#2a844f}.skill-candidate__summary .is-invalid{color:hsl(var(--destructive))}.skill-candidate__description{margin:0 0 13px;color:hsl(var(--muted-foreground));font-size:12px;line-height:1.55}.skill-validation{margin-bottom:12px;font-size:11px;color:hsl(var(--muted-foreground))}.skill-validation summary{margin-bottom:6px;cursor:pointer;color:hsl(var(--foreground))}.skill-files{overflow:hidden;margin-bottom:14px;border:1px solid hsl(var(--border));border-radius:9px}.skill-files__tabs{display:flex;gap:2px;overflow-x:auto;padding:5px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .34)}.skill-files__tabs button{flex:0 0 auto;max-width:180px;overflow:hidden;text-overflow:ellipsis;padding:4px 7px;border:0;border-radius:5px;background:transparent;color:hsl(var(--muted-foreground));font:10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.skill-files__tabs button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 3px hsl(var(--foreground) / .08)}.skill-files__content{margin:0;overflow-x:auto;padding:12px;background:hsl(var(--background));color:hsl(var(--foreground));font:10.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.skill-files__truncated{margin:0;padding:8px 12px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:10px}.skill-files__unavailable{padding:20px 12px;color:hsl(var(--muted-foreground));font-size:11px;text-align:center}.skill-candidate__actions{display:flex;flex-wrap:wrap;gap:7px}.skill-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid hsl(var(--border));border-radius:7px;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11px;text-decoration:none;cursor:pointer}.skill-action:hover:not(:disabled){background:hsl(var(--accent))}.skill-action:disabled{cursor:default;opacity:.42}.skill-action--select{border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.skill-action--select[aria-pressed=true]{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.skill-action--preview{gap:7px;border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.skill-publish-form{display:flex;flex-direction:column;gap:9px;margin-top:12px;padding:11px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--muted) / .28)}.skill-publish-form label{display:flex;flex-direction:column;gap:4px;color:hsl(var(--muted-foreground));font-size:10px}.skill-publish-form input{min-width:0;height:31px;padding:0 8px;border:1px solid hsl(var(--border));border-radius:6px;outline:none;background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;font-size:11px}.skill-publish-form input:focus{border-color:hsl(var(--primary) / .55)}.skill-publish-form__optional{display:grid;grid-template-columns:1fr 1fr;gap:8px}@keyframes skill-spin{to{transform:rotate(360deg)}}@keyframes skill-view-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 780px){.skill-workspace{overflow-y:auto;padding:24px 12px 32px}.skill-workspace__grid{flex:none;grid-template-columns:1fr;gap:32px}.skill-candidate{display:block}.skill-candidate__view{overflow:visible;padding-right:0}.skill-candidate:nth-child(2){padding-top:32px;border-top:1px solid hsl(var(--border))}.skill-candidate:nth-child(2):before{display:none}.skill-workspace__intro h1{font-size:20px}.skill-publish-form__optional{grid-template-columns:1fr}.skill-action{min-height:44px}}@media (prefers-reduced-motion: reduce){.skill-candidate__view,.skill-candidate__spinner{animation:none}}.ui-carousel{position:relative}.ui-carousel__viewport{overflow:hidden;touch-action:pan-y pinch-zoom}.ui-carousel__track{display:flex;margin-left:-12px}.ui-carousel__track.is-vertical{flex-direction:column;margin-top:-12px;margin-left:0}.ui-carousel__item{min-width:0;flex:0 0 100%;padding-left:12px}.ui-carousel__item.is-vertical{padding-top:12px;padding-left:0}.ui-carousel__control{position:absolute;z-index:2;top:50%;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:1px solid hsl(var(--border));border-radius:999px;background:hsl(var(--background) / .92);color:hsl(var(--foreground));box-shadow:0 2px 8px hsl(var(--foreground) / .08);cursor:pointer;transform:translateY(-50%);transition:background-color .14s ease,border-color .14s ease,opacity .14s ease;touch-action:manipulation}.ui-carousel__control--previous{left:8px}.ui-carousel__control--next{right:8px}.ui-carousel__control:hover:not(:disabled){border-color:hsl(var(--foreground) / .2);background:hsl(var(--background))}.ui-carousel__control:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:2px}.ui-carousel__control:disabled{cursor:default;opacity:.34}.ui-carousel__control svg{width:15px;height:15px}.ui-carousel__control.is-vertical{left:50%;transform:translate(-50%) rotate(90deg)}.ui-carousel__control--previous.is-vertical{top:8px}.ui-carousel__control--next.is-vertical{top:auto;right:auto;bottom:8px}@media (prefers-reduced-motion: reduce){.ui-carousel__control{transition:none}}.new-chat-feature-carousel{position:absolute;bottom:10px;left:50%;display:grid;grid-template-columns:28px minmax(0,230px) 28px;align-items:center;column-gap:12px;width:min(310px,calc(100% - 32px));transform:translate(-50%)}.new-chat-feature-carousel .ui-carousel__viewport{grid-column:2;grid-row:1;min-width:0}.new-chat-feature-carousel .ui-carousel__track{margin-left:-10px}.new-chat-feature-carousel .ui-carousel__item{padding-left:10px}.new-chat-feature-carousel .ui-carousel__control{position:static;grid-row:1;border:0;background:transparent;box-shadow:none;transform:none}.new-chat-feature-carousel .ui-carousel__control:hover:not(:disabled){border:0;background:transparent}.new-chat-feature-carousel .ui-carousel__control--previous{grid-column:1}.new-chat-feature-carousel .ui-carousel__control--next{grid-column:3}.new-chat-feature-carousel__close{position:absolute;z-index:3;top:4px;left:41px;display:inline-grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:color .14s ease,background-color .14s ease}.new-chat-feature-carousel__close:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.new-chat-feature-carousel__close:focus-visible{outline:2px solid hsl(var(--ring) / .42);outline-offset:1px}.new-chat-feature-carousel__close svg{width:14px;height:14px}.new-chat-feature-card{position:relative;display:flex;height:104px;align-items:flex-end;overflow:hidden;padding:12px 28px 12px 12px;border:0;border-radius:12px;background:hsl(var(--muted) / .58);color:hsl(var(--foreground));-webkit-user-select:none;user-select:none}.new-chat-feature-card>div{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}.new-chat-feature-card__copy{max-width:118px}.new-chat-feature-card__illustration{position:absolute;top:28px;right:8px;width:86px;height:64px;fill:none;stroke:hsl(var(--foreground) / .44);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.new-chat-feature-card__illustration-connectors{stroke:hsl(var(--foreground) / .3)}.new-chat-feature-card__illustration-surfaces{fill:hsl(var(--panel) / .82)}.new-chat-feature-card__illustration-details{fill:none}.new-chat-feature-card__illustration-dot{fill:hsl(var(--foreground) / .4);stroke:none}.new-chat-feature-card strong{font-size:13px;font-weight:600;line-height:1.35}.new-chat-feature-card>div>span{color:hsl(var(--muted-foreground));font-size:11.5px;line-height:1.45}@media (max-width: 720px){.new-chat-feature-carousel{grid-template-columns:28px minmax(0,1fr) 28px;column-gap:8px;width:min(310px,calc(100% - 24px))}.new-chat-feature-carousel__close{left:37px}}@media (max-width: 440px){.new-chat-feature-carousel{width:calc(100% - 16px)}}@media (max-height: 640px){.new-chat-feature-carousel{grid-template-columns:28px minmax(0,1fr) 28px;column-gap:8px;width:min(280px,calc(100% - 24px))}}@media (prefers-reduced-motion: reduce){.new-chat-feature-carousel__close{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));min-width:0}.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;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{overflow-wrap:anywhere}.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:grid;gap:5px;max-height:min(180px,25vh);margin:0;padding:0 6px 0 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.studio-update-changelog li,.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}.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-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}}.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/index.html b/veadk/webui/index.html index c70fc4f3..671f25be 100644 --- a/veadk/webui/index.html +++ b/veadk/webui/index.html @@ -5,8 +5,8 @@ VeADK Studio - - + +